DNW源码解析

本文详细解析了DNW的源码,包括USB数据传输格式、`MenuUsbTransmit`发送文件流程,以及在Windows和Linux环境下编译DNW的步骤。在USB数据传输中,数据格式由地址、大小、数据和校验和组成。在Windows环境,需要处理头文件和库路径问题,而在Linux环境下,需修改驱动和写入工具的源码,然后编译和加载驱动。
摘要由CSDN通过智能技术生成

一、            数据传输格式

USB Tx format:

addr(4)+size(4)+data(n)+cs(2)

addr:下载到开发板RAM的目标地址, 4字节

size:传输文件的大小,                          4字节

data:文件数据流,                                   n字节

cs   checksum校验和,                       2字节

二、            MenuUsbTransmit发送文件流程

1.        打开usb输出管道文件open_file( outPipe),如果失败,报错;

2.        选择并打开所要传输的文件;

3.        获取文件大小;fileSize=GetFileSize(hFile,NULL);

4.        分配一个(fileSize+10)大小的缓冲区;4+4+2=10

5.        将文件读入缓冲区txBuf+8(即保留前8个字节)开始处;

6.        将所设置的下载地址赋给txBuf[0:3]4个字节;downloadAddress;

7.        将fileSize+10赋给txBuf[4:7]4个字节

8.        将校验和赋给缓冲区的最后2字节(txBuf+8+fileSize))=cs;

9.        启动usb传输UsbTxFile()

DNW编译记录:

DNW的源码下载之后,直接编译和运行——当然这是你迫切想去做的了。不过此时可能遇麻烦,是一系列“头文件无法识别”的错误。此时你要做的:

 1.WINDDK下的WXP目录下的头文件添加到vc下的include文件中。此时你只需要将E:\WINDDK\2600\inc\wxp中的 wxp文件,

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhengmeifu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值