- 1、本文档共106页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统教案 嵌入式软件系统设计 嵌入式系统软件开发流程 嵌入式系统的开发流程 常用调试方法 处理器的选择 操作系统和软件支持工具的选择 操作系统和软件支持工具的选择 硬件驱动程序的调试 操作系统的选择和移植 μC/OS-II μC/OS-II Linux/uClinux Linux/uClinux Windows CE Windows CE vxWorks vxWorks ARM主流开发工具 ARM嵌入式开发模式( ARM ADS/SDT + 调试器) ADS与Multi-ICE ADS命令行开发工具 ARM运行时库 图形化集成开发环境(Code Warrior和AXD) ADT for ARM集成开发系统 ADT 1000 Emulator for ARM ADT 1000 Emulator for ARM ADT IDE for ARM ADT IDE for ARM主要特征 - 可视化编程环境 ADT IDE for ARM主要特征 - 可视化编程环境 ADT IDE for ARM主要特征 - 交叉编译功能 ADT IDE for ARM主要特征 - 调试功能 ADT IDE for ARM主要特征 - 调试功能 ADT IDE for ARM主要特征 - 调试功能 ADT IDE for ARM 多版本支持 多工程管理 可视化编辑器 GCC交叉编译 编译器设置 汇编器设置 连接器设置 调试功能 多种调试模式 断点 存储器窗口 存储区上载下载功能 寄存器观察窗口 函数调用栈窗口 变量观察窗口 命令窗口 单步调试 - STEP INTO 单步调试 - STEP OVER 单步调试 - STEP OUT 单步调试 - RUN TO CURSOR 板上寄存器 板上寄存器 FLASH在线编程器 工具菜单 在线帮助 嵌入式软件开发 启动代码 应用程序(无操作系统) bootloader 嵌入式操作系统移植 BSP板级支持包 应用程序开发(操作系统) 嵌入式软件设计和调试流程 交叉编译 链接脚本 链接脚本示例 GCC库 ARM9-2440启动代码分析 在基于ARM920T core的嵌入式系统中,系统在上电或复位时都从地址0始执行,因此在这个地址处安排的通常就是系统的启动代码。 它通常也是BootLoader程序的一部分,可以在启动代码基础上编写BootLoader。 用汇编语言编写。 启动代码是在复位后运行其它程序之前运行的一段小程序。通过它,初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用C函数准备好正确的环境。 启动代码的移植和修改 启动代码除了依赖于 CPU 的体系结构外,实际上也依赖于具体的嵌入式板级设备的配置,比如板卡的硬件地址分配,RAM芯片的类型,其他外设的类型等。 对于两块不同的嵌入式板而言,即使它们是基于同一种 CPU而构建的,如果他们的硬件资源和配置不一致的话,要想让运行在一块板子上的启动代码也能运行在另一块板子上,也还是需要作一些必要的修改。 启动代码流程图 设置异常跳转表 关闭看门狗 设置中断模式并禁止中断 配置存储器控制寄存器宽度 堆栈初始化 C代码初始化 ARM9-2440 BOOTLOADER分析 u-boot简介 u-boot简介 BootLoader的基本概念 BootLoader 的移植和修改 BootLoader 的安装 用来控制 BootLoader 的设备或机制 Boot Loader 的操作模式 BootLoader与主机间文件传输的通信设备及协议 BootLoader的主要任务与典型结构框架 BootLoader的主要任务与典型结构框架 Stage 1初始化流程图 Stage 2流程图 板级支持包 板级支持包的特点 板级支持包的功能 板级支持包的功能 系统级初始化 硬件相关的驱动程序 ARM9-2440应用代码设计及中断处理 ARM9-2440应用代码中断向量 ARM9-2440中断处理流程 中断向量表 注册中断服务函数并使能中断 用C代码编写的中断服务函数 启动代码是用来初始化电路以及用来为高级语言写的软件做好运行前准备的一小段汇编语言,是任何处理器上电复位时的程序运行入口点 引导加载程序是系统加电后运行的第一段软件代码。回忆一下 PC 的体系结构我们可以知道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS B
文档评论(0)