jump_table_base [88]

4个帖子/ 0新
最后一篇
滑轨
离线
最后一次露面:5年7个月前
专家
加入:2014-08-12 08:01
jump_table_base [88]

嗨对话框
在文件名中是“jump_table.c”,我找到了这样的数组:

const uint32_t * const jump_table_base [88] __Attribute __((部分(“jump_table_mem_area”))))))
{
......
}

这个阵列的用法是什么?
我可以更改数组或添加任何元素吗?

ak_dialog.
离线
最后一次露面:5天19小时前
员工
加入:2013-12-16 15:49
林,

林,

jump_table是保留存储器中的数组,其中存储指向不同函数和变量的指针。即使在深度睡眠模式下,此内存区域也会供电,并将保留其内容。

不建议对此阵列进行更改。

最好的祝福,

对话支持团队

滑轨
离线
最后一次露面:5年7个月前
专家
加入:2014-08-12 08:01
嗨ak_dialog

嗨ak_dialog
感谢您的回答。
嗯,数据表描述了设备中的内存是:
32KB OTP +
42KB系统SRAM +
84kb rom +
8KB保留SRAM.
SystemSRAM和保留SRAM之间有什么不同?
如何知道我的变量存储,系统SRAM或保留SRAM在哪里?

mhv_dialog
离线
最后一次露面:3周2天前
员工
加入:2013-12-06 15:10
嗨Sklin,

嗨Sklin,

系统RAM是通常执行应用程序代码的一个存储器块。系统RAM关闭,输入深度睡眠模式时丢失数据。保留RAM由4个RAM块组成,可单独打开和关闭。它们是分散的,以便在深度睡眠期间以1kbyte增量保留1到8kbyte。

要了解实际存储在保留RAM中的内容,请查看任何FH示例应用程序的App_Env环境结构(Reporter_FH)。在深睡眠期间需要保留一些应用层信息,因此该环境结构存储在保留RAM区域中。

我希望能帮助您了解差异。