linux下使用DNW傳資料 進行ARM開發板燒寫

2021-06-20 14:59:17 字數 1502 閱讀 1418

0.工具準備: 串列埠終端kermit,dnw for linux,secbulk驅動

1. 安裝kermit

sudo apt-get install ckermit

2.配置kermit

建立配置檔案 ~/.kermrc, 內容如下:

#usb轉串列埠,所以裝置為/dev/ttyusb0

set line /dev/ttyusb0

#設定波特率

set speed 115200

#關閉通訊監視,必須關閉才能看到開發板返回的資訊

set carrier-watch off

3.安裝配置dnw 和secbulk:

1)執行make install 編譯得到dnw

2)將dnw放到系統路徑: sudo cp dnw /usr/sbin/ ,然後make clean清除多餘資訊

3)執行:kermit

4)connect

5)dnw 50008000 (此步驟以後,用lsusb命令才能得到usb口的id資訊)

6)新開乙個終端,執行lsusb,得到類似:id 04e8:1234,修改secbulk.c中相關資訊,與usb的id對應 

8)重新執行步驟1)和2)用新的dnw和secbulk.ko代替。

9)sudo insmod 路徑/secbulk.ko (可以修改/etc/rc.local檔案,末尾加入: sudo insmod 路徑/secbulk.ko)

4.注意1: 先連線好usb串列埠和開發板,然後再開啟配置好的kermit終端;否則kermit會讀取配置檔案先占用和鎖定了/dev/ttyusb0, 那麼再插上usb串列埠後,該裝置分配的裝置檔案就成了/dev/ttyusb1, 從事出現不匹配,在終端中無法控制開發板的情況;(不過這種情況也很好處理,就是在kermit中設定新的連線物件,如下:)

set line /dev/ttyusb1 #這個根據實際情況設定,可以通過 ls /dev/ttyusb* 的方式查詢到名字

5.注意2:

1)驅動安裝好後,在用kermit連線好開發板,然後重啟開發板,讓其停留在u-boot階段;

3)這時通過lsusb命令才可以檢查到該usb線

4)dmesg |grep secbulk可以檢查到如下資訊(在正常執行了:sudo insmod secbulk.ko 後,):

nov 16 13:21:21 qunengrong-studio-1450 kernel: [139476.958530] secbulk:secbulk probing...

nov 16 13:21:21 qunengrong-studio-1450 kernel: [139476.958534] secbulk:bulk out endpoint found!

表示usb連線成功

6.燒寫方法:

1)kermit-->connect-->開機,按空格停留在uboot-->dnw 50008000

2)另一終端輸入:「dnw 路徑/檔案.bin」來傳輸檔案

3)回到kermit做格式化和燒寫

在Linux下安裝DNW

2.編譯pc端usb驅動和寫入工具 2.1 解壓縮 tar xzvf path to dnw linux.tgz dnw linux dnw linux secbulk dnw linux secbulk makefile dnw linux secbulk secbulk.c dnw linux ...

在Linux下使用dnw和u boot燒寫系統

啟動u boot,按住空格進入u boot選單後 mincom linux會識別到乙個新的usb裝置,執行lsusb可以看到如下資訊 azheng ubuntu lsusb bus 001 device 001 id 1d6b 0002 linuxfoundation 2.0 root hub bu...

linux下利用dnw燒寫檔案

linux下利用dnw燒寫檔案 自行車咣咣響 提交日期 2009 5 12 15 27 00 分類 訪問量 761 摘自 段昌平 linux 下利用dnw 燒寫檔案 2009 04 07 10 58 分類 qt 學習字型大小 大大 中中 小小 使用該工具後可以直接在linux win系統下面,方便了...