0.序
用 户 使 用 DMA 时 , 所 有 DMA 搬 运 的 SRAM 数 据 都 必 须 存 放 在 SRAM_U 区
(0x20000000~0x2000EFFF) 。
1. 修改办法
第一步:
RAM定义
cpp
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00100000
RAM (xrw) : ORIGIN = 0x1FFF0000, LENGTH = 0x00010000
RAM_1 (xrw) : ORIGIN = 0x20000000, LENGTH = 0x0000F000
}
第二步:
增加DMA片段
cpp
.DMA_DATA (NOLOAD):
{
. = ALIGN(4);
* (.DMA_DATA);
. = ALIGN(4);
} > RAM_1
第三步:
定义数组时候注意
cpp
uint8_t g_sendData[UART_DATA_LEN] __attribute__ ((section(".DMA_DATA")));
uint8_t g_receiveData[UART_DATA_LEN] __attribute__ ((section(".DMA_DATA")));
2.检验是否生效
编译结果搜索数组名