首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > C语言嵌入式系统编程修炼

C语言嵌入式系统编程修炼

资料介绍
C语言嵌入式系统编程修炼C 语言嵌入式系统编程修炼之一:背景篇
不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求 其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归 因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比, C 语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系 统项目的开发过程中, 一次又一次感受到 C 语言的精妙, 沉醉于 C 语言给嵌入式开发带 来的便利。 图 1 给出了本文的讨论所基于的硬件平台,实际上,这也是大多数嵌入式系统的硬 件平台。它包括两部分: (1) 以通用处理器为中心的协议处理模块,用于网络控制协议的处理; (2) 以数字信号处理器(DSP)为中心的信号处理模块,用于调制、解调和数/ 模信号转换。 本文的讨论主要围绕以通用处理器为中心的协议处理模块进行, 因为它更多地牵涉 到具体的 C 语言编程技巧。而 DSP 编程则重点关注具体的数字信号处理算法,主要涉 及通信领域的知识,不是本文的讨论重点。 着眼于讨论普遍的嵌入式系统 C 编程技巧,系统的协议处理模块没有选择特别的 CPU,而是选择了众所周知的 CPU 芯片--80186,每一位学习过《微机原理》的读者都 应该对此芯片有一个基本的认识,且对其指令集比较熟悉。80186 的字长是 16 位,可 以寻址到的内存空间为 1MB, 只有实地址模式。 C 语言编译生成的指针为 32 位 (双字) , 高 16 位为段地址,低 16 位为段内编译,一段最多 64KB。

图 1 系统硬件架构

协议处理模块中的 FLASH 和 RAM 几乎是每个嵌入式系统的必备设备,前者用于存 储程序,后者则是程序运行时指令及数据的存放位置。系统所选择的 FLASH 和 RAM 的 位宽都为 16 位,与 CPU 一致。 实时钟芯片可
标签:语言嵌入式系统编程修
C语言嵌入式系统编程修炼
本地下载

评论