我是靠谱客的博主 火星上热狗,最近开发中收集的这篇文章主要介绍arm-none-eabi-gcc 不识别__attribute__((at(xxx))命令如何将数据定义到外部SDAM(已验证)可以利用__attribute__((section(".xxx")))实现同样的效果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

文章目录

  • 可以利用__attribute__((section(".xxx")))实现同样的效果
    • 步骤:
    • 1.在linker链接文件中添加指定SDRAM加偏移地址
    • 2 .添加SDRAM自定义section
    • 3. 将数据定义到自定义区



可以利用__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 ;

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

最后

以上就是火星上热狗为你收集整理的arm-none-eabi-gcc 不识别__attribute__((at(xxx))命令如何将数据定义到外部SDAM(已验证)可以利用__attribute__((section(".xxx")))实现同样的效果的全部内容,希望文章能够帮你解决arm-none-eabi-gcc 不识别__attribute__((at(xxx))命令如何将数据定义到外部SDAM(已验证)可以利用__attribute__((section(".xxx")))实现同样的效果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部