Besides adding ARCH_HAS_CODE_DATA_RELOCATION, this patch also adds support for the "sample_controller" SoC (used by qemu_xtensa) as demonstration. As Xtensa lacks a common linker script at the arch level, enabling it for each platform will be a piecemeal effort. This patch adds it to the `soc/xtensa/sample_controller` SoC. Basically, default RAMABLE_REGION is set to be called "RAM", and hooks are inserted so that gen_relocate_app.py can add the relevant linker bits. Also, `tests/application_developent/code_relocation` was tweaked to support the qemu_xtensa platform. Basically, add the relevant linker script and ensure that relevant memory regions have their program header (PHDR) associated. Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
26 lines
1.1 KiB
YAML
26 lines
1.1 KiB
YAML
common:
|
|
tags: linker
|
|
tests:
|
|
tests.application_development.code_relocation:
|
|
filter: not CONFIG_CPU_HAS_NXP_MPU and CONFIG_MINIMAL_LIBC and dt_chosen_enabled("zephyr,itcm")
|
|
arch_allow: arm
|
|
extra_configs:
|
|
- CONFIG_RELOCATE_TO_ITCM=y
|
|
tests.application_development.code_relocation_kinetis:
|
|
filter: CONFIG_CPU_HAS_NXP_MPU and CONFIG_MINIMAL_LIBC and dt_chosen_enabled("zephyr,itcm")
|
|
arch_allow: arm
|
|
extra_configs:
|
|
- CONFIG_RELOCATE_TO_ITCM=y
|
|
- CONFIG_MPU_ALLOW_FLASH_WRITE=y
|
|
tests.application_development.code_relocation.no_itcm:
|
|
filter: not CONFIG_CPU_HAS_NXP_MPU and not dt_chosen_enabled("zephyr,itcm")
|
|
arch_allow: arm
|
|
extra_sections: _SRAM2_RODATA_SECTION_NAME _SRAM_TEXT_SECTION_NAME _SRAM_RODATA_SECTION_NAME _SRAM_DATA_SECTION_NAME _CUSTOM_SECTION_NAME2
|
|
platform_allow: qemu_cortex_m3 mps2_an385 sam_e70_xplained
|
|
tests.application_development.code_relocation.riscv:
|
|
extra_args: CONF_FILE="prj_riscv.conf"
|
|
platform_allow: qemu_riscv32 qemu_riscv64
|
|
tests.application_development.code_relocation.xtensa:
|
|
extra_args: CONF_FILE="prj_xtensa.conf"
|
|
platform_allow: qemu_xtensa
|