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
|
||||
#endif
|
||||
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 */
|
||||
IDT_LIST (wx) : ORIGIN = (RAM_ADDR + RAM_SIZE), LENGTH = 2K
|
||||
}
|
||||
|
|
|
@ -2,3 +2,8 @@ zephyr_include_directories(${ZEPHYR_BASE}/drivers)
|
|||
zephyr_sources(
|
||||
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 */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2014-2016 Wind River Systems, Inc.
|
||||
* Copyright (c) 2019 Linaro Limited
|
||||
*
|
||||
* 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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue