而ldr就是绝对跳转命令,是一个绝对位置码,当一上电时,我们的链接地址0x30000000上是没有程序的,因为程序都存在nand flash上,也就是0地址上,而如果在复制数据到sdram之前,使用ldr...去执行的话,就会直接跳转到0x30000000上,就会运行出错....()函数,就是个会出错的函数
其中的mem_cfg_val[]数组的内存是存在链接地址0x30000000上,就是与位置有关,在未复制内容之前使用将会出错
#define MEM_CTL_BASE...mov r0,#0x100 //参数等于0x100
bl putnum //调用打印函数
即可打印0x100数字, 能快速定位出程序在哪出错
在c中,直接通过调用函数即可...实际JTAG后台会把每个需要暂停的地址断点里的数据复制到指定地址里,并赋为某个特殊值(如deeedeee),然后CPU运行时,当某个变量=这个特殊值(如deeedeee),便知道到了软件断点,并从指定地址里把原来的值换回去