下载此文档

嵌入式程序设计课程总结.ppt


文档分类:IT计算机 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
《嵌入式系统程序设计》 课程总结主要内容(课堂)嵌入式系统基础嵌入式LinuxC程序开发嵌入式LinuxC语言基础嵌入式Linux开发环境嵌入式Linux文件I/O编程多任务编程多进程/多线程进程间通信网络编程设备驱动开发QT图形编程嵌入式系统概念——被嵌入到电子设备中的专用计算系统。交叉编译——在一个平台上生成可以在另一个平台上执行的代码。交叉调试——将嵌入式程序在宿主机和目标机之间进行的调试。Bootloader作用——初始化硬件设备,建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。编译流程——预处理、编译、汇编、链接。常用选项--I/home/david/src/inc-ohello库相关选项-Ldir在库文件的搜索路径列表中添加dir目录Gdb上机时进行的操作Make能解释规则含义make工程管理器就是个自动编译管理器,能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时它通过读入Makefile文件的内容来执行大量的编译工作。——隐式规则能够告诉make怎样使用传统的规则完成任务,这样当用户使用它们时就不必详细指定编译的具体细节,而只需把目标文件列出即可。Make会自动搜索隐式规则目录来确定如何生成目标文件。——模式规则是用来定义相同处理规则的多个文件的。它不同于隐式规则,隐式规则仅仅能够用make默认的变量来进行操作,而模式规则还能引入用户自定义变量,为多个文件建立相同的规则,从而简化makefile的编写。数据段BSS段代码段栈堆一个由C语言的程序占用的内存分为以下几个部分。栈(stack):由编译器自动分配释放,存放函数的参数值、局部变量的值、返回地址等,其操作方式类似于数据结构中的栈。堆(heap):一般由程序员动态分配(调用mallo()函数)和释放(调用free()函数),若程序员不释放,程序结束时可能由操作系统回收。数据段(data):存放的是全局变量、静态变量、常数。根据存放的数据,数据段又可以分成普通数据段(包括可读可写/只读数据段,存放静态初始化的全局变量或常量)、BSS数据段(存放未初始化的全局变量)。代码段(code):用于存放程序代码。(stack)是由系统自动分配的;堆(head)需要程序员自己申请,并在申请时指定大小。申请后系统的响应堆在操作系统中有一个记录空闲内存地址的链表,当系统收到程序的申请时,系统就会开始遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。,是不连续的内存区域;栈是向低地址扩展的数据结构,是一块连续的内存的区域。申请速度的限制堆是由malloc()等语句分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来很方便。栈由系统自动分配,速度较快,但程序员一般无法控制。堆和栈中的存储内容堆一般在堆的头部用一个字节存放堆的大小,堆中的具体内容由程序员安排。,有大端模式和小端模式。大端模式是指在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式是指与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。ARM体系结构支持大端模式(big-endian)和小端模式(little-endian)两种内存模式。10

嵌入式程序设计课程总结 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2623466021
  • 文件大小7.17 MB
  • 时间2019-06-27