找回密码
 立即注册
楼主: tzz1983

疑为DMA总线并行访问题反馈 | 已给 DMA应用注意事项

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2026-07-03 08:57:36

830

主题

1万

回帖

2万

积分

管理员

积分
23929
发表于 2026-4-15 08:18:55 | 显示全部楼层
im*** 发表于 2026-4-9 22:59
关注,我最近使用8H8K64U的SPI+DMA刷屏也发现数据错误问题,非常难定位,关闭DMA就完全正常,一开DMA就花屏 ...

STC8H系列的 DMA 比较简单,无问题
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2026-05-20 08:11:47

36

主题

1151

回帖

2891

积分

荣誉版主

积分
2891
发表于 2026-4-17 10:38:38 | 显示全部楼层

姚总,找出这么大一个BUG, 比那个比赛得奖贡献大多了,是不是给点辛苦费,哈
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2026-07-03 08:57:36

830

主题

1万

回帖

2万

积分

管理员

积分
23929
发表于 2026-4-17 16:29:38 | 显示全部楼层
一起前行,免费+包邮 送工具/芯片
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2026-05-21 09:21:14
已绑定手机

10

主题

14

回帖

114

积分

注册会员

积分
114
发表于 2026-4-27 11:38:54 | 显示全部楼层
这是同时读写同一个地址的问题?还是所有DMA时,都不能读写XDATA了? 我的应用同时启动DMA_QSPI+DMA_LCM,同时还XDATA数据搬运,好像也没出错!实现的字符+背景图片.480*320_RGB565格式数据.一直重复处理
https://www.stcaimcu.com/forum.php?mod=attachment&aid=MTM2NDUxfDVhYTZmMjBmfDE3ODMyMDkwNDJ8MHw%3D
8.jpg

点评

和地址无关,只在极其特殊的代码指令序列下触发问题,压测没问题的话应该当前工程就不存在触发条件。 [attachimg]136455[/attachimg]  详情 回复 发表于 2026-4-27 12:39
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2026-4-27 12:39:02 | 显示全部楼层
guo_*** 发表于 2026-4-27 11:38
这是同时读写同一个地址的问题?还是所有DMA时,都不能读写XDATA了? 我的应用同时启动DMA_QSPI+DMA_LCM,同时 ...

和地址无关,只在极其特殊的代码指令序列下触发问题,压测没问题的话应该当前工程就不存在触发条件。

截图202604271238318246.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2026-05-20 08:11:47

36

主题

1151

回帖

2891

积分

荣誉版主

积分
2891
发表于 2026-5-9 08:55:37 | 显示全部楼层
花了几个小时的时间,验证了一下官方给出的答案,结论:一切正常
以前的问题代码:把 CKCON = 0;改为 CKCON = 1; 后用串口长期监视数据:

发了几个小时的呆,叮着屏幕看

[08:58:27.913]接收←flag; 128   450
                    color; 0  150
                    nu; 0  448
                    flag; 0   128
                    color; 1   1
                    nu; 11   0
                    number; 0
                    xsNumber; 0

正常了,还是官方的力量大。

另外提醒一下广大网友,用的我OS例程的,因为我一直喜欢用DMA串口,所以大部分代码都用到DMA,
虽然以前运行没有触发问题,但是为了更可靠,网友们可以自行 CKCON = 0;改为 CKCON = 1;



回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2026-05-20 08:11:47

36

主题

1151

回帖

2891

积分

荣誉版主

积分
2891
发表于 2026-5-9 09:06:42 | 显示全部楼层
这个问题困扰了很久,在上一个用AI8051的项目中,printf总是意外输出错误,还会引起死机,
因为当时项目时间紧,用各种改变代码结构的方式规避了,现在才知道具体原因。

其实在以前移值OS时也遇到过类似问题,只是当时不知道原因,移植OS花了很长时间,
现在回想起来也可能是这个原因,因为指向很明确,我用了串口DMA,并且如果把OS内核用的RAM定位到XDATA,
OS就会有不稳定的情况,那个时候为这个问题也花了很长的时间才搞稳定,现在官方终于给了最底层的原因。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-5 07:50 , Processed in 0.075578 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表