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.
CPU1和CPU2的程序同时在RAM中调试运行,看demo中程序都load到LS0~LS5中运行,不过CPU1和CPU2的程序都比较大,不能把两者的程序都加在LS0~LS5中,否则程序没法加载或者无法运行。
1.那GS0~GS15可以用作.text 的空间来加载吗?
2..cinit .pinit .stack .ebss .econst .esysmem能定位到GS0~GS15吗?
3.要是GS0~GS15可以这样的使用的话,CMD该怎么修改呢?
现在把CPU2的程序加载到GS0~GS15(cpu1中的GSxMSEL相关位已经使能),CPU2的没办法运行。附件是我CPU2的cmd文件
谢谢!
1. 可以的,你在CMD分配一下就好。注意GS0~15默认是给CPU1的,如果要分配给CPU2, 应该要配置一下。
2. 可以。还是在CMD上设置那个映射。
3. CMD的修改,你只要把原来段的映射改成GS0或其他即可。
.text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
例如把上面改成:
.text :> RAMGS0 PAGE = 0, ALIGN(4)
你要把RAMGS0放在PAGE0。
4. 要分配GS给CPU2,你要在CPU1的初始化代码中将GS分配给CPU2才能用。
最后,运行在RAM上,掉电程序会丢失,所以你最后还是要烧写在FLASH才是。
ERIC