关于vivi里面的go命令
本帖最后由 garyv 于 2011-11-29 00:09 编辑正在调试2440-linux平台,使用vivi。发现使用"load ram 0x30200000 0x20000 x"命令下载vivi到RAM之后,再运行"go 0x30200000"就死机了。
go命令的响应函数如下:void go(int addr)
{
printf("addr=%08x\n", addr);
__asm__
(
"mov r0, %0\t\n"
"mov pc, r0\t\n"
"nop\n\t"
"nop\n\t"
:
: "r"(addr)
);
printf("go() function end!\n");
}发现第一个printf打印正常,第二个没有打印出来就死机了。将汇编中的"mov pc, r0"那一行注释掉之后运行不死机,而且2个打印都有。
不知"mov pc, r0"这种跳转方式有何问题?
页:
[1]