TI中文支持网
TI专业的中文技术问题搜集分享网站

如何获取CMD中任意定义一段的首地址

如上图:用程序如何获取BOOTRAM这段定义的首地址0x010000

我的需求是:CMD文件可能会修改BOOTRAM这段定义的地址,应用程序可以对应的获取这段的首地址!

Susan Yang:

抱歉,我对您的描述有些疑问:

请问您现在是在做二次boot?是想bootloader程序跳转到APP程序的入口地址?

“CMD文件可能会修改BOOTRAM这段定义的地址,应用程序可以对应的获取这段的首地址!”

我太理解这句的意思,希望您再次说明一下,谢谢

,

user3455617:

你好!

我不是做二次Boot,只是拿它举例!

我的目的就是想获取cmd文件定义段的首地址,我想公用内存,一个文件会向指定地址写数据,指定的地址就是通过CMD文件指定,另外文件会读该地址的数据!

,

Susan Yang:

您可以通过#pragma DATA_SECTION指定一个全局变量到一个段,然后通过读这个全局变量获得地址。

请参考 www.ti.com/…/spru514r.pdf

6.10.7 The DATA_SECTION Pragma

,

user3455617:

你好,你说的方法是可以实现!

我不想定义变量,也不想做接口函数,直接操作地址,现在就是#pragma DATA_SECTION指定一个全局变量到一个段,如何获取这个段的首地址?

,

Susan Yang:

所以您现在是想使用我上面描述的方法?但是您不知如何通过读这个全局变量获得地址地址?

您可以使用取地址符 & 来获取变量地址的

,

user3455617:

不是按照你说的方法,不定义全局变量!
就是如何获取cmd中定义一个段的起始地址?就这个一个需求

,

Susan Yang:

就目前而言,在不定义全局变量,不使用DATA_SECTION的情况下,我没有其他解决方案。

您可以在英文E2E咨询一下:

e2e.ti.com/…/c2000-microcontrollers-forum

赞(0)
未经允许不得转载:TI中文支持网 » 如何获取CMD中任意定义一段的首地址
分享到: 更多 (0)