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.

关于 280049 程序增加,结构体变量后 程序无法运行,修改cmd文件后可以解决

对应280049芯片

app程序 在头文件定义一个结构体,里面有个变量为u32位 变量 ,编译通过后,程序烧录进去后,能正常运行,但是重新上电后就不能正常运行,程序包括bootloader 和app部分,如果将u32改为u16 编译通过 且重新上电也能正常运行

struct U_LOOP

{

.....

u32 Soft_count;

.....

};

另外cmd文件将

.ebss :> RAMLS5, PAGE = 1

改为:

.ebss :> RAMLS2, PAGE = 0

也能正常运行

RAMLS2和 RAMLS5配置如下:

MEMORY

{

PAGE 0 :

.....

RAMLS2 :origin = 0X009800, length = 0x000800

.....

PAGE 1 :

.....

RAMLS5 :origin = 0X00A800, length = 0x001800

.....

}

请问这是什么原因,有点不太懂,一开始是怀疑全局变量存储空间问题,但是编译通过,且看了Memory Allocation RAM空间也是挺足的?