guoyvv 发表于 2011-07-12 18:19

通过什么方法能过把在RODATA, DATA, BSS段的东西放到TEXT段中?

目前我们用的CPU比较特殊, DRAM和IRAM是分开存放的, DRAM只有128KB. 而IRAM就没有这样的限制.

我们现在的编译结果, RODATA+DATA+BSS段已经超过了128KB, 导致总是需要删除一些东西.

请问有什么办法, 我可以把应该放到RODATA+DATA+BSS的东西, 比如全局变量, 字符串等等放到TEXT段中, 这样就不会因为DRAM没有空间发愁了.

ChiyuT 发表于 2011-07-13 08:00

记得gcc的attribute扩展是可以的,楼主查查手册

garyv 发表于 2011-07-13 09:58

记得gcc的attribute扩展是可以的,楼主查查手册
ChiyuT 发表于 2011-07-13 08:00 http://bbs.chinaunix.net/images/common/back.gif


    楼主用的东西不一定跑linux,gcc吧,可能是个16bit单片机?我觉得可以改的,改一下链接定位文件,就是一个配置文件之类的就行了

ChiyuT 发表于 2011-07-13 11:13

楼主用的东西不一定跑linux,gcc吧,可能是个16bit单片机?我觉得可以改的,改一下链接定位文件, ...
garyv 发表于 2011-07-13 09:58 http://bbs.chinaunix.net/images/common/back.gif


    嗯。这个更靠谱。:mrgreen:

吾爱夏日长 发表于 2011-07-16 21:24

链接文件里不是描述了各个段得分配地址嘛,可以在里面讲相关的段更改到你想要的地址,实际上也就是分散加载技术

cjaizss 发表于 2011-07-17 11:04

这个问题,只好具体问题具体对待了。
页: [1]
查看完整版本: 通过什么方法能过把在RODATA, DATA, BSS段的东西放到TEXT段中?