03-嵌入式系统与结构第二章-1.ppt.ppt
回 顾 第二章 基于ARM的 嵌入式软件开发 1. 基于ARM的嵌入式系统软件开发流程 2. ADS1.2开发工具介绍 3. ARM系统编程库 2.1 基于ARM的嵌入式系统软件开发流程 嵌入式软件开发流程 软件开发的主要流程 操作的两个环节: 编辑与编译链接代码排错环节 软件代码Debug和固化环节 ADS CodeWarrior IDE环境下进行编辑、编译与排错; 在AXD环境下进行代码的固化与Debug。 2.2 ADS 1.2 开发工具介绍 CodeWarrior IDE AXD Debuger CodeWarrior IDE 使用 1 建立新项目(Project) 2 添加源文件到项目中 3 设置项目的编译目标 4 编译该项目 5 Debug编译连接通过的项目 1. 建立新项目(Project) 1.2 添加源文件到项目中 3 设置项目的编译目标 4 编译该项目 选择 Project -Make菜单选项,完成下述功能: 编译新添加或修改过和touch过的源文件,产生ELF对象文件; 连接对象文件和库,产生一个ELF image文件; 执行postlink操作,如将ELF 映像文件用fromELF工具转换成另外一种格式; 5 Debug编译链接通过的项目 缺省情况下,IDE会调用AXD调试器对Make通过的ELF image文件进行debug。选择Project -Debug 6 从命令行Building项目 1. 从命令行来使用编译器 1). 编译C文件 main.c : armcc -g -O1 -c main.c (for ARM) tcc -g -O1 -c main.c (for Thumb) 其中: -g compiler添加debug tables. -O1 compiler 在维护足够的调试信息的同时采用最佳优化算法 -c compiler 只进行编译 2). 链接映像文件 armlink main.o -o embed.axf 其中: -o 指定链接输出文件名 embed.axf. 3). 用 armsd or AXD 载入映像进行调试运行 6 从命令行Building项目 2. 在命令行使用汇编器 armasm -list addreg.lst addreg.s armlink addreg.o -o addreg 在Debugger中运行程序: armsd addreg step 2. AXD Debuger的使用 运行程序 添加断点 添加观察点 测试变量内容 测试寄存器 测试内存内容 DEMO 程序功能介绍 是一个Benchmark 程序, 用来测试系统的整形运算处理性能的高低。 用Dhrystone性能进行描述,计算方法如下: Dhrystones/秒=处理器时钟 * 执行次数)/运行时间 在Demo中,最小运行时间不能小于2秒钟。 MIPS△: 业界用来衡量计算机系统性能的相对比较量。将VAX 11/780 作为一个参考机,其性能为1 MIP. VAX 11/780 每秒钟能够完成1757 Dhrystones . 1 运行程序步骤 1. 创建一个可执行的映像文件 2. 运行 AXD, 选择File→ Load Image 3. 选择 Execute → Go (或者按 F5),相关文件的处理器视图被打开,并在缺省断点处停止 4. 若要重复执行程序,选择File → Reload Current Image ,然后重复执行 then repeat Steps 2,3步骤 2 添加断点 1. 选择File → Reload Current Image , 2.选择 Execute → Go (或者按 F5), 3.添加断点的三种方法: 右键点击行,从弹出Menu中选 Toggle Breakpoint 左键点击行,按F9, 双击行的Margin部分 4.选择 System Views →Breakpoints 编辑断点 5. 按F5 恢复执行加断点后的程序 2 添加断点 4.选择 System Views →Breakpoints 编辑断点 设置循环运行断点750次后触发断点,程序停止。 Processor Views → Variables ,检查run_Index值。 5. 按F5 恢复执行加断点后的程序 3. 添加观察点 1.选择File → Reload Current Image 2.选择 Execute → Go (或者按 F5)到main() 3. 按F5 执行到添加的断点 4. System Views →Watchpoints,在 Watchpoints system
原创力文档

文档评论(0)