include/arch/arm: linker.ld: Add shared memory sections definitions
STM32WB HCI driver requires definition of 2 RAM regions to support use of 3 shared memory sections: MAPPING_TABLE, MB_MEM1 and MB_MEM2. In linker.ld, under conditions of HCI driver to be enabled, define SRAM1 and SRAM2 based on input defined in stm32wb linker. Then define the 3 sections MAPPING_TABLE, MB_MEM1 and MB_MEM Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This commit is contained in:
parent
a0e81717ac
commit
c6ebfad7a7
4 changed files with 24 additions and 2 deletions
|
@ -102,7 +102,10 @@ MEMORY
|
||||||
CCM (rw) : ORIGIN = DT_CCM_BASE_ADDRESS, LENGTH = DT_CCM_SIZE * 1K
|
CCM (rw) : ORIGIN = DT_CCM_BASE_ADDRESS, LENGTH = DT_CCM_SIZE * 1K
|
||||||
#endif
|
#endif
|
||||||
SRAM (wx) : ORIGIN = RAM_ADDR, LENGTH = RAM_SIZE
|
SRAM (wx) : ORIGIN = RAM_ADDR, LENGTH = RAM_SIZE
|
||||||
|
#ifdef CONFIG_BT_STM32_IPM
|
||||||
|
SRAM1 (rw) : ORIGIN = RAM1_ADDR, LENGTH = RAM1_SIZE
|
||||||
|
SRAM2 (rw) : ORIGIN = RAM2_ADDR, LENGTH = RAM2_SIZE
|
||||||
|
#endif
|
||||||
/* Used by and documented in include/linker/intlist.ld */
|
/* Used by and documented in include/linker/intlist.ld */
|
||||||
IDT_LIST (wx) : ORIGIN = (RAM_ADDR + RAM_SIZE), LENGTH = 2K
|
IDT_LIST (wx) : ORIGIN = (RAM_ADDR + RAM_SIZE), LENGTH = 2K
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,3 +2,8 @@ zephyr_include_directories(${ZEPHYR_BASE}/drivers)
|
||||||
zephyr_sources(
|
zephyr_sources(
|
||||||
soc.c
|
soc.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zephyr_linker_sources_ifdef(CONFIG_BT_STM32_IPM
|
||||||
|
SECTIONS
|
||||||
|
ipm.ld
|
||||||
|
)
|
||||||
|
|
9
soc/arm/st_stm32/stm32wb/ipm.ld
Normal file
9
soc/arm/st_stm32/stm32wb/ipm.ld
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019 Linaro Limited
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
MAPPING_TABLE (NOLOAD) : {_sMAPPING_TABLE = .; *(MAPPING_TABLE); _eMAPPING_TABLE = .; } >SRAM1
|
||||||
|
MB_MEM1 (NOLOAD) : { _sMB_MEM1 = .; *(MB_MEM1); _eMB_MEM1 = .; } >SRAM1
|
||||||
|
MB_MEM2 (NOLOAD) : { _sMB_MEM2 = .; *(MB_MEM2); _eMB_MEM2 = .; } >SRAM2
|
|
@ -1,9 +1,14 @@
|
||||||
/* linker.ld - Linker command/script file */
|
/* linker.ld - Linker command/script file */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014-2016 Wind River Systems, Inc.
|
* Copyright (c) 2019 Linaro Limited
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define RAM1_SIZE (10 * 1K)
|
||||||
|
#define RAM1_ADDR 0x20030000
|
||||||
|
#define RAM2_SIZE (20 * 1K)
|
||||||
|
#define RAM2_ADDR 0x20038000
|
||||||
|
|
||||||
#include <arch/arm/cortex_m/scripts/linker.ld>
|
#include <arch/arm/cortex_m/scripts/linker.ld>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue