CC语言嵌入式开发语言嵌入式开发纲要纲要•嵌入式C开发背景介绍•硬件平台和交叉编译环境•软件结构设计•内存操作•屏幕操作•键盘操作•性能优化背景背景•不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力
无疑,汇编语言具备这样的特质
但是,由于汇编语言开发的复杂性,它并不是嵌入式系统开发的一般选择
而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择
硬件平台硬件平台•(1)以通用处理器为中心的协议处理模块,用于网络控制协议的处理;(2)以数字信号处理器(DSP)为中心的信号处理模块,用于调制、解调和数/模信号转换硬件说明硬件说明•CPU:80186字长是16位,可以寻址到的内存空间为1MB•FLASH和RAM几乎是每个嵌入式系统的必备设备,前者用于存储程序,后者则是程序运行时指令及数据的存放位置
系统所选择的FLASH和RAM的位宽都为16位,与CPU一致•实时钟芯片可以为系统定时,给出当前的年、月、日及具体时间(小时、分、秒及毫秒),主要作用是提供中断裁决•NVRAM(非易失去性RAM)具有掉电不丢失数据的特性,可以用于保存系统的设置信息•UART则完成CPU并行数据传输与RS-232串行数据传输的转换•键盘控制器和显示控制器则完成系统人机界面的控制交叉编译环境交叉编译环境嵌入式系统需要良好的软件开发环境的支持,由于嵌入式系统的目标机资源受限,不可能在其上建立庞大、复杂的开发环境,因而其开发环境和目标运行环境相互分离
嵌入式应用软件的开发方式一般是1
在宿主机(Host)上建立开发环境,2
进行应用程序编码和交叉编译,然后宿主机同目标机(Target)建立连接,3
将应用程序下载到目标机上进行交叉调试,经过调试和优化,4
将应用程序固化到目标机中实际运行软件结构设计软件结构设计•模块划分•多