把图片的数组testValue[307200]用绝对定位方式访问SRAM,如何给testValue[307200]赋值

2019-08-14 06:23发布

把图片的数组testValue[307200]用绝对定位方式访问SRAM,如何给testValue[307200]赋值
uint8_t testValue[307200] __attribute__((at(0x68000000))
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
taizonglai
1楼-- · 2019-08-14 08:26
 精彩回答 2  元偷偷看……
dczjn
2楼-- · 2019-08-14 08:43
本帖最后由 dczjn 于 2017-8-23 10:46 编辑

老师,看我哪儿写错了
dczjn
3楼-- · 2019-08-14 11:11
本帖最后由 dczjn 于 2017-8-23 10:53 编辑
zuozhongkai 发表于 2017-8-23 08:52
跟你平时使用数组一模一样,直接操作数组

uint8_t testValue[6] __attribute__((at(0x68000000));
uint8_t testValue[6]={6,6,8,8,9,9};
int main(void)
{
int i=0;
for(;i<6;i++)
   {
    printf("%d "testValue);

   }
  printf("%x " &testValue);
}

输出结果是垃圾数,数组地址到正确 是0x68000000
***************************************
如果在main函数内赋值,数组很大时,内存溢出,地址不是外部0X68000000
uint8_t testValue[6] __attribute__((at(0x68000000));

int main(void)
{
testValue[307200]={};
int i=0;
for(;i<307200;i++)
   {

    printf("%d "testValue);
   }
}
dczjn
4楼-- · 2019-08-14 11:45
zuozhongkai 发表于 2017-8-23 08:52
跟你平时使用数组一模一样,直接操作数组

老师,看看我写错在哪儿
dczjn
5楼-- · 2019-08-14 13:23
本帖最后由 dczjn 于 2017-8-23 10:59 编辑
dczjn 发表于 2017-8-23 10:38
uint8_t testValue[6] __attribute__((at(0x68000000));
uint8_t testValue[6]={6,6,8,8,9,9};
int mai ...

uint8_t testValue[6] __attribute__((at(0x68000000));
uint8_t testValue[6]={6,6,8,8,9,9};
int main(void)
{
int i=0;
for(;i<6;i++)
   {
    printf("%d "testValue);

   }
  printf("%x " &testValue);
}

输出结果是垃圾数,数组地址到正确 是0x68000000
***************************************
如果在main函数内赋值,数组很大时,内存溢出,地址不是外部0X68000000
uint8_t testValue[6] __attribute__((at(0x68000000));

int main(void)
{
testValue[307200]={};
int i=0;
for(;i<307200;i++)
   {

    printf("%d "testValue);
   }
}


上次的代码,忘记写中括号了,帖子中括号写不进去为何?

一周热门 更多>