本文涉及的内容较多,个人知识水平有限,如有不当之处欢迎指正。
特别鸣谢:嵌入式大神 @tofulee ,@woshizmxin 对本文给出了一些很好的意见。
何为嵌入式
嵌入式是一个比较模糊的概念,也没有很准确的解释,其实也没必要一定找出个准确的解释来,并不影响学习。
参考了网上的资料,根据我的认识,可以认为嵌入式系统是一种完全嵌入到设备内部、解决特定问题的专用计算机。我们常用的电脑被认为是通用计算机,能安装各种软件,从而解决各种不同问题;而嵌入式系统是专用计算机,只负责解决特定问题,例如控制洗衣机、控制路由器等;其软件被称为固件,一般不会经常进行变动。
一般认为智能手机也是嵌入式系统,但是现在手机功能越来越强大,可以装各种软件,和电脑之间的界限也比较模糊了。例如平板电脑,既可以当成电脑,又可以当成大屏幕手机……当然,没必要过多的去纠结这些。
从上面的这个定义来看,单片机一般也属于嵌入式系统。
典型嵌入式系统的设计流程
这里举一个使用ARM9的CPU和Linux操作系统的、典型的嵌入式系统的设计流程。整个设计过程有点组装电脑的感觉,就是拼接各种模块,包括软件模块和硬件模块。