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

编译结果搜索数组名

相关推荐
匿名了匿名了12 小时前
直流无刷与直流有刷电机
stm32·嵌入式硬件·mcu
笨笨饿2 天前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
R6bandito_3 天前
自实现FLASH读取函数中的隐式类型转换bug踩坑记录
c语言·开发语言·经验分享·stm32·单片机·mcu·bug
Redemption4 天前
嵌软面试每日一阅----freeRTOS(三)
stm32·单片机·嵌入式硬件·mcu·物联网·面试·51单片机
学嵌入式的小杨同学4 天前
STM32 进阶封神之路(三十九)FreeRTOS 临界区、挂起 / 删除、钩子函数、调度底层原理|从应用到内核深度解析
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb
Dotrust东信创智4 天前
轻量化、低成本、高可靠:MCU控制器引领汽车执行单元升级
mcu·汽车电子
苏灵凯5 天前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
学嵌入式的小杨同学5 天前
STM32 进阶封神之路(三十四):TFT LCD 深度全解 —— 显示原理、ILI9341 控制器、8080 并行接口与底层驱动体系
vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件·嵌入式实时数据库
学嵌入式的小杨同学6 天前
STM32 进阶封神之路(三十五):TFT LCD 工程化实战 ——FSMC 高速驱动、多图层界面、中英文显示与图形引擎(完整可落地)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
网易独家音乐人Mike Zhou6 天前
【Python】TXT、BIN文件的十六进制相互转换小程序
python·单片机·mcu·小程序·嵌入式·ti毫米波雷达