linux下利用dnw燒寫檔案,dnw安裝與配置

來源:互聯網
上載者:User

  1.解壓縮檔案: # tar xvf dnw_for_linux.tar.gz

 

  2.然後切換到下面的目錄,編譯usb驅動模組: # cd dnw_for_linux/secbulk

 

  # make -C /lib/modules/2.6.33.6-147.fc13.i686/build/ M=/home/lhc/Desktop/dnw_for_linux/secbulk/ modules

 

  (注 意:相應路徑要替換成你機器的路徑。/lib/modules/2.6.33.6-147.fc13.i686/build/目錄中 “2.6.33.6-147.fc13.i686”是當前啟動核心版本,如果你是多核心要注意了(不確定可以終端uname -r命令查看核心版本)。或者利用命令:make -C /lib/modules/`uname -r`/build M=`pwd` modules)

出現錯誤:make: *** /lib/modules/2.6.25-14.fc9.i686/build: 沒有此一檔案和目錄
sudo yum install kernel-devel    再make -C /lib/modules/`uname -r`/build M=`pwd` modules

  3.編譯完成後,會產生secbulk.ko檔案: # ls

 

  Makefile Module.symvers secbulk.ko secbulk.mod.o

 

  modules.order secbulk.c secbulk.mod.c secbulk.o

 

  4.載入模組到Linux核心: # insmod ./secbulk.ko (注意要在root許可權下)

 

  # dmesg (查看是否載入成功)

 

  secbulk:secbulk loaded

 

  usbcore: registered new interface driver secbulk (看到這樣兩行就說明成功了)

 

  5.下面開始編譯dnw工具 # cd ../dnw

 

  # gcc -o dnw dnw.c

 

  (編譯完成,會看到dnw可執行檔)

 

  6.將檔案copy到/usr/local/bin目錄 # cp dnw /usr/local/bin

 

  (這樣就可以在shell下面直接使用dnw命令了)

DNW的使用

  1.在minicom下,從Nor Flash啟動TQ2440,選擇3功能: [3] Download Linux Kernel (zImage.bin) to Nand Flash

 

  2.此時,開啟另一個終端: # su

 

  # dnw work/linux-2.6.30.4/zImage.bin

 

  file name : work/linux-2.6.30.4/zImage.bin

 

  file size : 2305544 bytes

 

  Writing data...

 

  100% 2305554 bytes OK (此時就將zImage鏡像下載到開發板了)

 

  3.再看下minicom的輸出資訊 Enter your selection: 3

 

  USB host is connected. Waiting a download.

 

  Now, Downloading [ADDRESS:30000000h,TOTAL:2305554]

 

  RECEIVED FILE SIZE: 2305554 (562KB/S, 4S)

 

  NAND erase: device 0 offset 0x200000, size 0x300000

 

  Erasing at 0x4e0000 -- 100% complete.

 

  OK

 

  NAND write: device 0 offset 0x200000, size 0x232e08

 

  Writing data at 0x432800 -- 100% complete.

 

  2305544 bytes written: OK

 

  由於每次重啟都需要載入一次secbulk.ko模組,為了實現自動載入,可作以下操作:

 

  1.修改secbulk.ko的許可權成755

 

  2.修改etc/rc.local檔案,添加下面一行

 

  sudo sbin/insmod /usr/bin/secbulk.ko

 

  說明:將secbulk.ko拷貝到了/usr/bin目錄下邊,為了防止意外刪除,你要是不想動原來的檔案夾的話,直接將“usr/bin/secbulk.ko”改成你的secbulk.ko的全路經即可。

 

  重啟後,用lsmod|grep secbulk來驗證一下,看模組是否自動載入了 不過每次開機都要載入一次那個.ko模組,大家可以自己將它寫到開機指令碼裡,省去了每次都要手動載入的麻煩!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.