杰发科技AC7840——Eclipse环境DMA注意事项

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.检验是否生效

编译结果搜索数组名

相关推荐
LongRunning13 小时前
【BLE】STM32WB55低功耗实测(十)
mcu
LongRunning14 小时前
【工具】STM32CubeMX和STM32CubeProgrammer安装问题
mcu
独小乐3 天前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm
电子科技圈5 天前
SmartDV展示完整的边缘与连接IP解决方案,以高速和低功耗特性赋能移动、物联网和媒体处理设备创新
人工智能·嵌入式硬件·mcu·物联网·智能家居·智能硬件·iot
天月风沙6 天前
Betaflight飞控、树莓派RP2350B主控编译教程
linux·单片机·嵌入式硬件·mcu·无人机·树莓派
电子科技圈7 天前
芯科科技2026 Tech Talks技术讲座启航聚焦无线与边缘 AI,共绘智能物联新蓝图
人工智能·嵌入式硬件·mcu·物联网·智能家居·智能硬件·iot
EVERSPIN7 天前
低功耗MCU对TWS充电仓的驱动控制
单片机·嵌入式硬件·mcu·低功耗mcu
白掰虾9 天前
STM32CubeMX2教程——STM32C5 UART
stm32·单片机·嵌入式硬件·mcu·usart·stm32cubemx2·stm32c542
狂奔蜗牛(bradley)10 天前
使用数组重构责任链实现通信协议解析
网络·mcu·重构
狂奔蜗牛(bradley)11 天前
嵌入式软件中如何用责任链模式重构串口协议栈
网络·单片机·mcu·重构·责任链模式