打印
[STM32F1]

DMA读GPIO的bitband出现传输错误

[复制链接]
3340|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
楚天|  楼主 | 2013-12-23 14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,发现读取正常的地址就没问题。一旦读取bitband就出现传输错误。
调试跟踪DMA设置,DMA-CPAR7:0x42210124,DMA-CMAR7:0x22004600
是否DMA不支持Bitbanding寻址?
沙发
huzi2099| | 2013-12-23 14:53 | 只看该作者
DMA寄存器可以位寻址,你怎么写的?另外也可能是仿真器的问题.

使用特权

评论回复
板凳
楚天|  楼主 | 2013-12-23 15:10 | 只看该作者
如果把DMA_CPAR设置成0x40010808则没有问题。如果改成(uint32_t)BITBAND_ALIAS_ADDRESS(0x40010808,9)即0x42210124则出现传输错误。

使用特权

评论回复
地板
楚天|  楼主 | 2013-12-23 16:22 | 只看该作者
改为中断方式就可以了。
static        unsigned short        sCnt        =        0;
        if(TIM_GetITStatus(TIM2,TIM_IT_CC2) != RESET)
        {
                TIM_ClearITPendingBit(TIM2,TIM_IT_CC2);
                *(uint32_t *)((uint32_t)BITBAND_ALIAS_ADDRESS((uint32_t)cKey,0) + sCnt * 4)        =        *(uint32_t *)((uint32_t)BITBAND_ALIAS_ADDRESS(0x40010808,9));
                if(++sCnt >= 256)
                        sCnt        =        0;
        }

使用特权

评论回复
5
楚天|  楼主 | 2013-12-23 16:25 | 只看该作者
1、用0x40010809作为DMA的设备地址,DMA可以工作。
2、用中断且用bitbanding也可以工作。
所以,似乎可以得出一个不太严谨的结论:STM32F103的DMA不能够读取Bitbanding的GPIO地址?

使用特权

评论回复
6
haov000| | 2013-12-23 16:47 | 只看该作者
**中DMA好像不支持bitband的位操作

使用特权

评论回复
7
楚天|  楼主 | 2013-12-23 17:27 | 只看该作者
但是香版在一个关于DMA的回复中说是支持的。

使用特权

评论回复
8
楚天|  楼主 | 2013-12-24 09:10 | 只看该作者
st放年假,技术支持都跑路了。艾瑞那边说DMA访问bitbanding时会因为地址类型错误而产生TE似乎有点牵强啊。

使用特权

评论回复
9
楚天|  楼主 | 2013-12-24 09:20 | 只看该作者

这个图片中GPIO的bitbanding地址计算错了啊。

使用特权

评论回复
10
楚天|  楼主 | 2013-12-24 09:21 | 只看该作者
0x1080c x 32应该是0x210180才对,按照公式,结果应该是0x42210180.

使用特权

评论回复
11
ahuzjh| | 2013-12-24 09:53 | 只看该作者
我是来学习的,看看大神们的讨论吸取经验。

使用特权

评论回复
12
楚天|  楼主 | 2013-12-25 12:40 | 只看该作者
能找到的关于DMA的和bitbanding的资料中都没有明确指出DMA不支持bitbanding的文字。但是又调试不出来。ST的电话又没人接听。。。

使用特权

评论回复
13
楚天|  楼主 | 2013-12-28 16:02 | 只看该作者
试验发现,DMA不支持设备或内存的bitbanding访问。不论什么数据宽度。只要开始传输就出现TE错误。

使用特权

评论回复
14
楚天|  楼主 | 2021-8-18 11:06 | 只看该作者
哈哈N年前的事了.
明确一下吧,RM0008 Rev 21  page53明确指出"only available for Cortex®-M3accesses, not from other bus masters (e.g. DMA)"

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

58

帖子

2

粉丝