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.

TMS320F280049C: bootloader和app共用一块RAM区域时,是否会造成内存冲突

Part Number: TMS320F280049C

大家好,最近在用280049开发bootloader,在bootloader中完成程序升级功能,从bootloader跳转至app时,使用asm(" LB 0x00084002")指令,从app跳转至bootloader时,使用看门狗复位芯片。有一些问题想要请教一下大家。

bootloader和app,这两个工程储存在FLASH的两个独立扇区,互不冲突,但是这两个工程都用了同一块RAM内存区域来存放运行过程中的全局变量以及从FLASH复制到RAM的代码(ramfuncs),在这种情况下

1. RAM上会有内存的冲突吗?假如上电后,从bootloader跳转至app后,bootloader中的一些储存在RAM上的全局变量和代码(ramfuncs)是否仍然存在,有没有对app的运行造成影响的可能?

2. 是否需要在跳转前对RAM进行清零?

3. 从bootloader跳转至app后,重新执行c_int00函数构建C语言环境,c_int00函数是否会对RAM(主要是.bss和.ebss段)进行清零操作,保证内存清零后再跳转至app的main()?

4. bootloader和app在使用RAM时,是否需要使用不同的内存区域独立开来?

谢谢大家!