发 帖  
原厂入驻New
[讨论]

C 语言嵌入式系统

2011-7-20 16:14:22  1417
分享
NVRAM(非易失去性RAM)具有掉电不丢失数据的特性,可以用于保存系统的设
置信息,譬如网络协议参数等。在系统掉电或重新启动后,仍然可以读取先前的设置信
息。其位宽为8 位,比CPU 字长小。文章特意选择一个与CPU 字长不一致的存储芯片
为后文中一节的讨论创造条件。
UART 则完成CPU 并行数据传输与RS-232 串行数据传输的转换,它可以在接收到
[1~MAX_BUFFER]字节后向CPU 提出中断,MAX_BUFFER 为UART 芯片存储接收到字
节的最大缓冲区。
键盘控制器和显示控制器则完成系统人机界面的控制。
以上提供的是一个较完备的嵌入式系统硬件架构,实际的系统可能包含更少的外
设。之所以选择一个完备的系统,是为了后文更全面的讨论嵌入式系统C 语言编程技巧
的方方面面,所有设备都会成为后文的分析目标。
嵌入式系统需要良好的软件开发环境的支持,由于嵌入式系统的目标机资源受限,
不可能在其上建立庞大、复杂的开发环境,因而其开发环境和目标运行环境相互分离。
因此,嵌入式应用软件的开发方式一般是,在宿主机(Host)上建立开发环境,进行应用
程序编码和交叉编译,然后宿主机同目标机(Target)建立连接,将应用程序下载到目标
机上进行交叉调试,经过调试和优化,最后将应用程序固化到目标机中实际运行。
CAD-UL 是适用于x86 处理器的嵌入式应用软件开发环境,它运行在Windows 操作
系统之上,可生成x86 处理器的目标代码并通过PC 机的COM 口(RS-232 串口)或以
太网口下载到目标机上运行,如图2。其驻留于目标机FLASH 存储器中的monitor 程序
可以监控宿主机Windows 调试平台上的用户调试指令,获取CPU 寄存器的值及目标机
存储空间、I/O 空间的内容。
图 2 交叉开发环境
后续
0
2011-7-20 16:14:22   评论 分享淘帖

撰写讨论

你正在撰写讨论

如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发讨论
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表