嵌入式系统的范围很广,指具有计算能力的非PC系统,即具有通常使用的个人电脑的全部或部分特质的专用计算机系统。如生活中的PDA、手机、电视机顶盒、数字电视、数码相机以及工业自动化仪表、**仪器等。它分硬件和软件两部分,硬件以嵌入式处理器(相当于PC的CPU)为核心,外扩ROM、RAM(相当于PC的硬盘、内存条)、输入/输出设备(PC的键盘/显示器)、各种通信接口(串口、USB、网络)等。软件由引导程序(PC的BIOS)、嵌入式操作系统(相当于PC机的Windows XP) 和应用程序(相当于在Windows XP上运行的程序,如金山词霸、Word等)3部分组成,或只有其中的某部分。
Linux是一个功能强大、稳定的操作系统,因源代码开放而被广泛地移植运行在各种处理器上,不仅作为PC机的桌面系统,而且也是嵌入式系统中*为常用的操作系统之一。这里指的就是嵌入式Linux,是运行在三星ARM9处理器S3C2410A上的嵌入式Linux.有别于PC上的桌面Linux。
ARM的学习。有了单片机或计算机结构的基本知识、(C语言的基础,上手ARM是比较容易的。学习ARM,首先应该了解一下ARM的体系结构,了解它有哪些版本、哪些模式、哪些寄存器、异常等。这方面的内容可以参考《ARM体系结构与编程》一书,这本书介绍的内容还是很全的,可以先快速地浏览,特别是汇编指令不需要记住,以后应用时再查。其次选定一种具体厂家型号的ARM处理器,学习该处理器相关的开发工具的使用,如开发环境、仿真器及评估板等。然后可以分析该处理器的外围扩展方法,如SDRAM、NAND Flash等,一般官方或第三方都会提供原理图,可以用来分析。接下来要理解该处理器的启动过程,亲自尝试从一块裸板逐步运行自己的应用程序,也可以参考官方的启动代码及例程。*后就可以调试、测试该处理器的各种外围部件,例如定时器PWM、串口、LCD等,特别是中断及执行过程。