找回密码
 注册
关于网站域名变更的通知
查看: 271|回复: 1
打印 上一主题 下一主题

Linux环境下DNW工具的使用(OK6410)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-10 12:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

' Q, B, q6 l$ i8 C" S/ |一直在Windows下开发,某些bug总是使我不能全心全意的信任Windows,从开发嵌入式开始,一直就想把开发环境转移到Linux环境下,特别是下载程序的时候,不过确实有Linux的开发环境,就拿下载程序来说,Linux下的minicom和dnw真的是很好用,同时也可以学习源代码。下面教你如何下载、安装、使用dnw。
. R* [7 p; G/ G* p- r- n7 O7 @* }2 @$ f7 H9 _8 x* D4 W
1. dnw由两部分构成:USB驱动和下载工具,USB驱动便是secbulk文件夹,下载工具是DNW文件夹
$ }- o+ t! R- b3 `- d4 T! m; E- O5 S, {8 b: c6 G5 e8 ]
2.  安装dnw
) {* X! x$ e8 C" ?* z9 M

/ M) x# ~; x! u% a, v/ D1 c2 }     解压缩,之后会看到dnw_linux文件夹,进入该文件夹
& }7 \& R( W% |% V% u( e% l0 a, ^7 o6 r
     $ cd dnw_linux
9 A0 t0 z/ l3 [5 g: {- `. g# ^. ?
/ l0 e; e% G7 {" b5 J     $ ls
" P5 B( d. `9 }6 ]& t* r% G+ Q; A9 w: O0 U# a$ g
     $ /dnw   /secbulk  k9 a; }2 n, N2 I; D  y) h& [3 X/ a4 |

+ p, S/ N& b# J0 l/ _" ]! o: b8 d; s# i- A$ N
     2.1  首先修改、编译和安装驱动# j4 F- t1 d( h; k7 z  n# \, g- d
) L0 o" z. Y$ j! z3 O9 h, r( e
     进入secbulk文件夹,输入编译命令,编译成模块。(我自己修改了Makefile,因此大家只需make就可编译,make clean 就可清除编译。修改后的Makefile如下:1 n* L9 t* B2 O+ i

1 D! R' O1 }' ?; \# yobj-m := secbulk.o
6 [+ M" S3 D& h. O2 n( EKDIR := /lib/modules/`uname -r`/build
* Z( U' p: N5 V! p' a( t6 oPWD  := $(shell pwd)6 F' w8 ^! O! K3 A

0 y0 J8 e# t* _& mdefault:8 z! s; m( X: W. a
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules  Y, O  t8 X: w2 [" U' q/ ]6 M1 v
clean:
6 D+ W; C- ^& |4 N- j" f        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
* ]( N1 O/ y  n3 |) }0 d        rm -RF *.order *.symvers# _# y# A$ M/ O8 H' t( w
     在修改secbulk.c中代码,将0x5432改为0x04e8(不同的flash要在那个表单中加入一些设备相关的信息类似ID号,在程序加载的时候自动读取芯片内部ID和这个相比较,没有注册的设备是不会被系统支持的,可以通过lsusb获得idProduct和idVendor,需要在插上板子,并准备下载时此时设备连上时lsusb,0x04e8:0x1234),代码如下:+ S, M4 y2 f# _! b! W" [5 n$ I1 Q! {
  b+ W* f/ V* a
static struct usb_device_id secbulk_table[]= {
9 O- ]& J# d$ j+ \* g        { USB_DEVICE(0x04e8, 0x1234)},1 u: J5 I+ y/ o& ~- _
        { }- G9 N4 y5 z: E; r. B
};
7 q& R% A! W; v
3 s2 D, y) d' t5 o2 |2 W    至此,代码修改完毕!
8 L5 [6 e, o7 l" P' [9 |2 V+ n; e. _" x
     $ make
& k/ A' y1 i0 F. t! ^' [( D' T, }3 A/ z; k5 a  v& l9 e; J; X
     之后在文件夹中会有secbulk.ko模块文件,如下图所示:% |! W/ p8 b4 w7 G+ u5 Z
9 Q/ k% Q. a' [5 u  l) p
        Q0 N  P5 Y- Q7 D& S" X. S
6 |* V; w  q5 c; w9 }7 j# e- Q
     加载该模块到内核(注意:需要root权限)
. O* y* |# @$ @, [; y" P
+ c) I$ q3 D( t7 b8 h3 s: B! V     $ sudo insmod secbulk.ko5 H/ ?" o! v" ^: f  J
游客,如果您要查看本帖隐藏内容请回复
& i9 O- j! N  L; I' ^" b

; }& [: B5 A  ^- g& N7 G: b$ [; C9 U  L' U. }% X

' g2 I' x3 _4 }. U& \6 Z8 G  X. e8 M: h2 }8 ?

* ?0 Y& X" u4 T* J
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 05:40 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表