This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6678 emif nor启动程序入口如何写在cs2空间起始地址0x70000000?

比如一个小程序,功能是只在地址 0xC0000000 上写个数。

我想把它写进 nor flash 里,然后上电就在 nor flash 里面执行代码。

emif nor flash 启动会跳转在 0x70000000 上开始执行,也就是说我需要把程序的入口 _c_int00 写在 0x70000000 上。

可是生成 bin 文件后,查看 map 文件,_c_int00 地址在中间。比如起始到结束地址范围是 0x10800000 ~ 0x10801000 ,_c_int00 地址为 0x10800500 。

我如果提取这一段 bin 文件(save memory 方式),直接烧到 o = 0x70000000 上,l = 0x70001000  上,

很显然  _c_int00 的地址相应为  o = 0x70000500 ,对不上 o = 0x70000000 。

看过一些例程,都是用的 asm 文件编写的。我也弄不懂那些 asm 程序是如何确保自身的入口地址刚好就是启动地址的。

只知道,它把自己放到比如 o = 0x10800000 上 ,然后提取生成 bin 文件,烧到  o = 0x70000000 上 ,就 ok 了。

能重新定位 _c_int00 的地址吗?

我应该如何正确地烧写 bin 文件?

我的 CMD 文件如何分配?

请各位赐教。