今天在 写了个简单的 led 的汇编程序,下载到 mini2440 的 nand flash 里面可以正常运行,但是下载到 sdram 里面不能运行。

后来发现有几个注意点,

  1. 要在 sdram 中运行,链接脚本的地址不能像 nand 里面一样是0,必须是 sdram 里面的地址,比如说 0x30000000.
  2. 下载到 ram 中的地址必须和 链接脚本的地址一致。
  3. 0x30000000 这个地址不行,0x30008000 这个地址肯定没有问题,0x30000020 超过这个地址,也都可以运行,0x3000001c 这个地址不能运行,但是 minitools 会断掉链接后自动链接上,其他小于 0x30000020 的地址,都是没有运行反应的。

具体是什么原因,还要后续进一步的调试了。

但是也不是每个程序都能在 sdram 中运行,具体情况暂时还不清楚,尽量还是烧录到 nand 中在运行,不容易出问题。

标签: hex_burn

添加新评论