共2条
1/1 1 跳转至页
codewarrior,simple,scattered 请教codewarrior中连接器的simple和scattered的差别!
问
各位大大,我在移植ucos到2104的开发板时,在codewarrior编译器中的ARM linker之output 选项中选择simple并设置RO BASE为0x00000000,RW BASE为0x40000040并正确的设置了layout中的选项(参照设计),但是在调试时为什么总是出现异常中止,
而在codewarrior编译器中的ARM linker之output 选项中选择scattered选项,程序可以正常运行!
请问这两个选项有什么差别?还是我什么地方没有正确的设置呢? 答 1: 区别simple模式下,只是简单的指定RO base和RW base的地址。
scattered模式下,需要编写相应的.scf(分散加载文件)文件来指示连接器的工作。 答 2: 迷惑?我看了生成的list,这两个选项造成的区别仅仅是stack.o的RW分配空间从0x40004000改变到0x4000024c0,不知这是否会造成程序异常? 答 3: 分散加载文件该怎么写? 看不明白
而在codewarrior编译器中的ARM linker之output 选项中选择scattered选项,程序可以正常运行!
请问这两个选项有什么差别?还是我什么地方没有正确的设置呢? 答 1: 区别simple模式下,只是简单的指定RO base和RW base的地址。
scattered模式下,需要编写相应的.scf(分散加载文件)文件来指示连接器的工作。 答 2: 迷惑?我看了生成的list,这两个选项造成的区别仅仅是stack.o的RW分配空间从0x40004000改变到0x4000024c0,不知这是否会造成程序异常? 答 3: 分散加载文件该怎么写? 看不明白
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |