基于ARM的嵌入式系统开发精要.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、 头文件 通常在一个程序的开始部分进行头文件包含操作。头文件通常包括常量定义、变量定义、宏定义和函数声明等,程序员可以在自己的程序中嵌入它们。内嵌库中最常见的头文件是标准输入/输出文件(stdio.h),该头文件包含用于输出信息和接收用户键盘输入的函数声明。在很多情况下,出于特定系统要求,程序员通常需要创建自己的头文件,并将它们包含在程序中。 要包含一个头文件,必须在程序的开始部分使用编译预处理指令#include。 嵌入式C语言的编程要素 三、编译预处理 1.用于包含文件的#include指令 任何C程序首先都要包含那些准备使用的头文件和源文件,include是一个用于包含某个文件内容的预处理指令。 2.宏定义#define指令 C语言中允许用一个标识符来表示一个字符串,称为宏。被定义为宏的标识符称为宏名。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字符串去代换,这称为宏代换或宏展开。宏定义是由源程序中的宏定义命令完成的,宏代换是由预处理程序自动完成的。 3.条件编译指令 条件编译指令包括#if、#ifdef、#ifndef、#else、#elif和#endif。这些指令用于根据某个表达式有条件的编译一部分代码。可以仅在程序开发过程中利用这些指令来编译部分调试代码。 嵌入式C语言的编程要素 四、 数据类型 嵌入式C语言的编程要素 四、 数据类型 在声明变量的时候,可以规定变量的访问/存储类型,C语言有6个访问/存储关键字:extern、auto、static、register、const和volatile。 ① extern说明该变量在另一个目标代码文件中声明和定义过。这些变量可以被所有函数访问。 ② auto是默认的存储类型。 ③ static存储类型与auto类型类似,但它存储在RAM中而不是栈中,因此它在程序运行的整个过程中都有效。 ④ register声明的变量表明要求编译器使用(如果可能)微处理器中的一个寄存器来存放该变量。 ⑤ const有以下作用:关键字const的作用是为给读代码的人员传达非常有用的信息,实际上,声明一个参数为常量是为了说明这个参数的应用目的。 ⑥ volatile访问类型表示它所声明的变量值在程序运行中可能不经过相关指令就发生变化。 嵌入式C语言的编程要素 五、运算符 嵌入式C语言的编程要素 嵌入式C语言的编程要素 六、指针 指针是存放其他变量地址的变量。例如,一个字符型变量指针存放的是该字符变量的地址。声明一个指针变量的格式与声明一个变量的格式相同,只是在变量名前加一个*运算符。 指针在C语言中的另一个重要应用是动态内存分配。动态内存分配与我们见到的其他内存分配方式不同,区别在于动态内存分配的存储单元在程序的运行过程中才确定。这些分配的内存通常来自RAM中未被使用的部分,我们称这一部分为堆。动态内存分配常常用在不知道RAM的大小又想充分利用RAM的资源的情况下。动态内存分配的两个主要函数是malloc()和free()。malloc()函数用于分配内存空间,而free()用于释放被分配的内存空间。 在嵌入式系统中程序设计中,程序员经常面临者要求去访问某特定的内存位置的情况。此时可以利用指针方便的实现这个要求。 嵌入式C语言的编程要素 七、 条件语句、循环语句及无限循环语句 1.条件语句 条件语句在程序中会经常多次使用。 2.循环语句 C语言有三种不同的循环结构:for循环、while循环和do-while循环。 3.无限循环语句 使用C语言总是会被提醒无限循环是不希望发生的,因为这意味着程序永远都不会结束,但是无限循环是嵌入式系统编程的一个特征。 嵌入式C语言的编程要素 八 函数 1.函数定义 函数是完成某个特定任务的一段独立代码,它必须具备三个特征:独立性、灵活性、可移植性。 2.主程序 主程序也是一种函数,区别在于当程序名被调用时,这个函数首先被执行。主程序是程序执行的管理者,它包含程序的总体结构,通过调用其他不同的函数来处理、完成具体的任务,并因此避免亲自处理这些任务。可以把主函数想象成一个在其他函数的帮助下控制各种命令执行的管理者。 3.函数间参数的传递 在函数的调用过程中,调用者,即函数的触发者可以向该函数传递多个参数。 嵌入式C语言的编程要素 1.6 嵌入式系统设计方法 嵌入式软件全生命周期开发工具链 硬件与软件的Co-Design: Verilog + C = ? 驱动程序的设计和生成技术(嵌入式软件开发中最令人头

文档评论(0)

LOVE爱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档