xieqin 发表于 2008-7-25 12:31

如何把程序分成多个代码段?

我用cygwin编译一个程序,&nbsp;系统默认有text段,data段,bss段等.&nbsp;为了分别加载程序,我需要把程序中的一部分代码分配到另外一个段.如text段和usertext段.怎么实现呢?&nbsp;<br /><br />ads,realview下通过#pragma&nbsp;arm&nbsp;section&nbsp;code&nbsp;=&nbsp;&quot;usertext&quot;&nbsp;和scatter&nbsp;file可以搞定.gcc里如何设置就不知道了.

djyos 发表于 2008-7-25 16:35

gcc的ld文件就是干这个的

网上很多关于ld的文档,好好看吧,例如,下面描述把3个文件的代码段组成一个名为.roinit的代码段<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.roinit&nbsp;:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init_start&nbsp;=&nbsp;.;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./djyos/kernel/rominit/initcpu.o&nbsp;./djyos/kernel/rominit/load_1st.o&nbsp;./djyos/kernel/rominit/int.o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(.text)&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&gtrom&nbsp;<br />

hspring86 发表于 2008-8-7 11:55

可以参考gcc手册

请参考gcc手册中关于__attribute__的&nbsp;sector项
页: [1]
查看完整版本: 如何把程序分成多个代码段?