嵌入式系统复习资料解析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设备类型 设备类型 设备类型 当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。 搭建Linux交叉编译开发环境 vim没有菜单,只有命令 vim有三种基本工作模式,分别是: 命令模式(command mode) 插入模式 (insert mode) 底行模式(last line mode) VIM的使用: 三种工作模式 Command Mode 主要功能:移动鼠标或编辑文字 Last Line Mode 主要功能:搜索或替换、存保存及结束 Insert Mode 主要功能:输入文字 按a/A、i/I、o/O键 按 :键 命令错误或按Esc键 执行vi命令 回到终端 按q、q!、wq键 按 Esc键 gcc编译器 GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言,而且gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译。 gcc编译过程 Gcc的编译流程分为了4个步骤,分别为: · 预处理(Pre-Processing); · 编译(Compiling); · 汇编(Assembling); · 链接(Linking)。 1.预处理阶段 预处理程序(Pre-processor)读取C语言源文件,对其中以“#”开头的指令(伪指令)和特殊符号进行处理。 伪指令主要包括文件包含、宏定义和条件编译指令。 2.编译阶段 编译程序(Compiler)对预处理之后的输出文件进行词法分析和语法分析,试图找出所有不符合语法规则的部分。在确定各成分都符合语法规则后,将其“翻译”为功能等价的中间代码表示或者汇编代码。 3.汇编过程 汇编程序(Assembler)把汇编语言代码翻译成目标机器代码的过程。 4.连接阶段 将一个文件中引用的符号(如变量或函数调用)与该符号在另外一个文件中的定义连接起来,从而使有关的目标文件连成一个整体,最终成为可被操作系统执行的可执行文件。 连接模式分为静态连接和动态连接。 理解下列Makefile文件: # 一个简单的Makefile的例子 # 以#开头的为注释行 test:prog.o code.o gcc prog.o code.o –o test ?prog.o:prog.c prog.h code.h gcc –c prog.c –o prog.o ?code.o:code.c code.h gcc –c code.c –o code.o ?clean: @echo cleanning project rm main *.o @echo clean completed Boot Loader介绍 在嵌入式系统中,通常没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。 Bootloader (引导加载程序)是嵌入式系统上电后运行的第一段软件代码。通过它,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,完成由硬件启动到操作系统启动的过渡,从而为操作系统提供基本的运行环境,以便为操作系统内核运行准备好正确的环境. Bootloader的主要运行任务是硬件初始化,将Linux内核镜像从硬盘Flash读到RAM中,然后跳转到Linux内核的入口点去运行,从而启动Linux系统。 Boot Loader介绍 Boot Loader 非通用性: 每种不同的 CPU 体系结构都有不同的 Boot Loader。有些 Boot Loader 也支持多种体系结构的 CPU,比如 U-Boot 就同时支持 ARM 体系结构和MIPS 体系结构。除了依赖于CPU 的体系结构外,BootLoader 实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种 CPU 而构建的,要想让运行在一块板子上的 Boot Loader 程序也能运行在另一块板子上,通常也都需要修改Boot Loader 的源程序。 Boot Loader的两种类型 Boot Loader的启动过程有两种类型: 单阶段(Single Stage): 一些只需完成很简单功能的boot loader可能是单阶段的 多阶段(Mult

文档评论(0)

三四五 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档