5、 如何无条件跳转?
一般这种事情最好是在同一个函数中,某条语句无条件跳到另一条语句上时使用。最好不要跨函数使用(否则有堆栈错误,很难查的)
把光标定在需要跳转到的代码上,右键菜单execute->Set Next Statement .
6、 AXD有没有什么辅助工具?
有的。
IDA pro ,非常好的axf解析工具。可以统计axf文件中的函数、全局变量、调用关系等。界面非常友好,代码界面可以清楚看出函数引用关系、变量初始话、变量引用、修改的统计。
可以说,IDA Pro是汇编级的Source insight 。大家可以在网络上下载它的最新版安装使用。
7、 如何调试需要加载到Flash上的代码
以下是我的经验:
1、 在有jTag调试口的板子上Download一个版本。
2、 选择 File->load debug symbols 。然后选择CodeWarrior上Release版生成的那个AXF。
3、 现在就可以调试Flash上的程序了。和Debug完全一样。不过注意,在这种情况下,一般只能设置2个断点。
8、 使用fromelf命令
fromelf命令可以对我们生成的axf文件进行进一步操作的命令。
诸如:
从axf文件中抽出二进制代码:fromelf –bin –output a.bin a.axf
从axf文件中抽出二进制代码:fromelf –m32 –output a.s32 a.axf
9、 FAQ
Q: 生成的ram方式的redboot映像文件,应该使用什么工具调试编译的ram方式的redboot。
用ADS调试工具只能加载.axf格式的文件
A: 用ADS还可以加载bin文件(File->Load Memory From Memory...),可以使用ADS命令行或脚本初始化SDRAM
load bin文件时需要指定载入地址,对于s3c44b0x通常为0x0c040000,即在相应的ldi文件中指定的
SECTION_rom_vectors (ram, 0x0c040000, LMA_EQ_VMA)
将BIN程序Load后,将PC指针修改为0X0C040000即可
|