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

C语言编程技巧

资料介绍
C语言编程技巧[编程技巧]C 语言嵌入式系统编程修炼之一:背景篇!
程序匠人 发表于 2006-1-10 20:15:00 引用(0) 阅读全文(2042) | 回复(0) |

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 几乎是每个嵌入式系统的
标签:语言编程技巧
C语言编程技巧
本地下载

评论