欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

嵌入式系统组成的总结

程序员文章站 2022-05-25 12:38:23
嵌入式系统组成的总结 1. 一个嵌入式设备,比如手机、工控设备等,由这么几部分组成:bootloader、内核、根文件系统(包括应用程序); 2. 流程: bootloade...

嵌入式系统组成的总结

1. 一个嵌入式设备,比如手机、工控设备等,由这么几部分组成:bootloader、内核、根文件系统(包括应用程序);

2. 流程:

bootloader:去FLASH或SD卡读出内核到内存,所以bootloader需要具有读取FLASH或SD的能力,设置环境(譬如:初始化时钟、DDR、设置网卡(方便bootloader从网络下载内核))等等;

kernel: 内核也需要要具有操作硬件的能力,这就是我们说的内核驱动(linux驱动,是个驱动程序,不过它大多数是在一个框架上实现的)。譬如在应用层使用文件IO(open、read、write等)去操作(打开并读写)一个设备,则在驱动层也有一个驱动API和应用层的应用层API对应;驱动层的API是在一个特定框架上实现出来的对硬件操作的一种封装,所以驱动也可以理解为:驱动程序 = 软件框架 + 硬件的操作 。所以驱动工程师的最基本要求是:看原理图、看数据手册、会读写改寄存器。Linux驱动的学习主要是:学习软件框架

rootfs:应用程序都是放在根文件系统上的,当然还包括应用程序运行需要的各种动态库等!!

3.关于应用程序的开发:

(1)以c/c++*面的的一种开发....

(2)Qt或者是Android开发...

4. 关于一些SOC厂商的典型芯片:

(1)三星:S3C2440、S3C6410、S5PV210、exynos4412 (芯片资料最开放)

(2)TI : AM437x(高端)、AM335X (芯片资料较少,好像市面上的开发板也比较少,不过找工作我碰到过很多是使用过TI芯片,也因此错过了很多机会,fuck...),TI是工控芯片,因此用户很多....

(3)freescale:I.Max6 (没玩过)

(4)国产1:全志、瑞芯微、(资料不开放)

(5)国产2:海思 (目前工作中用到的就是海思的SDK)