arm-none-eabi-gcc 不识别__attribute__((at(xxx))命令如何将数据定义到外部SDAM(已验证)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



可以利用__attribute__((section(".xxx")))实现同样的效果

步骤:

从STM32H7xx参考手册中可以看到,FMC挂载的外部SDRAM的可访问地址从0xC000 0000-0xDFFF FFFF截止
在这里插入图片描述


1.在linker链接文件中添加指定SDRAM加偏移地址

MEMORY
{
	rom  (rx)  : ORIGIN = 0x08000000, LENGTH = 2048k - 64k
	ram  (rwx) : ORIGIN = 0x20000000, LENGTH = 128k
	ram1 (rwx) : ORIGIN = 0x10000000, LENGTH = 64k
	SDRAM (rwx)	: ORIGIN = 0xC0100000, LENGTH = 16M 
}
/* SDRAM 前16M给emwin用了*/

2 .添加SDRAM自定义section

	.sdram_data (NOLOAD) : 
	{ 
	. = ALIGN(4); 
	_sdram_data_begin = .; 
	*(.sdram_data) 
	*(.sdram_data*) 
	. = ALIGN(4); 
	_sdram_data_end = .; 
	} >SDRAM

3. 将数据定义到自定义区

__IO __attribute__ (( section (".sdram_data") ))  PARAM_T gp ;

其中有部分语法还需要学习

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值