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

关于擦写F28M35H52C1的FLASH

使用芯片F28M35H52C1,需要在C28核代码中植入擦写程序,擦写区域是C28的全部FLASH,用的是F021_API_C28x_FPU32.lib库函数,并且在程序中使用pragma将操作FLASH的代码都指定到了ram区。但是在F021_API_C28x_FPU32.lib库函数中调用了rts2800_fpu32.lib库中的LL$$OR,并且无法用pragma将rts2800_fpu32.lib指定到ram区,在擦写rts2800_fpu32.lib所在区域的FLASH时就会产生错误。以前用F28335时也做过类似的代码,也是使用的TI提供的FLASH库函数,就没有这种问题。请问怎么解决?

Hank Zhao:

你在CMD文件中自定义一个段,然后在后边跟上 “ { -l rts2800_fpu32.lib < ***.obj > (.text) } ”,“***.obj” 可以替换为“LL$$OR”,就可以将“LL$$OR”,函数单独放到你指定的这个自定义段中。

使用芯片F28M35H52C1,需要在C28核代码中植入擦写程序,擦写区域是C28的全部FLASH,用的是F021_API_C28x_FPU32.lib库函数,并且在程序中使用pragma将操作FLASH的代码都指定到了ram区。但是在F021_API_C28x_FPU32.lib库函数中调用了rts2800_fpu32.lib库中的LL$$OR,并且无法用pragma将rts2800_fpu32.lib指定到ram区,在擦写rts2800_fpu32.lib所在区域的FLASH时就会产生错误。以前用F28335时也做过类似的代码,也是使用的TI提供的FLASH库函数,就没有这种问题。请问怎么解决?

andy zhang1:

回复 Hank Zhao:

请问是这样么?

GROUP {     ramfuncs      { -l F021_API_C28x_FPU32.lib}

     { -l rts2800_fpu32.lib } ” } LOAD = FLASHD, RUN = RAML0, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), RUN_START(_RamfuncsRunStart), PAGE = 0

这个方法我们试过,这样修改后程序就不能正常运行了

使用芯片F28M35H52C1,需要在C28核代码中植入擦写程序,擦写区域是C28的全部FLASH,用的是F021_API_C28x_FPU32.lib库函数,并且在程序中使用pragma将操作FLASH的代码都指定到了ram区。但是在F021_API_C28x_FPU32.lib库函数中调用了rts2800_fpu32.lib库中的LL$$OR,并且无法用pragma将rts2800_fpu32.lib指定到ram区,在擦写rts2800_fpu32.lib所在区域的FLASH时就会产生错误。以前用F28335时也做过类似的代码,也是使用的TI提供的FLASH库函数,就没有这种问题。请问怎么解决?

Hank Zhao:

回复 andy zhang1:

是的,你把F021_API_C28x_FPU32.lib调用到的那个函数单独搬移到GROUP中试试,不搬移整个rts2800 library。

赞(0)
未经允许不得转载:TI中文支持网 » 关于擦写F28M35H52C1的FLASH
分享到: 更多 (0)