【ARM】MDK如何将变量存储到指定内存地址

ops/2025/1/17 15:09:34/

1、 文档目标

通过MDK的工程配置,将指定的变量存储到指定的内存地址上。

2、 问题场景

在项目工程的开发过程中,对于flash要进行分区,需要规划出一个特定的内存区域来存储变量。

3、软硬件环境

1)、软件版本:MDK 5.38a

2)、电脑环境:Windows 11

3)、外设硬件:无

4、解决方法

1)、首先,需要在Options->Target中去规划出一个内存地址(如图4-1),在Read/write Memory Areas中的RAM1中去设置内存的起始地址和内存的大小。并且勾选上前面的default。

 图4-1

 2)、然后,切换在Linker栏中。取消勾选Use Memory Layout from Target Dialog,让µVision不根据Target和Properties对话框中提供的内存信息创建一个链接器分散文件。而由下面的Scatter Flies中去定义分散加载文件的内存划分。点击Edit...可以去编辑文件。(如图4-2)

 图4-2

 3)、在打开的分散加载文件中,去定义刚才在Target中规划的内存地址。如图4-3中的红框处。将这个内存段用sdram_area字段来标识。

 图4-3

4)、然后,在源文件中,将利用宏定义去用SDRAM_AREA_ATTRIBUTES标识符去标识__attribute__((section("sdram_area")))语句。在使用的时候,就可以按照下面代码段中的方式去使用。

#define SDRAM_AREA_ATTRIBUTES __attribute__((section("sdram_area")))int SDRAM_AREA_ATTRIBUTES test_num = 10;
char buf[20]SDRAM_AREA_ATTRIBUTES;

5)、定义好变量后,在源文件中调用了该变量后,可以在Map文件中看到定义的变量目前存储在指定的地址上。(如图4-5)

图4-5

————————————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。


http://www.ppmy.cn/ops/150833.html

相关文章

掌握C语言内存布局:数据存储的智慧之旅

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 目录 引言正文一、数据类型介绍1.内置类型2.自定义…

next-auth v5 结合 Prisma 实现登录与会话管理

1. 安装依赖 npm install next-auth prisma prisma/client2. 配置 Prisma 模型 在 prisma/schema.prisma 文件中定义 User 和 Account 模型(next-auth v5 推荐使用自定义模型)。 model User {id String id default(uuid())email …

css hover样式调试

调试 hover后才出现的元素如何调试 打开开发者工具,鼠标放在hover时才出现的元素上,然后点击右键不要选中任何选项,将鼠标移动到开发者工具的调试面板中按下N键,此时悬浮的元素不会消失,定位成功 调试元素悬浮样式 …

[答疑]用例规约:系统请求3dsMax创建体块

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第五元素 2024-12-22 12:39 潘老师,请教一个问题:在需求工作流书写系统用例规约时,这个“计算”(改变)可不可以写多个内容&…

vue用户点进详情页再返回列表页,停留在原位置

在 Vue 中使用 <keep-alive> 来缓存组件确实可以提高用户体验&#xff0c;尤其是在移动应用中。然而&#xff0c;有时候你可能希望某些页面在每次访问时都重新加载&#xff0c;而不是使用缓存的版本。为了实现这一点&#xff0c;你可以结合 key 属性和 Vue Router 的导航…

【React学习笔记】第一章:React入门

1.React介绍 中文官网&#xff1a; https://react.docschina.org/ 英文官网&#xff1a;https://reactjs.org/ 1.1 React是什么 react是一个用于构建用户界面的开源JavaScript库。&#xff08;操作DOM呈现页面&#xff09; 由Facebook的软件工程师 Jordan Walke创建&#xf…

基于微信小程序的中国各地美食推荐平台的设计与实现springboot+论文源码调试讲解

第4章 系统设计 4.1 系统设计的原则 在系统设计过程中&#xff0c;也需要遵循相应的设计原则&#xff0c;这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性&#xff0c;安全性&#xff0c;可定制化&#xff0c;可扩展性&#xff0c;可…

【Kotlin】上手学习之类型篇

一、类型 1.1 基本类型 主要分为 数字及其无符号版布尔字符字符串数组 1.1.1 数字 整数类型 Kotlin 提供了一组表示数字的内置类型。 对于整数&#xff0c;有四种不同大小的类型&#xff0c;因此值的范围也不同&#xff1a; 类型大小&#xff08;比特数&#xff09;最小…