日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DM368开发 -- uboot 使用

發(fā)布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DM368开发 -- uboot 使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、uboot指令

hisilicon # help
? ? ? ? - alias for 'help'
base ? ?- print or set address offset
bootm ? - boot application image from memory
bootp ? - boot image via network using BOOTP/TFTP protocol
cmp ? ? - memory compare
cp ? ? ?- memory copy
crc32 ? - checksum calculation
ddr ? ? - ddr training function
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls ? - list files in a directory (default /)
getinfo - print hardware information
Go?? ? ?- start application at address 'addr'
help ? ?- print command description/usage
loadb ? - load binary file over serial line (kermit mode)
loady ? - load binary file over serial line (ymodem mode)
loop ? ?- infinite loop on address range
md ? ? ?- memory display
mii ? ? - MII utility commands
mm ? ? ?- memory modify (auto-incrementing address)
mtest ? - simple RAM read/write test
mw ? ? ?- memory write (fill)
nand ? ?- NAND sub-system
nboot ? - boot from NAND device
nm ? ? ?- memory modify (constant address)
ping ? ?- send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset ? - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
setenv ?- set environment variables
sf ? ? ?- SPI flash sub-system
tftp ? ?- tftp ?- download or upload image via network using TFTP protocol
usb ? ? - USB sub-system
usbboot - boot from USB device
version - print monitor version
hisilicon #?

詳細查看各個指令用法可使用 help+指令名 來查看。舉個栗子: x210 # help erase erase start end- erase FLASH from addr 'start' to addr 'end' erase start +len- erase FLASH from addr 'start' to the end of sect w/addr 'start'+'len'-1 erase N:SF[-SL]- erase sectors SF-SL in FLASH bank # N erase bank N- erase FLASH bank # N erase all

二、uboot 環(huán)境變量

參看:U-Boot Usage 參看:uboot環(huán)境變量實現(xiàn)分析 bootdelay ? ?執(zhí)行自動啟動的等候秒數(shù) baudrate ? ? 串口控制臺的波特率
netmask ? ? 以太網(wǎng)接口的掩碼
ethaddr ? ? ? 以太網(wǎng)卡的網(wǎng)卡物理地址
bootfile ? ? ? ?缺省的下載文件
bootargs ? ? 傳遞給內(nèi)核的啟動參數(shù)
bootcmd ? ? 自動啟動時執(zhí)行的命令
serverip ? ? ? 服務器端的ip地址
ipaddr ? ? ? ? 本地ip 地址
stdin ? ? ? ? ? 標準輸入設備
stdout ? ? ? ?標準輸出設備
stderr ? ? ? ? 標準出錯設備

三、uboot 傳參機制

參看:uboot向kernel的傳參機制——bootm與tags

四、bootargs?

參看:U-Boot Usage 參看:GSG: DM365 DVEVM Additional Procedures 例如: setenv bootargs 'console=ttyS0,115200n8 ip=dhcp root=/dev/mtdblock3 rw rootfstype=yaffs2 mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4' setenv bootcmd 'nand read 0x80700000 0x400000 0x400000;bootm 0x80700000';

root=

它告訴內(nèi)核使用什么設備作為根文件系統(tǒng)。例如,要通過NFS引導,請設置
? ? root=/dev/nfs
要通過MMC / SD啟動,請執(zhí)行類似操作
? ? root=/dev/mmcblk0p2

rw

這告訴內(nèi)核將根文件系統(tǒng)掛載為讀/寫。

rootstype=

指明文件系統(tǒng)的類型

nfsroot=

它告訴內(nèi)核哪個機器和目錄用于NFS掛載,以及根文件系統(tǒng)的選項。 更多細節(jié)可以在 linux/Documentation/ nfsroot.txt 文件中找到。 這也必須與 root = /dev/nfs 參數(shù)一起使用。例如:
? ? nfsroot=192.168.1.100:/home/workdir/filesystem,nolock?
(192.168.1.100 為虛擬機 IP)

ip=

