IAR 为自定义数据定义内存区域

Posted

技术标签:

【中文标题】IAR 为自定义数据定义内存区域【英文标题】:IAR define memory region for custom data 【发布时间】:2015-11-09 20:35:49 【问题描述】:

我想在 STM32 micro 中定义一个特定的内存区域来存储一些字符串。我正在使用 IAR 编译器,但我没有找到一个简单的示例可以帮助我使用 icf 文件以正确的方式创建区域。如何创建区域并在代码中使用该区域?谢谢

【问题讨论】:

这个例子 (supp.iar.com/Support/?note=27498) 不清楚吗? 是不清楚,因为在示例中您可以看到功能的分配。在我的情况下,我想创建一个示例 1K 的内存区域,用于放置字符串列表。 这么贵的工具链却没有支持? 我一直希望在这里得到一个快速的答复! :-) 【参考方案1】:

我找到了这个解决方案:

在icf文件中我是这样定义内存区域的:

define region LANGUAGE_region   = mem:[from 0x080FB000 to 0x080FC000];
"LANGUAGE_PLACE":place at start of LANGUAGE_region   section .LANGUAGE_PLACE.noinit ;

我将使用程序员用一个外部 srec 文件填充这个区域。 为了用一个简单的程序(使用整数)测试这个区域,我使用了这个声明:

在标题中:

extern const unsigned int mydata @".LANGUAGE_PLACE.noinit";

在C文件中:

const unsigned int mydata;

在调试器中,我可以在 0x0800FB000 处看到 mydata 常量的正确地址

【讨论】:

您想将字符串存储在一个整数中......?考虑到这个问题,这段代码有什么意义?你不应该有一个二维字符数组吗? 对我来说重要的是找到一种在闪存中创建区域的方法。我在示例代码中使用了一个整数,只是为了测试我所在区域的起始地址是否受到尊重。那我就试着把字符串数组,

以上是关于IAR 为自定义数据定义内存区域的主要内容,如果未能解决你的问题,请参考以下文章

快速将数据解析为自定义数据对象

如何在 WooCommerce 中为自定义产品数据选项卡定义图标

为自定义 Laravel 包提供数据的最佳方式是啥?

IOS自定义UIbutton,怎样让点击的有效区域集中在图标内?

R语言将连续数值转换为自定义间隔的离散类型数据(分类型标称型)实战: 自定义间隔的数据分箱

C#中string类型转换为自定义数据类型怎么转?