《arm编译环境调试概要》由会员分享,可在线阅读,更多相关《arm编译环境调试概要(21页珍藏版)》请在金锄头文库上搜索。
1、实验一,ARM编译调试环境的安装及使用,目录,1、ADS简介及安装要点 2、汇编语言和C语言混合编程 3、建立和设置工程要点 4、实验步骤,ADS组成,1、命令行开发工具 2、ARM运行时库 3、图形化集成开发环境(Code Warrior和AXD) 4、实用程序和支持软件,命令行开发工具,ARM 链接器,符号调试器,ARM运行时库,ANSI C函数库,C+函数库,图形化集成开发环境,ADS调试器,集成开发环境,集成开发环境,ARM调试器,实用程序和支持软件,1、fromELF ,ARM映像文件转换工具 2、armar,ARM库函数生成器 3、Flash downloader,FLASH编程器
2、 4、ARMulator,ARM指令集模拟器,ADS安装要点:开始安装,双击SETUP.EXE开始安装,ADS安装要点:安装LICENSES,此处选择LICENSES文件,通过右边地Browse进行选择,汇编语言和C语言混合编程,1、汇编代码中调用C代码 2、汇编语言中函数的实现 3、C语言调用汇编文件中的函数 4、C语言内嵌汇编语言,汇编语言中调用C代码,1、汇编代码: ENTRY _start MOV sp, #0x33000000 B Main 2、C代码: void Main() ,必须正确设置sp,否则调用C语言后可能导致程序异常,C语言入口函数,汇编语言中函数的实现,1、汇编函数:
3、 asse_add ADD r0, r0, r1 /*r0 = r0 + r1*/ MOV pc, lr /*函数返回*/ 2、在汇编语言中调用函数: BL asse_add,相当于 int asse_add(int x, int y) return (x+y);,BL指令,C语言调用汇编文件中的函数,1、声明为extern: extern int asse_add(int x, int y); 2、调用函数: x = asse_add(10, 20);,当调用函数与被调用函数位于不同文件时,先声明为extern,C语言内嵌汇编语言,1、内嵌汇编语言实现和asse_add 相同的功能: int
4、 embed_add(int x, int y) int tmp; _asm add tmp, x, y ; return tmp; ,新建工程,工程类型为可执行工程,工程名,工程保存路径,新建文件,选择该页,文件名,文件保存路径,选择该选项,将该文件加入工程,工程设置,设置对话框,点击设置按钮,工程设置(RO Base),正确的RO Base设置,工程设置(Layout),正确的Layout设置,工程设置(优化选项),最小优化,便于调试,实验步骤,1、观看“ads安装视频文件.avi”,安装ADS 2、观看“实验一.avi”视频文件 3、建立一个工程 4、新建asse.s文件并编辑代码 5、新建main.c文件并编辑代码 6、设置工程,参考“实验一.avi” 7、编译工程,参考“实验一.avi” 8、下载调试,参考“实验一.avi”,