[793/793] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
SDRAM: 0 GB 16 MB 0.00%
FLASH: 1217624 B 16 MB 7.26%
RAM: 327052 B 16 MB 1.95%
NXP_FLASH_LMA: 1354945 B 4 MB 32.30%
ITCM: 0 GB 64 KB 0.00%
DTCM: 106624 B 128 KB 81.35%
OCRAM: 0 GB 64 KB 0.00%
IDT_LIST: 0 GB 32 KB 0.00%
MPU берёт 2 региона: 0x80000000, 0x80400000 - несмотря на то, что я разбил по 16MB. Какие на самом деле берёт регионы MPU? почему 0x80400000 а не 0x81000000 ?
(gdb) p/x mpu_config.mpu_regions[0]
$1 = {base = 0x80000000, name = 0x800f11c8, attr = {rasr = 0x602002a}}
(gdb) p/x mpu_config.mpu_regions[1]
$2 = {base = 0x80400000, name = 0x800f11d0, attr = {rasr = 0x110b0030}}
(gdb) p/x mpu_config.mpu_regions[2]
$3 = {base = 0x67676f6c, name = 0x676e69, attr = {rasr = 0x80409e48}}
(gdb) stepi
0x8001ae72 288 MPU->CTRL = MPU_CTRL_ENABLE_Msk | MPU_CTRL_PRIVDEFENA_Msk;
(gdb) stepi
0x8001ae74 288 MPU->CTRL = MPU_CTRL_ENABLE_Msk | MPU_CTRL_PRIVDEFENA_Msk;
(gdb) stepi
__DSB () at /home/vovan/ZEPHYR_RTOS/zephyrproject/modules/hal/cmsis_6/CMSIS/Core/Include/cmsis_gcc.h:186
186 __ASM volatile ("dsb 0xF":::"memory");
(gdb) stepi
z_arm_usage_fault () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/core/cortex_m/fault_s.S:80
80 mrs r0, MSP
(gdb) bt
#0 z_arm_usage_fault () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/core/cortex_m/fault_s.S:80
#1 <signal handler called>
#2 __DSB () at /home/vovan/ZEPHYR_RTOS/zephyrproject/modules/hal/cmsis_6/CMSIS/Core/Include/cmsis_gcc.h:186
#3 z_barrier_dsync_fence_full () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/include/zephyr/arch/arm/barrier.h:26
#4 barrier_dsync_fence_full () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/include/zephyr/sys/barrier.h:62
#5 arm_core_mpu_enable () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/core/mpu/arm_mpu.c:292
#6 z_arm_mpu_init () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/core/mpu/arm_mpu.c:554
#7 0x8004de92 in arch_kernel_init () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/include/cortex_m/kernel_arch_func.h:49
#8 z_cstart () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/kernel/init.c:780
#9 0x8001a80a in z_prep_c () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/core/cortex_m/prep_c.c:221
#10 0x8001a606 in z_arm_reset () at /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/arch/arm/core/cortex_m/reset.S:207
Backtrace stopped: previous frame identical to this frame (corrupt stack?)