1.先去网上搜索一个 dnw_linux的安装包下载.
2.解压这个压缩包.
3.在终端下安装libusb-dev库
sudo apt-get install libusb-dev
4.进入dnw_linux文件夹
其中secbulk.c是PC端USB驱动, dnw.c是写入工具
编译驱动之前先修改secbulk.c
找到#define BULKOUT_BUFFER_SIZE
修改为
#define BULKOUT_BUFFER_SIZE 512
找到
static struct usb_device_id secbulk_table[]= {
{ USB_DEVICE(0x04e8, 0x1234)},
{ }
};
修改为上面的样子 这里这两个数值 ,可以根据lsusb得到 .
接下来编译
$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
加载编译好的驱动
$sudo insmod ./secbulk.ko
注意,每次下载前都需要加载驱动,或者可以设置为开机自动加载
sudo vim /etc/inid.d/rc.local
打开文件后,在后面加入一句:sudo insmod +驱动所在文件夹路径.
即完成开机自动加载驱动模块5.接下来编译dnw写入工具
先打开dnw.c修改
找到
printf("Writing data...\n");
size_t remain_size = file_stat.st_size+10;
size_t block_size = remain_size / 100;
size_t writed = 0;
在它前面加上2行代码,如下:
file_buffer [file_stat.st_size + 8] = sum & 0xff;
file_buffer [file_stat.st_size + 9] = sum >> 8;
printf("Writing data...\n");
size_t remain_size = file_stat.st_size+10;
size_t block_size = remain_size / 100;
size_t writed = 0;
编译dnw
$gcc -o dnw dnw.c
编译成功后生成可执行dnw
6.由于ubuntu已经有了更高的版本,如果使用kermit这个的话,会出现问题,因为与openssl库不兼容.所以使用minicom.
下载minicom, sudo apt-get install minicom.
7.安装完成之后,在终端 输入 sudo minicom -s .
进入serial port setup ,将所有的YES改成NO.
将serial device 改成 : /dev/ttyUSB0.
选择 save as dfl.退出minicom之后.
再次进入minicom,打开版子,这个时候一切已经就绪.可以用dnw烧程序了.~