嵌入式程序设计复习总结嵌入式序设计复习总结.docVIP

嵌入式程序设计复习总结嵌入式序设计复习总结.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式程序设计复习总结嵌入式序设计复习总结

嵌入式程序设计课程总结 第一章(嵌入式系统基础) 嵌入式系统概念 普遍的嵌入式系统的定义:嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 特点: 1)面向特定应用的特点 。 2)嵌入式系统的硬件和软件都必须进行高效地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能 。 3)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物 。 4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中或单片机本身,而不是存储于磁盘中。 5)嵌入式开发的软件代码尤其要求高质量、高可靠性 。 6)嵌入式系统本身不具备二次开发能力 。 交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。 交叉调试 调试器和被调试进程运行在不同的机器上,调试器运行在PC机(宿主机),而被调试的进程则运行在各种专业调试板上(目标板)。 调试器通过某种通信方式(串口、并口、网络、JTAG等)控制被调试进程。 Bootloader的作用 简单地说,Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射关系,从而将系统的软硬件环境带到一个合适的状态,为最终加载系统内核做好准备。 第二章(程序开发工具) Vi 四种模式:标准模式、插入模式、命令行模式、可视模式。 Gcc 编译流程:(4个步骤) 预处理、编译、汇编、链接。 常用选项: 库相关选项: 函数库分为静态库和动态库两种,静态库是一系列的目标文件(.o文件)的归档文件(文件名格式为libname.a),如果在编译某个程序时链接静态库,则链接器将会搜索静态库,从中提取出它所需要的目标文件并直接拷贝到该程序的可执行二进制文件(ELF格式文件)之中;动态库(文件名格式为libname.so[.主版本号.次版本号.发行号])在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入。 Gdb 上机时进行的操作:l、b、n、c Make 能解释规则含义: makefile的规则是make进行处理的依据,它包括了目标体、依赖文件及其之间的命令语句。 普通规则 隐含规则:隐含规则能够告诉make怎样使用传统的规则完成任务,这样,当用户使用它们时就不必详细指定编译的具体细节,而只需把目标文件列出即可 模式规则:模式规则是用来定义相同处理规则的多个文件的。 第三章(linux C语言基础) 栈(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值,返回地址等,其操作方式类似于数据结构中的栈。 堆(heap):一般由程序员动态分配(调用malloc函数)和释放(调用free函数),若程序员不释放,程序结束时可能由操作系统回收。 数据段(data):存放的是全局变量、静态变量、常数。根据存放的数据,数据段又可以分成普通数据段(包括可读可写/只读数据段,存放静态初始化的全局变量或常量)、BSS数据段(存放未初始化的全局变量)。 代码段(code):存放程序代码。 字节序: 字节顺序是指一个字中各个字节的顺序,有大端模式和小端模式。 大端模式:字数据的高字节存储在低地址中,字数据的低字节存放在高地址中。 小端模式:字数据的高字节存储在高地址中,字数据的低字节存放在低地址中。 第四章(文件IO) 系统调用与用户编程接口API的区别 所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程调度、进程管理等。 前面讲到的系统调用并不是直接与程序员进行交互的,它仅仅是一个通过软中断机制向内核提交请求,以获取内核服务的接口。在实际使用中程序员调用的通常是用户编程接口——API 文件描述符的概念 文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数. 通常,一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理。这3个文件分别对应文件描述符为0、1和2(也就是宏替换STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO)。 open()/read()/write()/close()与fopen()/fread()/fwrite()/fclose()的区别 open()/read()/

文档评论(0)

ebitjij + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档