OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4973|回复: 1

关于定义初始值存放位置的一点疑惑?

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2017-4-23
在线时间
19 小时
发表于 2017-6-11 14:47:47 | 显示全部楼层 |阅读模式
1金钱
如果在代码中那个定义:u8 a[]={1,2,3};这应该属于编译的RW部分,最终会被放到ram中。
如果定义const u8[]={1,2,3};会被编译成RO部分,最终放在flash。
一上两种情况值定义是可以在代码运行时直接用的。但是如果定义u8 a[3]  __attribute__ ((at(0xd0000000)))={1,2,3};放在SDRAM中是有问题的。
请问这个应该怎么解决?是把SDRAM初始化放到main函数之前?谢谢啦!

无标题.png

最佳答案

查看完整内容[请看2#楼]

先定义:u8 a[3] __attribute__ ((at(0xd0000000)));然后再赋值。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-6-11 14:47:48 | 显示全部楼层
先定义:u8 a[3]  __attribute__ ((at(0xd0000000)));然后再赋值。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 21:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表