156***358
使用贵方在csdn发布的教学文章中的代码,发现适配GR5513BENDU时,RAM区域的不同执行域发生了重叠。具体来说,RAM_ZI、ARM_LIB_HEAP和ARM_LIB_STACK这几个执行域的地址范围发生了重叠。
https://blog.csdn.net/2301_79279246/article/details/139591457?spm=1001.2014.3001.5502
想麻烦您指导一下如何调整。
报错信息如下:
.\Objects\ble_app_multi_slave.axf: Error: L6221E: Execution region RAM_ZI with Execution range [0x00808620,0x0081f03c) overlaps with Execution region ARM_LIB_STACK with Execution range [0x0081c000,0x00820000).
.\Objects\ble_app_multi_slave.axf: Error: L6221E: Execution region ARM_LIB_HEAP with Execution range [0x0081f040,0x00820040) overlaps with Execution region ARM_LIB_STACK with Execution range [0x0081c000,0x00820000).
Finished: 0 information, 0 warning and 2 error messages.
".\Objects\ble_app_multi_slave.axf" - 2 Error(s), 3 Warning(s).
当前的RAM配置如下
#! armcc -E -I .\..\Src\user\ -I .\..\Src\config\ --cpu Cortex-M4
#include "flash_scatter_config.h"
#define ALIGN_DWORD 0x0008
#define ALIGN_WORD 0x0004
#define ALIGN_16KB 0x4000
#define ALIGN_32KB 0x8000
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
;
; If an application uses a different memory layout then it must
; use a customized scatter file.
;**************************************************************
LR_FLASH APP_CODE_RUN_ADDR FLASH_SIZE {
; Flash layout
FLASH_CODE APP_CODE_RUN_ADDR APP_MAX_CODE_SIZE { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RAM_TINY_RW TINY_RAM_SPACE_START TINY_RAM_SPACE_SIZE {
.ANY (TINY_RAM_SPACE)
}
; RAM for fpb resource
FPB_TABLE FPB_SECTION_START FPB_SECTION_SIZE {
.ANY (FPB)
}
; RAM for Application code
RAM_RW (RAM_START_ADDR + ROM_RTN_RAM_SIZE) APP_RAM_SIZE {
.ANY(+RW)
}
#if (CFG_LCP_SUPPORT)
; retention RAM for LCP Module
RAM_LCP AlignExpr(+0, ALIGN_WORD) CRITICAL_CODE_MAX_SIZE {
lld_lcp.o(+RO)
ble_lcp_sdk.o(+RO)
sch_*.o(+RO)
app_dual_tim.o(+RO)
gr55xx_hal_dual_tim.o(+RO)
app_io.o(+RO)
gr55xx_hal_gpio_1.o(+RO)
gr55xx_hal_aon_gpio_patch.o(+RO)
app_gpiote.o(+RO)
}
#endif
#if defined(XIP_MODE)
; retention RAM for exflash driver code
RAM_CODE AlignExpr(+0, ALIGN_WORD) CRITICAL_CODE_MAX_SIZE {
.ANY(RAM_CODE)
}
RAM_RESERVE AlignExpr(+0, 32) UNINIT RAM_RESERVE_SECTION_SIZE {
.ANY(RAM_RESERVE)
}
#endif
RAM_ZI +0 APP_RAM_SIZE {
.ANY(+ZI)
}
#if defined(ROM_RUN_IN_FLASH)
ROM_IN_FLASH_RAM 0x836000 EMPTY 0x5000{}
#endif
; Ram heap
ARM_LIB_HEAP AlignExpr(+0, ALIGN_DWORD) EMPTY SYSTEM_HEAP_SIZE {}
; define call-stack space
ARM_LIB_STACK AlignExpr(STACK_END_ADDR, ALIGN_DWORD) EMPTY -SYSTEM_STACK_SIZE {}
}
zhongchengzhi
您好:
1、靠近解锁方案是基于GR5515开发的,GR5515是256KB SRAM, GR5513是128KB SRAM,所以会出现SRAM不足的情况;
2、您可以尝试把custom_config.h文件的CFG_MAX_CONNECTIONS改为2,试试SRAM是否满足. 若是还是不够,建议用GR5515芯片做开发;
打开微信,使用“扫一扫”即可关注