嵌入式系统设计 教学课件 作者 李秀娟 第7章2003.pptVIP

嵌入式系统设计 教学课件 作者 李秀娟 第7章2003.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Makefile的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成可执行的二进制文件。 这样做带来的好处就是“自动化编译”,一旦Makefile文件写好,只需要直接在命令行下执行make命令,make命令会自动找当前目录的Makefile文件来执行,整个工程将实现完全自动编译,极大地提高了软件开发的效率。 * Makefile文件是make命令规则的描述脚本,其文件中代码规则的格式如下: targets: prerequisites commands //该行必须以“Tab”键开头 或 targets: prerequisites; commands commands * 2.Make命令 GNU make是一个解释Makefile文件指令的命令工具,格式为: make [-f filename] [options] [targets] 该make命令常用的命令行参数见表7.8所示。如果直接运行make命令而不加可选项,则只建立makefile文件中的第一个目标。 * make命令的具体工作过程如下: 首先在当前目录下依次寻找名为“GNU makefile”、“makefile”或“Makefile”的文件,找到后将会寻找Makefile文件中的第一个目标文件targets。如果targets文件不存在,或是targets文件所依赖的后面的.o文件比它还要更新,则make会执行后面的命令来生成目标文件targets;否则会在当前文件中寻找.o文件的依赖性,找到后再根据规则生成.o文件。之后再用生成的.o文件链接生成可执行文件。 * 7.2 Linux下的C语言编程 由于ARM处理器具有较强的运算能力,并且与汇编语言、C++语言相比,C语言结构性较好、容易理解且有大量的支持库,因此基于ARM的程序代码可以使用汇编语言与C语言混合编程。 C语言已经成为嵌入式系统程序设计中经常会用到的程序设计语言。嵌入式C语言程序设计就是利用基础的C语言知识,面向嵌入式软件工程实际应用进行程序设计。 * 7.2.1 嵌入式C语言程序设计 Linux系统下的C语言程序设计与其他操作系统环境下的C程序设计是一样的,主要涉及程序编辑器、编译器、调试器和项目管理器等四种环境工具。 (1)程序编辑器 最早时Linux系统下并没有类似于Windows系统下的Visual C++、C++ Builder等集成化程序开发环境,程序的编辑工具与编译工作是分开的。程序编辑器主要完成程序代码的编辑、录入等功能。Linux系统下C语言编程常用的文本编辑器包括Vi 、VIM(Vi Improved)以及Emacs、nano等。Vi编辑器功能强大且使用方便,已经成为开发人员常用的程序编辑工具。 * (2)编译器 Linux系统下常用的C语言编译器主要是GNU的Gcc编译器,其具体编译过程如图7.20所示。Gcc编译器采用命令行交互式编译方式。与其他一般的编译工具相比,Gcc编译器功能强大、执行效率高,性能更为优越。 * (3)调试器 在一个软件工程开发运行过程中,如果发现Bug就需要确定程序出错的位置、原因和参数,因此程序代码的调试是必不可少的。Linux下C语言编程常用的调试器是GDB调试器。该调试器在执行设置断点、单步跟踪等操作时使用较为方便、功能更为强大。 * (4)项目管理器 如果所开发的嵌入式源程序包括很多源文件,则需要把每个源文件都编译成目标代码,最后再链接成可执行文件,该过程需要手工输入大量的命令,无疑是非常繁琐的。 幸运的是,在Linux下C语言编程过程中,GNU提供了make项目管理器编译工具及Makefile文件,可以自动编译、管理编译软件的内容、时间和方式,以取代复杂的编译命令和操作。这些措施使得程序员能够真正把精力集中在代码的开发上而不是源代码文件的组织上。 * 7.2.2 程序的编译与下载 使用RS232串口通过超级终端向目标板烧写文件是常用一种的烧写方式。该方式使用load flash命令通过串口将代码文件从PC机下载至ARM开发平台。 受制于串口数据传输速率的限制,串口常用来下载Bootloader(vivi)、操作系统内核映像文件(zImage)和根文件系统文件(root.cramfs)等。 * 另外一种就是PC机与ARM开发平台之间使用网络连接方式下载文件,主要是使用网络文件系统NFS协议的方式,将PC机上需要下载的代码所在的共享文件夹安装(mount)到目标板上,之后在目标板上就能像访问本机目录一样方便地访问PC用户的共享目录了。 此外,也可以利用FTP文件传输协议(File Transger Protocol),通过网络接口将应用程序的压缩包下载到A

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档