欧美激情久久久久久,人妻久久精品天天中文字幕,国产精品无码色一区二区三区按摩 ,日韩中文无码有码免费视频

程控直流電源燒寫(xiě)程序你會(huì )嗎?

什么是燒寫(xiě)

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

程控直流電源燒寫(xiě)

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

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

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

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

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

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

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

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

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

5)SD/TF卡,等同于U盤(pán)燒寫(xiě)程序。

燒寫(xiě)程序


1、uboot的燒寫(xiě)

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

       第一步下載uboot到擴展RAM:

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

       第二步燒寫(xiě)uboot到nandflash

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

其中,0x30001000 是uboot在內存中的地址;

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

       0x100000 是uboot的大小,不小于實(shí)際大??;

       至此,將uboot寫(xiě)入到nandflash中,可以將短路跳線(xiàn)去掉,使其從nandflash啟動(dòng)。

2、內核的燒寫(xiě)

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

nand write 0x30001000 0x200000 0x200000

3、文件系統的燒寫(xiě)

       文件系統的燒寫(xiě),可以通過(guò)與內核相似的方法使用串口燒寫(xiě),也可以通過(guò)掛載nfs使用mtd_debug 工具燒寫(xiě),由于文件系統較大,使用第一種方式會(huì )慢一些。

串口燒寫(xiě)使用到的命令

loady

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

nand write 0x30001000 0x600000 0x800000(實(shí)際大?。?/span>

       使用nfs燒寫(xiě)用到的命令

mtd_debug erase /dev/mtd2 0 0x3a00000

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

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

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

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

       掛載nanflash中的ubifs:

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

掛載129.1.4.199上/rfs/rootfs,并且本機的ip設為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

       啟動(dòng)內核的選項:

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

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

圖片加載中...

在線(xiàn)留言

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

◎客戶(hù)服務(wù)熱線(xiàn):021-51095123

◎郵箱:xin021@126.com

展開(kāi)