首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在c++中的特定内存位置创建数据结构。

在c++中的特定内存位置创建数据结构。
EN

Stack Overflow用户
提问于 2016-08-23 00:46:11
回答 4查看 1.6K关注 0票数 3

我正在开发一个嵌入式mcu,它有两个内核,都可以看到从0x80000000开始的内存区域。

ADC连接到一个核心,无线电连接到另一个核心。我想将ADC接收到的数据值写入此存储器地址,以便其他内核可以读取它。

有没有人能帮我弄清楚怎么做?这不是微型操作系统,它是裸机。

我会创建一个指向特定地址的结构体的指针吗?

我在一个数组中有两个值,我如何将它们放入结构中?

代码语言:javascript
复制
#define NUM_SAMPLES_POLLED (2)
uint16_t samples_polled[NUM_SAMPLES_POLLED]
EN

回答 4

Stack Overflow用户

发布于 2016-08-23 00:51:10

在本例中,您可以将地址直接分配给一个指针:

代码语言:javascript
复制
char *memdata = (char *)0x80000000;

请记住,此行为是由实现定义的。

票数 5
EN

Stack Overflow用户

发布于 2016-08-23 02:38:30

如何在这个确切的地址上创建一个包含一些值的数组?

C语言没有定义任何将变量分配给特定地址的机制。实际上,这种机制在托管C实现中可能是不可行的,因为几乎所有现代托管实现都依赖于具有虚拟内存的底层操作系统。

由于您可能正在为独立的实现编写代码(假设目标是嵌入式MCU),因此很可能存在一种机制来满足您的要求。由@dbus.推荐的那个将是一个很好的候选者,但只有通过检查你的文档才能确定。

票数 3
EN

Stack Overflow用户

发布于 2016-08-23 01:26:30

最好阅读工具链中关于定义和使用共享内存的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39084750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档