电脑
codewarrior v1.2
首先是mcp文件的创建file->new
在新窗口选择project/arm executable image
在project name输入工程名(set可选择文件路径,默认保存于“此电脑/文档”),点击确定
成功建立mcp文件,出现如下窗口
以下是s文件的创建 (1)file->new(2)在新窗口选择file/text file
(1) 在file name输入文件名( .s 不可省略(set可选择文件路径,默认保存于“此电脑/文档/工程名”)(2) 勾选add to project(3) 勾选debug、debugrel、release确定(在此前可对工程名进行确认.
成功建立s文件,出现如下窗口,可在窗口中输入代码
输入代码后如下图所示
设置参数,点击setting
在新窗口中侧边栏选择arm linker顶栏选择output在rq base和 rw base栏填入对应参数
在新窗口中侧边栏选择arm linker顶栏选择optiongs在image entry point栏填入对应参数点击apply,点击ok
在mcp窗口点击make
在新窗口中看到error和warning均为0,即基础语法无误
axf文件的调试同时可以看到在EX1/EX1_Data/DebugRel中出现axf文件
打开axf文件(使用axd软件)点击registers和memory以打开寄存器窗口和存储器观察窗口
在register窗口展开current以观察r0、r1
(1) memory窗口中,右键->size->32bit(2) 在start address中输入对应值
各图标含义如下(从左到右)全速运行(Go)停止运行(Stop)单步运行(Step In),与Step 命令不同之处在于对函数调用语句,Step In命令将进入该函数。单步运行(Step),每次执行一条语句,这时函数调用将被作为一条语句执行。单步运行(step out)执行完当前被调用的函数,停止在函数调用的下一条语句。运行到光标(run to cursor),运行程序直到当前光标所在行时停止。显示执行上下文(show execution context), 用来捕捉当前程序执行的位置,当点击该图标时,光标跳到原文件或返汇编文件中当前执行的指令行上设置断点(toggle breakpoint),可用来设置断点(无条件断点或有条件断点),也可用来删除当前选中的断点定时刷新(Timed Refresh)用来打开或关闭定时刷新功能的开关。如果调试目标支持实时监控就可以使用该图标,打开该开关后,所有打开的视窗按照设定的时间间隔定时刷新