我用的是ads1.2,ice调试,选择用elf生成bin,其他的都选了系统的默认设置,只把linker时候的ro地址改为了flash的0x0,rwbase则为我的sdram0x0d0000000,为什么调试的时候可以,下载到flash里就不行了呢,我的flash下载程序是一个公司的demo,验证过是正确的,
请高手指点一下,很迫切
将ARM Linker->OUTput->RO Base设为0X0000 将ARM Linker->Layout->Place at beginning of image->Object/Symbol设为INIT.O 这样可以保证下载后执行时,由Bootloader将用户程序加载到SDRAM,并重眏射后,在0X0000地址处为INIT.s的程序代码。
不知你遇到的是不是这种问题,试一下吧。
你说的问题最好能具体一点.
1.不知道你说的SDRAM是内部的吗?看你文章所述我感觉是内部的,但是如果是外部的,使用前一定要初始化.
2.你的link 选项设置是否有问题.
调试的时候,各段在存储器中的布局是怎样的?从flash直接运行时,有没有重定位代码来负责达到同样的效果?仔细看看程序吧。