文章所设计的嵌入式系统是一个类似于通用操作系统的系统平台,系统集成触摸输入,显示输出,存储于一体,系统有两大块构成,即底层的系统硬件和上层的操作系统组成,这两部分由bootloader连接起来。
Bootloader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备,建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便最终调用系统操作内核准备好正确的环境。
在嵌入式系统中,通常没有像BIOS那样的固件程序(注:有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载任务就完全由bootloader来完成。
嵌入式微处理器与通用微处理器最多的不同:前者存在一个片上系统,用户可以根据自己的需要设计属于自己的微处理器,但是必须同时考虑性能和低功耗的要求。
搭建嵌入式开发环境
①文章选用桌面版ubuntu系统,因为在虚拟机里系统运行慢,影响开发周期,文章课题是安装的windows与ubuntu双硬盘操作系统。
在搭建交叉编译环境上,课题安装的是arm-linux编译器,以便遵循ARM指令集以及thumb指令集。
②作者不用传统的方法通过USB下载程序(需要多次拷贝),采用TFTP服务器,它是一个传输文件的简单协议,基于UDP协议实现,能够很方便的在客户机与服务器之间进行简单文件传输。
③作者搭建nfs服务器,,需要nfs网络文件系统,将文件系统直接放在网上,启动的时候直接从网络上启动,减少存储的空间。(注:在开发系统的时候需要对文件系统进行调试,文件系统是整个系统最大的文件,一般有100多Mb,如果用传统的USB传输,速度慢,关键是喜欢书的内容一般情况下不会很完整)。