使用 linux-dnw 給S5PV210燒錄裸機程式

codenocold發表於2016-02-26

linux下利用dnw燒寫檔案

1. 下載Linux下DNW
下載地址: https://github.com/changbindu/dnw-linux
檔名: dnw-linux-master.zip

使用 $ unzip dnw-linux-master.zip   解壓

2  編譯並載入secbulk.c核心模組

    $cd secbulk
    $make -C /lib/modules/`uname -r`/build M=`pwd` modules 

編譯成功後在當前目錄下可以看到secbulk.ko
用insmod命令載入模組,這需要root許可權

     $sudo insmod ./secbulk.ko

載入後用dmesg命令可以看到模組已經成功載入
[ 238.007970] secbulk:secbulk loaded
[ 238.009101] usbcore: registered new interface driver secbulk

開機的時候不會自動載入.ko檔案,這樣每次都要先載入才可以使用,此時將其加入開機指令碼, 使其得到自動載入,編輯/etc/init.d/rc.local 在最後加上 insmod /所在路徑/secbulk.ko

3 編譯dnw寫入工具

根據S5PV210的啟動特點寫入地址為0xd0020010 為了避免每次燒寫輸入地址麻煩可以進入dnw.c中修改地址然後再編譯。

     $cd dnw
     $gcc -o dnw dnw.c

編譯成功後生成可執行檔dnw

4 使用DNW下載

     $./dnw /path/to/what/you/want/download

寫入完成後提示成功
100% xxxxxxx bytes OK

如果發現速度太慢了,可以修改緩衝區的大小。在原始碼中
發現是#define BULKOUT_BUFFER_SIZE 32所設定的值太小了。
改為#define BULKOUT_BUFFER_SIZE 512後可發現速度快了很多。”

改了緩衝區大小之後,速度會快很多,設多少自己把握。

相關文章