你好:
我现在的程序是想实现在应用编程(IAP),把负责在应用编程(IAP)部分代码放在扇区A中,把用户代码部分放在扇区B,C,D中。需要更新用户代码时,将B、C、D扇区的通过FLASH API擦除,然后重新烧写扇区B,C,D。
这就需要通过CMD文件将两部分代码分开存储。我现在的问题是怎么讲.cinit段代码分开存储的不同的FLASH中?
我现在的做法是自己定义了一个IAP_page0的段,将在应用编程(IAP)部分的.cinit段放在IAP_page0段,存储在扇区A中,将用户代码的.cinit段存储在扇区D中。CMD文件的配置如下:
IAP_page0:
{
.\Debug\DSP2823x_ECanB_IAP.obj(.cinit)
} LOAD = FLASHA PAGE = 0
.cinit : > FLASHD PAGE = 0
但是,我现在遇到的问题是IAP_page0:段中存放的.cinit不能对对应的.ebss段进行初始化,导致程序无法正常运行。请问有什么方案可以实现上述要求。