CCM扩容FreeRTOS堆+DMA阈值1024防栈缓冲进CCM+HardFault现场报告与栈/内存钩子+修defaultTask栈溢出+LVGL绘制缓冲护栏+存储套件05/06与恢复模式

This commit is contained in:
2026-09-21 00:47:58 +08:00
parent 271adc38e1
commit 9230effced
9 changed files with 357 additions and 36 deletions
+14 -3
View File
@@ -1,7 +1,15 @@
; *************************************************************
; *** Scatter-Loading Description File (manual) ***
; *** IRAM1 = SRAM1+SRAM2 128KB continuous RAM. ***
; *** No SRAM3 usage (may not exist on clone MCUs). ***
; *** IRAM1 = SRAM1+SRAM2 128KB continuous RAM (DMA-reachable)***
; *** CCM = 64KB Core-Coupled Memory @0x10000000 (SRAM3) ***
; *** CCM 直连 M4 内核零等待,但 DMA1/DMA2 物理不可达! ***
; *** 本工程只把 FreeRTOS 堆(heap_4.o:任务栈/队列/暂存) ***
; *** 放入 CCM;全部 DMA 收发缓冲均为文件作用域静态(留在 ***
; *** SRAM),且 GD5F 驱动 DMA 阈值已提到 1024B——栈上小缓 ***
; *** 冲(dhara meta 132B / is_free 64B)走轮询不进 DMA。 ***
; *** 两条前提缺任何一条 = 静默数据损坏(2026-09-20 首轮 ***
; *** 扩容实验实证)。CCM 存在性本机 ST-LINK 实测可读写; ***
; *** 克隆片可能缺 SRAM3,换料必须重测! ***
; *************************************************************
LR_IROM1 0x08000000 0x00100000 { ; load region size_region
@@ -11,7 +19,10 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20000000 0x00020000 { ; SRAM1+SRAM2, 128KB
RW_IRAM1 0x20000000 0x00020000 { ; SRAM1+SRAM2, 128KB (DMA-safe zone)
.ANY (+RW +ZI)
}
RW_CCM 0x10000000 0x00010000 { ; CCM 64KB: FreeRTOS heap only (no DMA!)
heap_4.o (+RW +ZI) ; ucHeap 48KB: 任务栈/队列/定时器
}
}