资料介绍
嵌入式系统C语言讲座嵌入式系统的C语言
译自《C for Embedded Systems》讲稿 刘永重 译 一、C语言基础 1、什么是C? ‘C’程序语言最初是由Dennis Ritchie在1971年为UNIX系统开发并实现的。 C的一个最大优点 是与任何特定的硬件或系统无关。这使得一个用户写的程序不作任何修改就能运行在几乎所有 的机器上。 C通常被称为中级计算机语言,因为它将高级语言的要素与汇编语言的功能结合了在一起。 2、为什么用C? C非常灵活,而且可随心所欲。这种自由赋予C非常强大的功能,有经验的用户可以掌握; C是一个相对小的语言,但是它经久耐用;C有时被认为是“高级汇编语言” ;低级(位操作) 编程也容易实现;松类型(不象其它高级语言) ;C是结构化编程语言;C允许你创建你脑海中 已有的任何任务。 C保留了程序员知道正在做的事情的基本体系;它只需要他们明白地表达其意图。 3、为什么不用C?文化的问题… 当考虑转到C语言时,我们会遇到一些共同的问题: 产生大而低效的代码;标准IO程序的雍余代码(printf,scanf,strcpy等) ;存贮器定位的使 用:malloc(),alloc()…;堆栈的使用,在C中不很直接;在RAM和ROM中数据的声明;难于写中 断服务程序。 4、8位微控制器的ANSI C 对于嵌入式系统,纯粹的ANSI C并不方便,因为: 嵌入式系统与硬件打交道。ANSI C 提供的在固定存贮空间用寄存器寻址的工具非常拙劣; 几乎所有的嵌入式系统使用中断;ANSI C有各种类型的促进规则,对8位机来说绝对是性能杀 手;一些微控制器结构没有硬件支持C堆栈;很多微控制器有多个存贮空间。 5、打破一些C范例 当在低端的8位微控制器上用C语言,应想法使代码变小。这意味着打破一些编程规则: 开/关全局中断;使用GOTO语句;全局标号;全局寄存器段;指针支持。 6、嵌入式与