杰发科技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.检验是否生效

编译结果搜索数组名

相关推荐
『往事』&白驹过隙;5 小时前
在ARM开发中 volatile与const关键字的关键用途
c语言·arm开发·mcu·物联网·学习·iot
fox08153 天前
RTThread-Studio中,使用5.2.0版本默认配置生成工程,进行编译报警告的部分解决方法。
mcu·rt-thread·rtthread-studio
LeoZY_4 天前
CH347/339W开源项目:集SPI、I2C、JTAG、SWD、UART、GPIO多功能为一体(5)
stm32·mcu·fpga开发·开源·硬件架构·硬件工程
Megahertz665 天前
记一次失败的 FreeRTOS 移植
mcu·py32·py32f003
The️6 天前
Linux驱动开发之Makefile
linux·驱动开发·mcu·ubuntu
LeoZY_6 天前
CH347/339W开源项目:集SPI、I2C、JTAG、SWD、UART、GPIO多功能为一体(3)
stm32·单片机·嵌入式硬件·mcu·开源
LeoZY_6 天前
开源项目精选: lazygit —— 告别繁琐命令,终端里玩转可视化Git
git·stm32·单片机·mcu·开源·远程工作·gitcode
jianqiang.xue7 天前
C语言 函数指针校验非空,怎么避免重复校验?
c语言·开发语言·stm32·单片机·mcu·算法·51单片机
电子科技圈8 天前
实现无需连接网络的超低功耗Wi-Fi资产追踪
人工智能·嵌入式硬件·mcu·物联网·智慧城市·iot·交通物流
BBNbQKHXygfU12 天前
基于遗传算法优化BP神经网络的时间序列预测探索
mcu