如何学习嵌入式系统(基于 ARM 平台)
网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这
篇文章能给他们以启发。也请大家不要轻易转载。
一、嵌入式系统的概念
着重理解“嵌入”的概念
主要从三个方面上来理解。
1、从硬件上,将基于 CPU 的处围器件,整合到 CPU 芯片内部,比如早期基于 X86 体系结构下
的计算机,CPU 只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的
都是靠外部的 16C550/2 的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到 CPU 内
部,还有 PC 机有显卡,而多数嵌入式处理器都带有 LCD 控制器,但其种意义上就相当于显卡。比
较高端的 ARM 类 Intel Xscale 架构下的 IXP 网络处理器 CPU 内部集成 PCI 控制器(可配成支持 4
个 PCI 从设备或配成自身为 CPI 从设备);还集成 3 个 NPE 网络处理器引擎,其中两个对应于两个
MAC 地址,可用于网关交换用,而另外一个 NPE 网络处理器引擎支持 DSL,只要外面再加个 PHY
芯片即可以实现 DSL 上网功能。IXP 系列最高主频可以达到 1.8G,支持 2G 内存,1G×10 或
10G×1 的以太网口或 Febre channel 的光通道。IXP 系列应该是目标基于 ARM 体系统结构下由
intel 进行整合后成 Xscale 内核的最高的处理器了。
2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到 ROM 中。而
在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如 WinCE 在内核定制时,
会有相应选择,其中就是 wordpad,PDF,MediaPlay 等等选择,如果我们选择了,在 CE 启动后,
就可以在界面中找到这些东西,如果是以前 PC 上将的 Windows 操作系统,多半的东西都需要我们
得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的 ROM 中就实现了一个真正的
“嵌入”。
以上的定义是我在 6、7 年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,
但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入
式系统是计算机范畴下的一门综合性学科
二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用 C 和汇
编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀
评论18