这是两次的编译结果,加或不加xdata修饰为什么结果都一样?(两个都是在XSAMLL模式下的编译结果) ...
两个截图都是Target not create,应该还没有编译到你说这个位置就报错停止编译了。
把报错、告警处理完再试试。 问题解决了!!!设置的问题(多谢deepseek帮我了一把)
总结一下:
stc32g大于rom64k编程:参见大佬的帖子。
在target option里的externnal memory里找一栏ram改成rom,起始位置填上0xfe0000(如果想要bootloader了话按自己的需求填,我填的这个就是ecode的起始位置),size填你想要的,64k就行,记得填十六进制数。
stc32g外扩ram用数组访问:在target option里的external memory里再找一栏ram,起始位置填0x7f0000,大小填你扩的大小,比如32k(记得填十六进制数,一片就够了不建议扩64k,两片涉及到地址重叠问题容易玩脱)。定义数组时候用far关键字。比如unsigned char far exram;就能当数组正常访问了。 关于外扩ram数组访问的这个设置在官方例程包里好像没找到啊,坛子里搜也没太搜到。官方给的是define了一个far指针来访问,有时候会不太方便。数组访问的方法为什么没给啊,建议在例程包里给一下。(给过了我没发现了话记得踢我一脚提醒一下,可能没仔细看。。。)
页:
1
[2]