如上图:用程序如何获取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