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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

0 h& n. d; Y- {) ]2 l, P一直在Windows下开发,某些bug总是使我不能全心全意的信任Windows,从开发嵌入式开始,一直就想把开发环境转移到Linux环境下,特别是下载程序的时候,不过确实有Linux的开发环境,就拿下载程序来说,Linux下的minicom和dnw真的是很好用,同时也可以学习源代码。下面教你如何下载、安装、使用dnw。
+ r8 a& P; _2 |
: ?5 z: D3 K6 L1 c" o3 T3 B1. dnw由两部分构成:USB驱动和下载工具,USB驱动便是secbulk文件夹,下载工具是DNW文件夹
# l$ S# r2 z& t* R( w
# `/ `; y& g- i0 W* ^2 E2.  安装dnw
5 B7 T& p. z8 L
1 R4 V. |6 z% r5 S$ N
     解压缩,之后会看到dnw_linux文件夹,进入该文件夹, Q1 K+ d' s; {

, L4 c  X5 i" Y9 Q6 D     $ cd dnw_linux
$ a1 ~, |0 A% y+ T$ t8 C5 r3 C0 w4 D) v: N5 p. n" a' }
     $ ls
& M; [# R" a5 q2 z) P4 h7 ^% C
6 u$ `; u1 P7 W% j6 r2 E& D& a     $ /dnw   /secbulk  y) Z! ^/ [- m* A% O
) H/ z+ R' }$ `8 L7 y

6 _1 H$ e' q) T" B# H6 D, H: e     2.1  首先修改、编译和安装驱动
% Q6 F1 l3 U5 C8 \  a: s6 J
2 N8 `( n9 E8 O     进入secbulk文件夹,输入编译命令,编译成模块。(我自己修改了Makefile,因此大家只需make就可编译,make clean 就可清除编译。修改后的Makefile如下:
& ?# c; g' v( I1 I5 `& H" S1 y9 a) ^2 y, |4 m5 P7 X
obj-m := secbulk.o
. d" }7 |. \7 I. x4 ]% A: }KDIR := /lib/modules/`uname -r`/build8 g. [" J. U; E  ^/ F5 f
PWD  := $(shell pwd)6 Z5 [; ?6 e5 k5 m
3 n  L8 d1 Q2 [+ n2 \' g6 S
default:6 ?/ E8 J( D, z" i" U
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
  _8 }: w* t5 @clean:1 P! `) i7 i, |; |1 e
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
. c" D) v3 ?; i" F- G: T- D6 b0 r6 ^        rm -RF *.order *.symvers8 ^7 t1 u7 P9 H9 l; K& r4 y
     在修改secbulk.c中代码,将0x5432改为0x04e8(不同的flash要在那个表单中加入一些设备相关的信息类似ID号,在程序加载的时候自动读取芯片内部ID和这个相比较,没有注册的设备是不会被系统支持的,可以通过lsusb获得idProduct和idVendor,需要在插上板子,并准备下载时此时设备连上时lsusb,0x04e8:0x1234),代码如下:3 i  ?1 r  M9 }1 ?3 J9 S- D2 M- K& l
! c# k" b& L! L1 ?4 t- t3 i$ a
static struct usb_device_id secbulk_table[]= {
" t( j% C: k2 E1 U: D: ?& C        { USB_DEVICE(0x04e8, 0x1234)},
% I, r. ^5 m/ @" \/ |# p        { }# J. t8 l( y$ J2 O: d! b, w; |% k
};4 O- Z$ J' c/ @; R6 u3 j: P
2 i% ?+ p, @- g
    至此,代码修改完毕!
# T" n4 |# ]9 }7 b. P; ]  V. w# }
     $ make
# o, h0 ?3 {4 q9 B3 g8 m2 ~# r/ ~9 Z! g, q
     之后在文件夹中会有secbulk.ko模块文件,如下图所示:% s  N& _0 H! i! F6 Q6 w
: p' G( }6 q; |, P. o: d
     
0 b; o# P! q% p5 L
1 I- e; D/ a8 V+ @9 u6 `0 l     加载该模块到内核(注意:需要root权限)
$ y" B! j0 ~4 x4 L3 ^# G  A% r/ }2 d, b
     $ sudo insmod secbulk.ko
; ]3 w$ z9 I6 S* k
游客,如果您要查看本帖隐藏内容请回复
) m1 ]4 K- E* A5 {7 p

8 b& S2 M* \6 u) m$ p7 ~2 P8 z& W9 ^7 K
& m/ [' f5 i: @3 S  O. A- B/ ?
9 @1 K/ }( \% ]" }' x. `" {+ H

9 D2 N4 \% K0 a1 I. u7 B6 z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 01:37 , Processed in 0.187500 second(s), 26 queries , Gzip On.

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

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

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