你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
warning: 'at' attribute directive ignored
[复制链接]
bluehhn
提问时间:2019-7-31 00:38 /
用STM32CUBEIDE开发时在使用attribute at 属性时,编译提示warning: 'at' attribute directive ignored,各位大佬怎么解决???
赞
0
收藏
0
评论
3
分享
发布时间:2019-7-31 00:38
举报
请先
登录
后回复
3个回答
wenyangzeng
回答时间:2019-7-31 09:48:06
a0a.1 32b0c
变量不应该分配在flash段,
buff[]分配的那个绝对地址出错(0x10001000)。
楼主其实不用给数组分配绝对地址,让编译器自己分配就可以了。
看看内存映像0x10001000的位置吧,0x08080000-0x1fffefff是保留区:
赞
1
评论
回复
支持
1
反对
0
byronsong
回答时间:2019-7-31 08:39:43
a0a.1 32b0c
看看下面这段代码
#if defined ( __ICCARM__ ) /*!< IAR Compiler */
#pragma location=0x30040000
ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */
#pragma location=0x30040060
ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */
#pragma location=0x30040200
uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE]; /* Ethernet Receive Buffers */
#elif defined ( __CC_ARM ) /* MDK ARM Compiler */
__attribute__((at(0x30040000))) ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */
__attribute__((at(0x30040060))) ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */
__attribute__((at(0x30040200))) uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE]; /* Ethernet Receive Buffer */
#elif defined ( __GNUC__ ) /* GNU Compiler */
ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT] __attribute__((section(".RxDecripSection"))); /* Ethernet Rx DMA Descriptors */
ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT] __attribute__((section(".TxDecripSection"))); /* Ethernet Tx DMA Descriptors */
uint8_t Rx_Buff[ETH_RX_DESC_CNT][ETH_MAX_PACKET_SIZE] __attribute__((section(".RxArraySection"))); /* Ethernet Receive Buffers */
#endif
复制代码
不同编译器,分散加载使用的关键字有区别的吧?
评分
参与人数
1
蝴蝶豆
+2
收起
理由
STMCU
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
bluehhn
回答时间:2019-8-1 15:40:51
a0a.1 32b0c
我的那个截图只是一个示例,实际情况是用fmc外扩sdram做为显存,将存储显示数据的数组定位到sdram中的时候报的这个警告。然后看了一下stm32cubeide里面的C语言编译器的文档,确实没有at这个属性,看了下要用section这个属性,然后把链接脚本改一下就ok了。
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
buff[]分配的那个绝对地址出错(0x10001000)。
楼主其实不用给数组分配绝对地址,让编译器自己分配就可以了。
看看内存映像0x10001000的位置吧,0x08080000-0x1fffefff是保留区:
不同编译器,分散加载使用的关键字有区别的吧?
评分
查看全部评分