四、程序测试。(接上一篇)
先分析一下程序总体功能。程序创建了两个DMA Channel,分别是DMA Manual IN channel和DMA Manual OUT channel。其中DMA Manual IN channel的功能是将上位机(U-Port)发送过来的数据传输到ARM9内核中,并且通过回调函数传递给CyFxBulkSrcSinkDmaCallback(),当然,回调函数什么也没有做,仅仅是将接收到的数据丢掉而已;其中
DMA Manual OUT channel的功能正好相反,将ARM9内核中的数据再传给U-Port,待传输的数据为0xA5。
1、测试DMA Manual IN channel功能,如下,
按照上图中的顺序,首先第1步选择块输出端点,第2步输入要发送的字符,第3步输入要发送字符的个数,第4步单击发送按钮“Transfer”即可,第5步是发送成功后,显示所有已经发送的字符。
这个过程可以重复很多次进行。当然开发板也不会有任何反应,因为传输过来的数据都丢掉了,并没有利用。
2、测试DMA Manual IN channel功能,如下,
同样,也按照上图中的顺序,第1步选择块输入端点,第2步单击传输按钮“Transfer Data-IN”,第3步就可以看到从ARM9内核传输过来的数据,全是0xA5,共1024个字节。
这个过程也可以重复很多次进行,第一次都可以从开发板上读出1024个0xA5。
3、前面程序的两个功能,彼此是独立的,千万不要将两者联系在一起,不要认为上位机发到开发板上的数据,然后再读到上位机来。这个程序不同于其它的程序,如Bulkloop程序。
最后要说明的是,这个固件程序也可以配合上位机程序Streamer来进行测试,道理同控制面板是一样的。Streamer程序在默认安装时在目录C:\Cypress\Cypress SuperSpeed USBSuite\application\cpp\streamer\x86\Release下,你可以自己测试一下。由于是Manual传输方式,所以数据的传输速度非常慢,这一点是很正常的。
更多文章请访问:
我的博客1:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM
我的博客2: http://www.eefocus.com/liangziusb/blog/
EDN小组http://group.ednchina.com/GROUP_GRO_14600_3466.HTM
LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com
LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com
实体店铺:北京新中发电子市场2557号
良子.2011年
沈阳市东陵区白塔街龙盛家园
欢迎交流:liangziusb@163.com
QQ:2687652834
文章评论(0条评论)
登录后参与讨论