用__attribute__,at关键字指定数组地址到flash,编译不过去

2019-08-17 04:33发布

开发环境用的是eclips,现在想定义一个数组,把数组的地址指定到flash区域,如下。可是编译不过去。求高手指点。t_uint8 test_buf[1024]__at(0X8070000); 或者写成
t_uint8 test_buf[1024] __attribute__((at(0X8070000))) = {0};

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lyz2017
1楼-- · 2019-08-17 09:25
我想法是错的,stm32flash并不支持XIP,所以这样定义没有意义。
shikihane
2楼-- · 2019-08-17 11:51
找一下,GCC是怎样手工定址的
liuchang
3楼-- · 2019-08-17 16:48
我觉得attribute不能指定到Flash区域吧...个人猜测...
huishun1314
4楼-- · 2019-08-17 22:38
MDK 里面可以用的。我在flash里面存储了一些点阵信息 ,可以读取出来。
const uint8 pic0[12][30] __attribute__ ((at(FLASH_USER_START_ADDR+0*FLASH_Page_SIZE)))={0};

一周热门 更多>