32 lines
1.6 KiB
Plaintext
32 lines
1.6 KiB
Plaintext
; *************************************************************
|
|
; *** Scatter-Loading Description File (manual) ***
|
|
; *** 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
|
|
ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
|
|
*.o (RESET, +First)
|
|
*(InRoot$$Sections)
|
|
.ANY (+RO)
|
|
.ANY (+XO)
|
|
}
|
|
RW_IRAM1 0x20000000 0x00020000 { ; SRAM1+SRAM2, 128KB (DMA-safe zone)
|
|
.ANY (+RW +ZI)
|
|
}
|
|
RW_CCM 0x10000000 0x0000FF00 { ; CCM 64KB 减 256B 尾: FreeRTOS 堆 only (no DMA!)
|
|
heap_4.o (+RW +ZI) ; ucHeap 48KB: 任务栈/队列/定时器
|
|
}
|
|
UNINIT_CCM 0x1000FF00 UNINIT 0x00000100 { ; round 8 取证: 复位不丢"进段打点"槽
|
|
*(.noinit) ; IWDG/引脚复位不清 SRAM → 复位后仍可读
|
|
}
|
|
}
|