我想知道如果583有Flash内存映射,它的地址和长度是什么。我试图建立一个自定义分散文件与它。< / p > < p > < br / >问好Ankit < / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / da14583 typeof =“skos:概念”属性= " rdfs: labelskos: prefLabel”数据类型= " " > DA14583 < / > < / div > < div class = " field-item古怪”> < a href = " / resource-keywords / scatter-file”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >散射文件< / > < / div > < div class =”field-item甚至“> < a href = " / resource-keywords /内存映射”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >内存映射< / > < / div > < / div > < / div > < div class =”字段field-name-field-device field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >设备:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / forum-post-device / da14583”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " > DA14583 < / > < / div > < / div > < / div >
I 'm listing map file as below:
————————
Load Region LR_RETENTION_RAM2 (Base: 0x00080768, Size: 0x00000000, Max: 0x00002898, ABSOLUTE)
Execution Region ZI_RET20 (Base: 0x00080768, Size: 0x00000a8c, Max:
0x00080768 0x0000040c Zero RW 541 heap_db_area jump_table. db_area
Base Addr Size Type Attr Idx E Section Name Object 0x00080768 0x0000040co
0x00080b74 0x00000154 0 RW 542 heap_env_area jump_table. o
0x00080b74 0x00000154 0 RW 542 heap_env_area jump_table. oo
0x00080cc8 0x0000052c Zero RW 544 heap_msg_area jump_table. o
0x00080cc8 0x0000052co
执行区域ZI_RET21 (Base: 0x00082a20, Size: 0x000005e0, Max: 0x000005e0, ABSOLUTE)
Base Addr Size Type Attr Idx E Section Name Object
0x00082a20 0x000005de Zero RW 287 BLE_exchange_memory arch_main. oo
————————
关于这个.map文件,0x82a20 - (0x80cc8 + 0x52c) = 0x182c (Bytes)似乎是空的。 So we can use this area freely.
> Question 1. Is it correct??
If question 1 is correct, we can use these area to book any variables as __attribute((section(“retention_mem_area0"),zero_init)). There are two places where retention_mem_area0 is defined in Scatter file. (When ext-sleep usage) And if first place(0x20008000) for retention_mem_area0 is not enough to allocate retentioned variables, those variables will be allocated to second place(0x80768-).
> Question 2. Is it correct?? (Actually, I tested and it seems to work…)
I could move some variables from 0x200000000 area to 0x80000 area, but I couldn’t move code like function() in some_file.c by just adding "some_file.o" to LR_RETENTION_RAM2 region. I got error while writing code to Flash Memory via SmartSnipetts… Is it proper behavior? I think this is proper because I had not defined "some_file.o" to scatter_file as “Executed Region”.
> Question 3. Is it possible to move function/codes (not variables) to this free Retention area (0x811f4 - 0x82a20) editing scatter file like Executed Region or something else??
If I could have any comment on this, it would be much appreciated.
Thank you very much for your supports in advance.
Best Regards,
CD