通過 NFS 安裝時,內(nèi)核必須直接配置網(wǎng)絡接口。 這個的典型用法是:
? ? ip=dhcp

例如:ip=192.168.32.128:192.168.32.122:192.168.32.1:255.255.255.0?
“ip=”后面:?
? ? 第一項(192.168.32.128)是開發(fā)板的臨時IP(注意不要和局域網(wǎng)內(nèi)其他 IP 沖突);?
? ? 第二項(192.168.32.122)是我的 PC 的 IP;?
? ? 第三項(192.168.32.1)是開發(fā)板上網(wǎng)關(guān)(GW)的設置;?
? ? 第四項(255.255.255.0)是子網(wǎng)掩碼

noinitrd?

當指定時,這將允許通過 /dev /initrd 訪問初始 RAM 磁盤。否則使用 initrd

init

init指定的是內(nèi)核啟起來后,進入系統(tǒng)中運行的第一個腳本,一般init=/linuxrc, 或者init=/etc/preinit,preinit的內(nèi)容一般是創(chuàng)建console,null設備節(jié)點,運行init程序,掛載一些文件系統(tǒng)等等操作。請注意,很多初學者以為init=/linuxrc 是固定寫法,其實不然,/linuxrc指的是/目錄下面的linuxrc腳本,一般是一個連接罷了。

mem=

這指定了可用于Linux的內(nèi)存量。

console=

這告訴內(nèi)核在哪里發(fā)送引導消息。 典型用法是使用第一個串行端口,115200波特,8位數(shù)據(jù),無奇偶校驗。 例如:
? ? console=ttyS0,115200n8

mtdparts

Flash分區(qū)描述,格式為 mtdparts=hi_sfc:256K(boot),3M(kernel),1M(rootfs),5M(data)? 表示有4個分區(qū),分區(qū)0大小為256用于bootloader啟動,分區(qū)1大小為3M用于內(nèi)核啟動,分區(qū)2大小為1M用于根文件系統(tǒng)啟動,5M為用戶數(shù)據(jù)。

video=

這將告訴內(nèi)核有關(guān)如何配置視頻設備的信息。 這里給出了與TI EVM具體相關(guān)的一些常見值。

? ? davincifb | omap24xxfb

這具體說明要使用的framebuffer驅(qū)動程序的名稱。 (對于DaVinci零件選擇davincifb和OMAP3零件的omap24xxfb)。

? ? vid[0-1]=[width x height x bpp,mem]

這指定了對應于vid0或vid1的幀緩沖區(qū)的大小,每像素的位數(shù)和內(nèi)存量。 如果使用v4l2驅(qū)動程序(而不是davincifb),請將其指定為vid0 = OFF:vid1 = OFF。 如果使用davincifb驅(qū)動程序,您可以分配一個720x480 vid0窗口,每個像素16位,內(nèi)存2500KB
? ? vid0=720x480x16,2500K

? ? osd[0-1][width x height x bpp,mem]

這指定了對應于osd0或osd1的幀緩沖區(qū)的大小,每像素的位數(shù)和分配的內(nèi)存量。 例如,您可以分配一個720x480的osd0窗口,每個像素16位,內(nèi)存2500KB
? ? osd0=720x480x16,2500K

? ? rotation=n (for use with omap24xxfb only)

這指定了幀緩沖區(qū)的旋轉(zhuǎn)量。 n的有效值為{0,90,180,270}。
video =參數(shù)的所有值部分應該用逗號分隔。 例如,在達芬奇設備上,要使用v4l2驅(qū)動程序進行視頻窗口并設置OSD窗口,請使用:
? ? video=davincifb:vid0=OFF:vid1=OFF:osd0=720x480x16,2500K

dm365_imp.oper_mode=

這將設置IPIPE調(diào)整器的模式。 連續(xù)模式為0,單拍模式為1。

davinci_capture.device_type=

