您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]关于bf518串口DMA发送的问题
本帖共有1313个阅读者
发表帖子 发表投票 回复主题
[求助]关于bf518串口DMA发送的问题
wang110(论坛新手)
wang110
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:223
积分:17
注册时间:2011/11/17
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]关于bf518串口DMA发送的问题

采用DMA模式发送串口数据,需要判断哪个寄存器的值,才能知道一帧数据已发送完毕,或者知道已发了多少字节?

另外,我想使用printf输出到串口,  VisualDSP++如何设置,我构建了fputc函数编译报错,说重复定义

诡异的问题,两块基本相同的bf518板,其中一块必须先给板加电,再连接仿真器USB电缆,才能连接。另一板正常。
使用你们的三套HP510ICE,现象一致。

但使用原厂的仿真器,则两块板均正常。


「该帖子被 wang110 在 2012-12-01 11:52:49 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/11/30 23:52:47
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

采用DMA方式发送数据,可以使用DMA传输的中断模式,当数据发送完会进入中断。DMA在发送的时候,没有办法获取已经发送了多少数据,只能通过DMA状态寄存器的Done标志位判断是否数据发送完成。

你可以使用帮助文件搜索一下你定义的函数名,看VDSP下是否已经定义,或者你更改一个函数名。

在使用仿真器时,正确的上电顺序是先给板卡上电,再给仿真器上电,这个在ADI的官方文档中都有描述,如果先给仿真器上电,仿真器管脚的电平会影响处理器,在板卡上电时,可能会影响处理器接口的初始状态。

原厂HP仿真器设计的方案和HP510方案不同,所以对处理器影响不一样。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/12/1 14:01:29
wang110(论坛新手)
wang110
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:223
积分:17
注册时间:2011/11/17
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
好的,我上班后试试,谢谢andy!

关于上电问题,你们的手册是这样写的:

1. 为确保产品使用寿命,需严格按照ADI ETE NOTE“EE68”和“EE175”文
档的说明进行JTAG 口的链路设计以及调试;
2. 系统上电时,先给ICE 上电,再给目标板上电;
3. 断电时,先给目标板断电,再给ICE 断电;
4. 不要频繁采用拔插ICE 电源接口的方式为ICE 断电;
5. 在调试过程中,如需更换目标板,请先切断目标板电源,再将目标板上
JTAG 接口连接线断开,ICE 电源可不必断开。严禁目标板上电拔插JTAG
接口,否则有可能烧毁目标板处理器和ICE;
6. 为确保ICE 的高速运行,请使用与仿真器配套的电源适配器为仿真器供
电;严禁使用其他规格电源适配器;
7. 请勿剧烈撞击、震动、挤压、跌落ICE;
8. 以上注意事项适用于ADI 公司的ADZS(ADDS)-HPUSB-ICE、
ADZS(ADDS)-USB-ICE、ADZS(ADDS)-HPPCI-ICE 以及Open ADSP 公司
的510ICE 和560ICE。


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/12/2 0:26:21
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

手册写的拔插顺序写反了,汗...谢谢帮忙找到这个bug。

断电的时候做到不要在仿真器跟开发板都带电的情况下来拔JTAG头。上电顺序我都没有太在意...抱歉抱歉,马上更新一下这个说明。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/12/2 9:47:14
wang110(论坛新手)
wang110
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:223
积分:17
注册时间:2011/11/17
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
使用DMAx_IRQ_STATUS的DMA_RUN判断,成功!谢谢

另外再问一个问题,我有次安装VDSP(Update10)后首次运行发现在函数、变量上点右键,可以查找定义,后来不知道为什么又没了,VDSP到底支持定义查找吗?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/12/4 22:41:12
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
函数可以用右键查定义,但变量不能,需要编译一下代码,编译完成后在调用的函数上右键就有了。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/12/5 0:19:19
zchong(论坛新手)
zchong
头衔:社区公民
帮派:无帮无派
帖数:19
金钱:350
积分:26
注册时间:2012/7/8
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
这位兄台,printf重定向到串口实现了吗?我也遇到这个问题,想用printf通过串口打印一些信息,fputc报重复定义,不知道如何处理?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/31 19:20:49
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
把自己定义的函数改个名字,VDSP中已经定义过这些了,如果报重复定义,改个名字就可以了

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/31 19:51:14
zchong(论坛新手)
zchong
头衔:社区公民
帮派:无帮无派
帖数:19
金钱:350
积分:26
注册时间:2012/7/8
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
改个名字的话,printf底层不会调用我们写的这个函数啊

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/31 20:19:20
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
调用什么函数是你写的代码决定的。你写代码时调用你的函数就可以了

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/4/1 11:58:29
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154031 Call, 1 Queries, Processed in 0.032227 second(s),