嵌入式系统开发入门一:必备基础知识
来源:互联网 发布:100以内的质数编程 编辑:程序博客网 时间:2024/05/22 11:55
版权声明:本文为博主原创文章,未经博主允许不得转载。
一个嵌入式系统(本文所说的嵌入式系统包括ARM,DSP,单片机等,不包括FPGA、CPLD等)的开发至少涉及到硬件和软件两个部分。
硬件之数字电路
首先硬件部分,一款嵌入式电路板上,绝大部分的数字电路,处理的也是数字信号,所以要有数字电路的基础,而电路理论又是数字电路的基础,所以电路理论和数字电路就成了学习嵌入式的基础,也是以后开发必备的技术。但是电路和数字电路都很简单,不需要刻意去学习,更不需要多深入。只需要认识高低电平即可。关于这部分硬件的设计几乎没有,举个例子,CPU的外围电路,晶振,复位,扩展的eeprom等等,都不需要我们设计,直接根据芯片手册上的典型应用连接即可,变化也很少。但是如果要让这些芯片工作起来,开发者需要读懂用户手册,重点看操作芯片的流程图和时序图。关于datasheet的阅读,我会在下一节详细介绍。
硬件之模拟电路
有了数字电路的基础,就可以设计一个微处理器的最小系统和驱动一些简单外设实现基本功能了,但这些还停留在初学者阶段,如果要成为高手,独立完成硬件的设计,模拟电子技术一定要好。一个嵌入式电路板需要采集外部的信号,做滤波和放大等处理,这就需要设计模拟电路。模拟电路离不开运放,电容……比数字电路复杂几万倍。不过现在也可以直接买回来组装,厂家也会提供典型应用:比如传感器,运放,AD单元。不过这写还是不够的,更多的场合需要自己设计。关于这部分内容,作者水平有限,无法做更多分析。
软件之C语言
c语言功底一定要好,结构体,指针等需要熟练使用。嵌入式说白了就是用C语言操作硬件,C语言的水平决定了程序的效率。无论如何,C语言一定要学好。且不推荐汇编语言。
软件之算法
算法是程序的灵魂,用C语言来实现。不同个功能是由算法来决定的。最常见的如按键扫描,数码港显示等。也包括时序图的实现。这些并不属于基本知识,对不同才场合需要不同的算法。
- 嵌入式系统开发入门一:必备基础知识
- 嵌入式系统开发入门一:必备基础知识
- VC入门必备--基础知识(一)
- VC入门必备--基础知识(一)
- 嵌入式硬件设计必备基础知识
- .net 微信开发前的必备基础知识(一)
- 嵌入式系统开发怎样快速度入门
- 嵌入式系统开发的入门总结
- 嵌入式Linux系统基础知识
- 嵌入式Linux系统基础知识
- 嵌入式系统基础知识
- 嵌入式系统基础知识
- 嵌入式系统基础知识
- 嵌入式Linux系统基础知识
- 补补嵌入式系统基础知识
- QML入门必备基础知识之
- 手游入门必备基础知识
- 嵌入式Linux系统设计--第六章:嵌入式Linux开发入门
- SSM(十一) 基于dubbo的分布式架构
- java中Calendar.DAY_OF_WEEK需要减一的原因
- vue2的全局变量的设置
- UidGenerator:百度出品的基于 Snowflake 算法的唯一 ID 生成器
- 如何复制shape,以及如何将shape调整到其他层
- 嵌入式系统开发入门一:必备基础知识
- delphi application的对话框为什么跑到主窗口后面 ?
- 函数调用(一)
- Selenium Webdriver 学习总结-Jenkins配置(八)
- 升级angular4 环境小坑
- bzoj 1709: [Usaco2007 Oct]Super Paintball超级弹珠
- Paxos算法原理与推导
- Scala的偏函数
- Android Studio运行java程序