六、嵌入式软件系统设计.pptVIP

  1. 1、本文档共71页,可阅读全部内容。
  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文档。上传文档
查看更多
内容提要 启动代码的功能和特征 启动代码的最小流程 小型启动代码分析-流程 小型启动代码分析-异常向量 小型启动代码分析-处理器配置 小型启动代码分析-设置堆栈 小型启动代码分析-C语言全局变量清0 小型启动代码分析-调用高级语言入口 小型启动代码分析-应用程序的启动 启动代码的典型流程 启动代码的组织 启动代码的操作模式 控制启动的设备 启动代码的搬迁 程序代码和数据的组织 程序代码和数据在存储器中的存储 程序的链接定位 简单的链接定位脚本文件 典型的链接定位脚本文件 程序入口的指定 程序入口的指定 嵌入式操作系统 嵌入式操作系统的选择和移植 异常向量表(Exception Vectors) 系统存储器映射图 FLASH中的异常向量 SDRAM中的异常向量 中断响应的流程 中断分发例程 中断向量表 中断处理例程 基于ARM的嵌入式开发环境概述 常用调试方法 关于交叉开发环境 1、基于JTAG的ICD 通过JTAG方式可以完成: 读/写CPU的寄存器,访问控制ARM处理器内核; 读/写内存,访问系统中的存储器; 访问ASIC系统; 访问I/O系统; 控制程序单步执行核实时执行; 实时地设置基于指令地址值或者基于数据值的断点。 基于JTAG仿真器的调试是目前ARM开发中采用最多的一种方式。 2、Angel调试监控软件 3、在线仿真器ICE 关于模拟开发环境 为保证项目进度,硬件和软件开发往往同时进行。这时作为目标机的硬件环境还没有建立起来,软件的开发就需要一个模拟环境来进行调试。模拟开发环境建立在交叉开发环境基础之上,是对交叉开发环境的补充。这时,除了宿主机和目标机之外,还需要提供一个在宿主机上模拟目标机的环境,使得开发好的程序直接在这个环境里运行调试。模拟硬件环境是非常复杂的,由于指令集模拟器与真实的硬件环境相差很大,即使用户使用指令集模拟器调试通过的程序,也有可能无法在真实的硬件环境下运行;因此,软件模拟不可能完全代替真正的硬件环境。这种模拟调试作为一种初步调试,主要是用于用户程序的模拟运行,用来检查语法、程序的结构等简单错误。用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。 关于评估电路板 评估电路板也称做开发板,一般用来作为开发者的学习板、实验板,可以作为应用目标板制作出来以前的软件测试、硬件调试的电路板。尤其对应用系统的功能没有完全确定、初步进行嵌入式开发且没有相关开发经验的初学者非常重要。开发评估电路板并不是RAM应用开发所必须的。对于有经验的工程师,完全可以自行独立设计自己的应用电路板,以及根据开发需要设计实验板。好的评估电路板一般文档齐全,对处理器的常用功能模块和主要应用都有硬件实现,并提供电路原理图、相关开发例程和源代码,以供用户设计自己的应用目标板和应用程序做参考。选购适合于自己实际应用的开发板,可以加快开发进度,减少自行设计开发的工作量。 ARM主流开发工具 ADT for ARM集成开发系统 ADT 调试步骤-建立工程,添加文件 ADT 调试步骤-设置并编译工程(交叉编译) ADT 调试步骤-连接目标机,下载程序 ADT 调试步骤-运行下载的程序 ADT 调试步骤-暂停运行,观察变量 ADT 调试步骤-单步运行 ARM中存储器访问字节对齐问题-LDR/LDRH ARM中字节对齐问题-结构的空间计算 ARM中字节对齐问题-结构的紧缩模式 ARM中非字节对齐访问-结构的成员访问 ARM中的PC指针的引用 ARM中的PC指针的引用 ARM中断寄存器备份 ARM的中断返回 ARM的异常捕捉 ARM的模式切换 LDR 指令的使用 汇编代码中的立即数 汇编代码中的宏定义 汇编代码中的宏定义 C代码中嵌入汇编代码 GCC库的使用 ADT 编译链接问题 ADT 编译链接问题 ADT 编译链接问题 ARM软件设计中的若干问题 常量的取值为必须对应8位位图; 然后通过该位图进行循环移位,注:移位位数为偶数,如:0、2、4…30; 合法的常量举例: 0xFF,0x104,0xFF,0xFF0,0xFF000, 0xFF000000,0xF000000F 不合法的常量举例: 0x101,0xFF1,0xF000001F mov r0, #0x1FFFFFFF = mvn r0, #0xE0000000 mov r0, #0xFFFFFFFF = mvn r0, #0ARM软件设计中的若干问题 .macro HANDLER HandleLabel sub sp,sp,#4 stmfd sp!,{r0} ldr r0,=\HandleLabel ldr r0,[r0] str

文档评论(0)

优美的文学 + 关注
实名认证
文档贡献者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档