這定義要使用哪個驅(qū)動程序。 使用以下設置: ? ? davinci_capture.device_type=0 for MT9T001
? ? davinci_capture.device_type=1 for TVP5146
? ? davinci_capture.device_type=2 for MT9T031
? ? davinci_capture.device_type=3 for MT9P031
? ? davinci_capture.device_type=4 for TVP7002
? ? davinci_enc_mngr.ch0_output=

有效值為:
? ?COMPOSITE
? ?COMPOSITE1
? ?SVIDEO
? ?SVIDEO1
? ?COMPONENT
? ?COMPONENT1
? ?LCD
? ?LCD1

davinci_enc_mngr.ch0_mode=

達芬奇的有效值為:
? ?NTSC
? ?ntsc
? ?NTSC-RGB
? ?PAL
? ?pal
? ?PAL-RGB
? ?720P-24
? ?720P-25
? ?720P-30
? ?720P-50
? ?720P-60
? ?1080I-25
? ?1080I-30
? ?1080P-25
? ?1080P-30
? ?1080P-50
? ?1080P-60
? ?480P-60
? ?576P-50
? ?640x480
? ?640x400
? ?640x350
? ?800x480

DaVinciHD(DM6467)的有效值為:
? ?NTSC
? ?NTSC-RGB
? ?PAL
? ?PAL-RGB
? ?720P-25
? ?720P-30
? ?720P-50
? ?720P-60
? ?1080I-25
? ?1080I-30
? ?1080P-24
? ?1080P-25
? ?1080P-30
? ?1080P-50
? ?1080P-60
? ?480P-60
? ?576P-50
? ?640x480
? ?640x400
? ?640x350

五、nand flash/nor flash燒寫指令

1、nand flash

例如:燒寫內(nèi)核 mw.b 82000000 ff 400000 tftp 82000000 uImage nand erase 800000 400000 nand write 82000000 800000 400000

nand info : ?查看nandflash芯片信息包括數(shù)據(jù)線位寬一般8或者是16等

nand erase: ?nandflash使用之前必須先擦除,遇到壞塊會標記以下是使用實例

? ? nand erase 0x00280000 0x300000
? ? 作用:擦除nandflash上起始地址為0x00280000,長度為0x300000的flash空間

nand scrub: 作用和nand erase差不多,但是會將壞塊信息也擦除掉

? ? nand scrub 400000 1000000 表示從 0x400000 開始清理 64M。
? ? 如果最后一個參數(shù)不傳,則表示從此地址開始清理至 nand flash 結(jié)束,比如:
? ? nand scrub 400000 表示清理從 0x400000 開始的所有 flash 空間。

nand write: ?將數(shù)據(jù)從ddr上的某個地址寫入flash中間比如

? ? nand write 0x81000000 0x00280000 0x300000
? ? 作用:將DDR地址為0x81000000上的數(shù)據(jù)寫入到nandflash 地址0x00280000上,寫入長度為0x30000

nandecc ?: 在讀寫flash之前需要先設置好該flash的ecc校驗方法,否則可能導致很嚴重的錯誤,

? ? 以下是設置ecc校驗的命令:
? ? nandecc hw 2設置nandflash的ecc校驗是硬件校驗具體為BCH8(4位校驗碼)
? ? nandecc hw 0設置nandflash的校驗方法是硬件校驗具體是漢明碼(1位校驗碼)
? ? nandecc sw 設置nandflash的校驗方法是軟件校驗

2、nor flash

例如:燒寫 uboot sf probe 0 mw.b 82000000 ff 100000 tftp 0x82000000 u-boot.bin sf probe 0 sf erase 0 100000 sf write 82000000 0 100000

【mw.b】

mw.b表示按字節(jié)顯示,內(nèi)存初始化,填充內(nèi)存。把內(nèi)存 0x82000000 開始的 0x10000 字節(jié)設為 0xFF。

【sf probe 0】?

探測并初始化SPI FLASH;

【0x82000000】

內(nèi)存地址

【erase】?

表示從地址0擦除了1M的文件

【write】?

表示從內(nèi)存地址0x82000000寫入1M文件


總結(jié)

以上是生活随笔為你收集整理的DM368开发 -- uboot 使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。