ramfunc region is copied into RAM from FLASH region during XIP init. We copy from the loadaddr of the region, and were previously loading to the symbol __ramfunc_start. This is incorrect when using an MPU with alignment requirements, as the __ramfunc_start symbol may have padding placed before it in the region. The __ramfunc_start symbol still needs to be aligned in order to be used by the MPU though, so define a new symbol __ramfunc_region_start, and use that symbol when copying the __ramfunc region from FLASH to RAM. Fixes #75296 Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com> |
||
|---|---|---|
| .. | ||
| include | ||
| CMakeLists.txt | ||
| dynamic_isr.c | ||
| fill_with_zeros.ld | ||
| isr_tables.c | ||
| isr_tables_shell.c | ||
| Kconfig | ||
| multilevel_irq.c | ||
| multilevel_irq_legacy.c | ||
| nocache.ld | ||
| ramfunc.ld | ||
| rom_start_address.ld | ||
| rom_start_offset.ld | ||
| semihost.c | ||
| shared_irq.c | ||
| sw_isr_common.c | ||
| timing.c | ||