日本强好片久久久久久AAA_色综合久久天天综合观看_久久精品国产亚洲av日韩_久久久久一级片

程控直流電源燒寫程序你會嗎?

什么是燒寫

       燒寫就是將寫好的程序編譯好形成HEX或BIN文件后,將這個程序?qū)戇M單片機芯片的過程就叫燒寫,是沿用最早的單片機只能一次性寫入,因此就叫做燒寫,后來有了紫外線可擦除的EEPROM,現(xiàn)在有了可隨時擦除的FLASH ROM,但依然沿用叫燒寫了,這樣也方便特指PC向MCU寫入程序。免得和單片機工作時串口的上傳和下次數(shù)據(jù)相混淆。

程控直流電源燒寫

       程控直流電源沒有BootLoader的燒寫(flash中沒有任何內(nèi)容時,或誤擦除uboot),僅用于燒寫bootloader和裸機程序到flash上。

1.)并口Wiggler JTAG調(diào)試板 配合HJTAG軟件,可以燒寫nandflash和norflash,并口速度較慢 (需要用到并口,現(xiàn)在筆記本電腦基本沒有并口了,這個方法局限性很大)。

2.)HJTAG USB仿真器 配合HJTAG軟件,可以燒寫nandflash和norflash,速度極快,適用于沒有并口的電腦。

3) Jlink V8仿真器 配合JFlash Arm軟件,只能燒寫Norflash(也可間接燒寫Nandflash,間接燒寫到Nandflash是借助sdram來實現(xiàn)燒寫的,稍微有一點難,這里公司為了節(jié)約成本很多都采用nandflash來啟動內(nèi)核,norflash和nandflash這里區(qū)別就明顯體現(xiàn)出來了,norflash可以像內(nèi)存一樣直接操作,nandflash只能通過控制寄存器來操作,這里大家一定明白過來,硬件上的差異也是很大的),適用于沒有并口的電腦。

       程控直流電源有u-boot,使用uboot燒寫,flash中需要能正常運行uboot,適用于燒寫bootloader,kernel和rootfs。

1)USB口,提供的uboot集成了USB Download的功能,可配合提供的DNW軟件,方便的下載程序(缺點是燒寫速度太慢。

2)網(wǎng)口,也是一種速度較快的下載方式,uboot中集成了tftp Download功能,可配合任意一種tftp Server軟件實現(xiàn)下載程序。同樣可用于windows和linux平臺,推薦大家使用這種方式來下載,因為速度非常的快。

3)串口,使用串口Xmodem協(xié)議下載程序,相比USB和網(wǎng)口,速度較慢,不推薦此方式

4)U盤,不需要PC機軟件的支持,將U盤插在板上,就可以利用uboot下載U盤中要燒寫的文件,并可實現(xiàn)全自動燒寫

5)SD/TF卡,等同于U盤燒寫程序。

燒寫程序


1、uboot的燒寫

       下載Uboot分為兩個步驟,第一步將uboot下載到系統(tǒng)的擴展RAM并運行,第二步通過內(nèi)存中運行的uboot把整個uboot下載到內(nèi)存再燒寫到nandflash。

       第一步下載uboot到擴展RAM:

       首先使用短路塊選擇系統(tǒng)從內(nèi)部啟動,復(fù)位或者上電就會在串口軟件(115200 8 n 1)看到打印的信息LPC31xx READY FOR PLAIN IMAGE》,此時使用串口軟件的發(fā)送文件選擇發(fā)送u-boot-init.bin,再發(fā)送u-boot.bin,之后就會在RAM中啟動uboot,打印輸出啟動信息,并進行倒計時,此時發(fā)送任意字符給系統(tǒng),停止計時,關(guān)閉串口軟件,使用超級終端連接系統(tǒng)。

       第二步燒寫uboot到nandflash

       在超級終端中輸入loady命令,再使用傳送/發(fā)送文件,選擇Ymodem協(xié)議,發(fā)送u-boot.bin,接收完成后,先擦除nand erase,可以全擦掉(不用給參數(shù)),也可以使用使用參數(shù)指定區(qū)域,一般第一次要全擦,而后使用nand_params將flash的信息寫入其中,最后使用nand write 0x30001000 0x4000 0x100000

其中,0x30001000 是uboot在內(nèi)存中的地址;

       0x4000 uboot在flash中存放的起始地址,需要根據(jù)實際的分區(qū)情況而定;

       0x100000 是uboot的大小,不小于實際大??;

       至此,將uboot寫入到nandflash中,可以將短路跳線去掉,使其從nandflash啟動。

2、內(nèi)核的燒寫

       在uboot啟動倒計時,擊任意鍵停止,輸入loady,與uboot燒寫相似,使用的命令主要有:nand erase 0x200000(地址) 0x200000(大?。?/span>

nand write 0x30001000 0x200000 0x200000

3、文件系統(tǒng)的燒寫

       文件系統(tǒng)的燒寫,可以通過與內(nèi)核相似的方法使用串口燒寫,也可以通過掛載nfs使用mtd_debug 工具燒寫,由于文件系統(tǒng)較大,使用第一種方式會慢一些。

串口燒寫使用到的命令

loady

nand erase 0x600000 0x3a00000(目前的分區(qū)情況)

nand write 0x30001000 0x600000 0x800000(實際大小)

       使用nfs燒寫用到的命令

mtd_debug erase /dev/mtd2 0 0x3a00000

mtd_debug write /dev/mtd2 0 0x800000 ubi.img

       各項的含義可以參考mtd_debug 的幫助,直接mtd_debug 即可獲取說明,其中的len可以使用十進制數(shù),但是在uboot中是不可以的,不加0x也會認為是十六進制。

4、啟動掛載文件系統(tǒng)的選項

       在uboot中可以通過環(huán)境變量設(shè)置啟動的選項,一般只需要配置掛載的文件系統(tǒng)是nfs還是ubi,及內(nèi)核啟動選項。

       掛載nanflash中的ubifs:

setenv bootargs console=ttyS0,115200n8 ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs;

掛載129.1.4.199上/rfs/rootfs,并且本機的ip設(shè)為129.1.31.33等:

setenv bootargs noinitrd root=/dev/nfs console=ttyS0,115200n8 nfsroot=129.1.4.199:/rfs/rootfs,proto=tcp,nfsvers=3,nolock ip=129.1.31.33:129.1.4.199:129.1.88.1:255.255.0.0::eth0:off

       啟動內(nèi)核的選項:

setenv bootcmd nand read 0x30001000 0x200000 0x200000\; bootm 0x30001000\;

修改過uboot的環(huán)境變量都需要saveenv命令保存修改。

圖片加載中...

在線留言

◎歡迎您的留言,您也可以通過以下方式聯(lián)系我們:

◎客戶服務(wù)熱線:021-51095123

◎郵箱:xin021@126.com

展開