GNU/GCC , arm-none-eabi-gcc 不识别__attribute__((at(xxx))); 请问如何把大数组定义在SDRAM

2019-07-20 05:30发布

使用GNU/GCC , arm-none-eabi-gcc 不识别__attribute__((at(0X68000000)));       

请问需要怎么搞, 把大数组放在SDRAM中?  谢谢

看资料可以类似使用 __attribute__ (( section (".ext1text") )), 请问LD文件怎么写? 谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
edmund1234
1楼-- · 2019-07-20 08:03
 精彩回答 2  元偷偷看……
ufbycd
2楼-- · 2019-07-20 08:13
本帖最后由 ufbycd 于 2018-9-11 17:33 编辑

你这数组属于已初始化的全局变量,似乎要牵涉到启动代码,似乎有点麻烦。
rockzhou
3楼-- · 2019-07-20 10:02
__attribute__ (( section (".sdram") )) uint16_t DCMI_FRAMEBUFFER2[800*600 + 64];
__attribute__ (( section (".sdram") )) uint16_t LTDC_FRAMEBUFFER[1024*600];

全局,不用初始化,没有={xxx}, 不修改启动, 只想在程序中如下应用,从Camera采集到   ->  SDRAM_addr1  -> 相关操作  -> SDRAM_addr2  -> LTDC显示(映射在SDRAM_addr3)  
rockzhou
4楼-- · 2019-07-20 11:14
 精彩回答 2  元偷偷看……
rockzhou
5楼-- · 2019-07-20 11:53
 精彩回答 2  元偷偷看……
edmund1234
6楼-- · 2019-07-20 17:23
之前因编译器升到6.0, 也出现同样的问题, 据说明书说是改了格式, 按着说明书的改就行了
不想改可以选择用5.0编译就不会出错了

一周热门 更多>