很多函数都用 #pragma CODE_SECTION("xxx");分配到了xxx段,但各函数的地址会在xxx段中不固定。请问如何让各函数位置固定又都属于xxx段呢?
目前是把需要定位的函数单独分配到了某一段中,再在cmd文件中分别分配绝对位置。但这样做就需要把各段分别拷贝到内存中了。
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.
这个可以用cmd分配来搞定。
首先,flash硬件上的每个扇区在cmd中可以灵活划分,所以你可以把flashA扇区一分为二,为三 等等。
你应该是在线升级设计,如果要固定一个函数的话,你先通过编译,知道这个函数大概多大,然后比如在flashA这个扇区中画出一部分flash出来,定义个段,然后用
#pragma CODE_SECTION(函数名, "自定义段名");
函数
……
当然,这个flash扇区就不可以擦除了。
所以用cmd是很方便的,甚至还可以把库文件中的函数固定住地址。