[16]_总结嵌入式系统的组成

来源:互联网 发布:人工智能最新消息 编辑:程序博客网 时间:2024/06/05 07:57

----------------------------------------------------我也是够懒了,现在才来补以前学习总结------------------------------------------------------------

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)


5. 后续....



原创粉丝点击