Tree:
ec80ab5bb6
backport-73945-to-v2.7-branch
backport-78976-to-v3.7-branch
backport-80768-to-v3.7-branch
backport-81533-to-v4.0-branch
backport-82072-to-v2.7-branch
backport-83355-to-v4.0-branch
backport-84509-to-v4.0-branch
backport-84908-to-v4.0-branch
backport-84955-to-v3.7-branch
backport-85353-to-v4.0-branch
backport-85407-to-v4.0-branch
backport-86218-to-v4.1-branch
backport-86534-to-v4.1-branch
backport-86662-to-v4.0-branch
backport-86662-to-v4.1-branch
backport-87066-to-v4.0-branch
backport-87080-to-v4.1-branch
backport-87152-to-v4.1-branch
backport-87235-to-v4.0-branch
backport-87871-to-v3.7-branch
backport-88082-to-v4.0-branch
backport-88082-to-v4.1-branch
backport-88315-to-v3.7-branch
backport-88315-to-v4.0-branch
backport-88406-to-v4.0-branch
backport-88560-to-v4.0-branch
backport-88631-to-v4.0-branch
backport-88631-to-v4.1-branch
backport-88635-to-v4.0-branch
backport-88635-to-v4.1-branch
backport-89385-to-v4.1-branch
backport-89525-to-v4.1-branch
backport-89534-to-v4.1-branch
backport-89982-to-v4.0-branch
backport-89982-to-v4.1-branch
backport-90716-to-v4.0-branch
backport-90747-to-v4.1-branch
backport-90990-to-v3.7-branch
backport-90990-to-v4.1-branch
backport-91294-to-v4.1-branch
backport-91430-to-v4.1-branch
backport-91949-to-v3.7-branch
backport-91949-to-v4.0-branch
backport-91949-to-v4.1-branch
backport-92569-to-v4.1-branch
backport-92779-to-v3.7-branch
backport-92779-to-v4.0-branch
backport-92779-to-v4.1-branch
collab-hwm
collab-init
collab-mesh-subnet
collab-rust
collab-safety
collab-sdk-0.18-dev
collab-sdk-dev
main
v1.10-branch
v1.11-branch
v1.12-branch
v1.13-branch
v1.14-branch
v1.5-branch
v1.6-branch
v1.7-branch
v1.8-branch
v1.9-branch
v2.0-branch
v2.1-branch
v2.2-branch
v2.3-branch
v2.4-branch
v2.5-branch
v2.6-branch
v2.7-auditable-branch
v2.7-branch
v3.0-branch
v3.1-branch
v3.2-branch
v3.3-branch
v3.4-branch
v3.5-branch
v3.6-branch
v3.7-branch
v4.0-branch
v4.1-branch
v1.0.0
v1.1.0
v1.1.0-rc1
v1.10.0
v1.10.0-rc1
v1.10.0-rc2
v1.10.0-rc3
v1.11.0
v1.11.0-rc1
v1.11.0-rc2
v1.11.0-rc3
v1.12.0
v1.12.0-rc1
v1.12.0-rc2
v1.12.0-rc3
v1.13.0
v1.13.0-rc1
v1.13.0-rc2
v1.13.0-rc3
v1.14.0
v1.14.0-rc1
v1.14.0-rc2
v1.14.0-rc3
v1.14.1
v1.14.1-rc1
v1.14.1-rc2
v1.14.1-rc3
v1.14.2
v1.14.3
v1.14.3-rc1
v1.14.3-rc2
v1.2.0
v1.2.0-rc1
v1.2.0-rc2
v1.3.0
v1.3.0-rc1
v1.3.0-rc2
v1.4.0
v1.4.0-rc1
v1.4.0-rc2
v1.4.0-rc3
v1.5.0
v1.5.0-rc0
v1.5.0-rc1
v1.5.0-rc2
v1.5.0-rc3
v1.5.0-rc4
v1.6.0
v1.6.0-rc1
v1.6.0-rc2
v1.6.0-rc3
v1.6.0-rc4
v1.6.1
v1.6.1-rc
v1.6.99
v1.7.0
v1.7.0-rc1
v1.7.0-rc2
v1.7.0-rc3
v1.7.0-rc4
v1.7.1
v1.7.1-rc
v1.7.99
v1.8.0
v1.8.0-rc1
v1.8.0-rc2
v1.8.0-rc3
v1.8.0-rc4
v1.8.99
v1.9.0
v1.9.0-rc1
v1.9.0-rc2
v1.9.0-rc3
v1.9.0-rc4
v1.9.1
v1.9.2
v2.0.0
v2.0.0-rc1
v2.0.0-rc2
v2.0.0-rc3
v2.1.0
v2.1.0-rc1
v2.1.0-rc2
v2.1.0-rc3
v2.2.0
v2.2.0-rc1
v2.2.0-rc2
v2.2.0-rc3
v2.2.1
v2.3.0
v2.3.0-rc1
v2.3.0-rc2
v2.4.0
v2.4.0-rc1
v2.4.0-rc2
v2.4.0-rc3
v2.5.0
v2.5.0-rc1
v2.5.0-rc2
v2.5.0-rc3
v2.5.0-rc4
v2.5.1-rc1
v2.6.0
v2.6.0-rc1
v2.6.0-rc2
v2.6.0-rc3
v2.6.1-rc1
v2.6.1-rc2
v2.7.0
v2.7.0-rc1
v2.7.0-rc2
v2.7.0-rc3
v2.7.0-rc4
v2.7.0-rc5
v2.7.1
v2.7.2
v2.7.2-rc1
v2.7.3
v2.7.4
v2.7.5
v2.7.6
v2.7.99
v3.0.0
v3.0.0-rc1
v3.0.0-rc2
v3.0.0-rc3
v3.1.0
v3.1.0-rc1
v3.1.0-rc2
v3.1.0-rc3
v3.2.0
v3.2.0-rc1
v3.2.0-rc2
v3.2.0-rc3
v3.3.0
v3.3.0-rc1
v3.3.0-rc2
v3.3.0-rc3
v3.4.0
v3.4.0-rc1
v3.4.0-rc2
v3.4.0-rc3
v3.5.0
v3.5.0-rc1
v3.5.0-rc2
v3.5.0-rc3
v3.6.0
v3.6.0-rc1
v3.6.0-rc2
v3.6.0-rc3
v3.7.0
v3.7.0-rc1
v3.7.0-rc2
v3.7.0-rc3
v3.7.1
v3.7.1-rc1
v4.0.0
v4.0.0-rc1
v4.0.0-rc2
v4.0.0-rc3
v4.1.0
v4.1.0-rc1
v4.1.0-rc2
v4.1.0-rc3
v4.2.0-rc1
v4.2.0-rc2
zephyr-v1.0.0
zephyr-v1.1.0
zephyr-v1.10.0
zephyr-v1.11.0
zephyr-v1.12.0
zephyr-v1.13.0
zephyr-v1.14.0
zephyr-v1.14.1
zephyr-v1.2.0
zephyr-v1.3.0
zephyr-v1.4.0
zephyr-v1.5.0
zephyr-v1.6.0
zephyr-v1.6.1
zephyr-v1.7.0
zephyr-v1.7.1
zephyr-v1.8.0
zephyr-v1.9.0
zephyr-v1.9.1
zephyr-v1.9.2
zephyr-v2.0.0
zephyr-v2.1.0
zephyr-v2.2.0
zephyr-v2.2.1
zephyr-v2.3.0
zephyr-v2.4.0
zephyr-v2.5.0
zephyr-v2.6.0
zephyr-v2.7.0
zephyr-v2.7.1
zephyr-v2.7.2
zephyr-v2.7.3
zephyr-v3.0.0
zephyr-v3.1.0
zephyr-v3.2.0
zephyr-v3.3.0
zephyr-v3.4.0
zephyr-v3.5.0
${ noResults }
5 Commits (ec80ab5bb60180c2235bfc22c6ca49d1ef83496d)
Author | SHA1 | Message | Date |
---|---|---|---|
|
6bd6f4be65 |
samples: code_relocation_nocopy: Use nrf_qspi_nor driver to init XIP
Use the Nordic QSPI NOR flash driver instead of the specific code for the nRF5340 DK to initialize the external flash chip for XIP. Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no> |
2 years ago |
|
47271ce8be |
treewide: update usage of zephyr_code_relocate
Update usage of zephyr_code_relocate to follow new API. The old method of relocating a file was the following directive: zephyr_code_relocate(file location) The new API for zephyr_code_relocate uses the following directive: zephyr_code_relocate(FILES file LOCATION location) update in tree usage to follow this model. Also, update the NXP HAL SHA, as NXP's HAL uses this macro as well. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com> |
3 years ago |
|
5eb75b81f7 |
arm: rename default RAM region from 'SRAM' to 'RAM'
It's useful for RAMABLE_REGION to have a uniform name when CODE_DATA_RELOCATION is supported, because otherwise the build system needs to be aware of how the region name differs between architectures. Since architectures tend to prefer one of 'SRAM' or 'RAM' for that region, prefer to use 'RAM' as the more general term. Signed-off-by: Peter Marheine <pmarheine@chromium.org> |
3 years ago |
|
ac6060f966 |
code_relocation: Extend the nocopy sample to nRF5340dk
The nRF5340dk is shipping an external QSPI flash that can be used to do XIP from. Extend the code_relocation nocopy sample to support this platform so that part of the functions are executed from internal flash and others from external flash. Signed-off-by: Carlo Caione <ccaione@baylibre.com> |
3 years ago |
|
d3203dc70d |
code_relocation: Add NOCOPY feature
* Use case of interest: Some platforms are shipping in parallel to the internal FLASH some other storage / external FLASH (usually a QSPI FLASH) that can be used to execute (XIP) code from. The content of this external FLASH can usually be written at flash time using proper tools (see for example the case of the external FLASH on the nRF5340DK that can be written at flash time using nrfjprog). The external FLASH is a nice addition that is extremely useful when a large application code doesn't entirely fit on the internal FLASH so that we could want to move part of it in the auxiliary FLASH to XIP the code from there. * The problem: Right now Zephyr doesn't have a formal and generic way to move at build time part of the code to a different memory region. * The current status: Zephyr is indeed shipping a code_relocation feature but that doesn't entirely match our needs. When XIP is enabled, the code_relocation feature is used in Zephyr to move the selected code (that is to copy text section, to initialize data and zero bss) from FLASH to SRAM at run time and execute code from SRAM. The relocation is done by a generated snippet of code that is memcpy()-ing the right content to the destination region also using some build-time generated portions of linker script to retrieve start and destination addresses and regions. * This patch: This patch is leveraging the code_relocation code and adding a NOCOPY feature. This feature is using the code_relocation feature to dynamically build the linker script snippets but entirely skipping the run-time code relocation so that the code can be XIP-ed from the destination region. * Example: Let's say that we have a big file called `huge_file.c` that we want to XIP from the external FLASH that is mapped in an EXTFLASH region. In this case we should enable `CONFIG_XIP` and `CONFIG_CODE_DATA_RELOCATION` and instruct cmake as follows: zephyr_code_relocate(src/huge_file.c EXTFLASH_TEXT NOCOPY) zephyr_code_relocate(src/huge_file.c SRAM_DATA) this means that: - The .text section of the `huge_file.c` must reside in the EXTFLASH memory region and we do not need to copy the section there because we are going to XIP it (and we assume that the file is going to be placed in the external FLASH at flash time). - The .data section of the `huge_file.c` must still reside in the SRAM memory region. * TODOs: It's desirable to have the possibility to relocate libraries and pre-build files instead of source code files. Signed-off-by: Carlo Caione <ccaione@baylibre.com> |
3 years ago |