对于有嵌入式技术基础的初学者来说,嵌入式项目实战是具有很大吸引力和挑战性的。同时,通过项目实践可以快速提升自己的实战技术,编程能力和项目开发能力。为了记录自己的学习历程,特写此文以回顾。
(一)arm嵌入式实战开发,从嵌入式系统的介绍开始。嵌入式系统以应用为中心、软硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专业计算机系统。(集软硬件于一体,软件代码小、高度自动化、响应速度快等特点,特别适合要求实时和多任务的体系)嵌入式系统由嵌入式处理器、相关软硬件、嵌入式操作系统及应用软件系统等组成。
嵌入式系统的几个重要特征:
(1)系统内核小。(2)专用性强(3)系统精简(4)高实时性(5)多任务处理
嵌入式系统的体系架构从下往上,一般分为:硬件、驱动程序、操作系统、api接口、应用程序。而对于使用广泛的linux嵌入式系统而言,其软件组成主要有:
(1)bootloader:u-boot;(2)linux kernel:可裁剪;(3)根文件系统:yaffs(4)系统应用程序:web server ...;(5)图形界面系统:Qt/E、MinGUI
嵌入式的发展经历了四个阶段:
(1)以单片机位核心的可编程控制器形式的系统。(2)以嵌入式cpu为基础、以简单操作系统为核心的嵌入系统。(3)以嵌入式操作系统为标志的嵌入式系统。能运行于不同类型的cpu上,兼容性好,操作系统内核精小、高效,具有高的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口及用户界面等。(4)以基于Internet为标志的嵌入式系统,Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表嵌入式技术的真正未来。
Linux是一个开源的、用c语音和汇编语言编写,符合POSIX(表示可移植操作系统接口(Portable Operating System Interface of UNIX)标准的类UNIX操作系统。有ubuntu和red hat linux等操作系统。
Vxwork:内核,多任务调度、任务间的同步、进程间通信机制、中断处理、定时器和内存管理机制、I/O系统。
(二)ARM硬件平台 S3C2240开发板
s3c2240处理器、LCD、4通道DMA并有外部请求引脚、3通道UART、2通道SPI、1通道IIC总线接口、1通道IIS总线音频编码器接口、AC97编解码器接口SD卡、USB、PWM定时器、ADC和触摸屏、nand flash。
(三)基于linux操作系统开发环境的搭建
(1)交叉开发环境:Qt/Embeded嵌入式应用程序的开发环境。
(2)网络配置
(3)samba服务器搭建
(4)nfs 服务器搭建
(5)Web服务器配置
(6)vsftpd(very secure FTP damon)服务器
(7)tftp(基于udp实现的)传送文件协议
参考:奚海蛟.arm嵌入式项目实战开发[M].北京航空航天大学出版社