zephyr/scripts/build
Joel Holdsworth 56e5121d39 code_relocation: Handle relocation of noinit sections
The code relocation feature allows code and data section to be located
inside a designated RAM region.

Currently, this feature supports relocation of code (text) and data
including mutable data (data), read-only data (rodata), and
zero-initialized data (bss).

However, relocation of non-initialized data sections was not previously
supported, meaning that any data annotated with the __noinit attribute
could not be relocated into the desired RAM region.

This patch adds a NOINIT memory-type which can be used implicitly or
explictly in the zephyr_code_relocate() CMake function. This causes the
build system to generate additional linker-script section-matching rules.

By the nature of noinit data, no action is required by Zephyr at boot.

Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
2025-06-18 11:16:37 +01:00
..
check_init_priorities_test.py scripts: build: check_init_priorities: remove obsolete code 2024-10-02 09:49:53 +02:00
check_init_priorities.py scripts: build: check_init_priorities: remove obsolete code 2024-10-02 09:49:53 +02:00
dir_is_writeable.py python: Format trivial files where only newlines were missing 2024-11-21 20:10:51 +01:00
elf_parser.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
file2hex.py scripts: build: Add optimizations in file2hex.py to gzip path as well 2025-03-07 19:53:34 +01:00
gen_app_partitions.py scripts: gen_app_partitions: only parse known arguments 2025-06-11 16:10:53 -07:00
gen_cfb_font_header.py
gen_device_deps.py
gen_image_info.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_isr_tables_parser_carrays.py arch/common: Mark interrupt tables const when !DYNAMIC_INTERRUPTS 2025-06-10 22:13:09 +02:00
gen_isr_tables_parser_local.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_isr_tables.py
gen_iter_sections.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_kobject_list.py scripts: build: gen_kobject_list.py check _driver_api suffix 2024-05-03 14:44:41 +01:00
gen_kobject_placeholders.py
gen_offset_header.py
gen_relocate_app.py code_relocation: Handle relocation of noinit sections 2025-06-18 11:16:37 +01:00
gen_strerror_table.py
gen_strsignal_table.py
gen_symtab.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
gen_syscalls.py Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
llext_inject_slids.py llext: support multiple string and symbol tables 2025-01-27 08:54:44 +01:00
llext_prepare_exptab.py llext: add support for SLID-based linking 2024-06-03 15:29:34 -04:00
llext_slidlib.py python: Format trivial files where only newlines were missing 2024-11-21 20:10:51 +01:00
mergehex.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
parse_syscalls.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
process_gperf.py scripts: process_gperf: upgrade the asso_values type to unsigned short 2024-11-27 06:57:23 -05:00
subfolder_list.py scripts: build: Make scripts executable 2025-01-15 15:06:01 +01:00
uf2conv.py scripts: Update uf2conv.py from upstream git. 2024-05-08 09:31:07 -04:00
uf2families.json UF2: Enable support for Raspberry Pi RP2350 2024-12-23 23:57:57 +01:00
user_wordsize.py python: Format trivial files where only newlines were missing 2024-11-21 20:10:51 +01:00