導航:首頁 > 程序命令 > 3200acmuboot命令

3200acmuboot命令

發布時間:2023-02-16 06:52:19

A. linux怎麼進入uboot菜單

linux下的dnw配置步驟以下:1
下載源碼
源碼:dnw_linux
這個是在1個論壇上搜到的,這個不需要注冊,就能夠免費下載奧,感謝作者的辛苦勞動和忘我的奉獻精神,呵呵...2
解壓這個下載完以後是rar格式的,還得到windows下解壓。解壓後到linux下便可。其中secbulk.c是pc端usb驅動,
dnw.c是寫入工具。3
編譯並載入secbulk模塊$cd
secbulk$make
-c
/lib/moles/`uname
-r`/build
m=`pwd`
moles編譯成功後在當前目錄下可以看到secbulk.ko
用insmod命令載入模塊,這需要root許可權$sudo
insmod
./secbulk.ko4
編譯dnw寫入工具$gcc
-o
dnw
dnw.c編譯成功後生成可履行dnw5
使用dnw下載使用方式和windows下基本1致。在終端下輸入相應的uboot命令,當出現「usb
host
is
connected.
waiting
a
download.」時,在pc端linux上用dnw工具寫入要下載的文件便可。切換到root許可權,履行dnw下載.$./dnw
/path註:這個/path就是所要下載的文件的路徑及名稱,例:/home/linux⑵.6.30.4/arch/arm/boot/zimage寫入完成後提示成功100%
xxxxxxx
bytes
ok可以把編譯好的dnw拷貝到/usr/sbin下或是usr/bin下,以後使用就直接使用dnw
/path
便可。至此,完成內核的下載,下載文件系統一樣的方法便可。注意:注意:有時候由於內核的升級,運行時會提示can
not
open
/dev/secbulk0的毛病,此時需要重新到secbulk目錄履行$make
-c
/lib/moles/`uname
-r`/build
m=`pwd`
moles,然後載入模塊$sudo
insmod
./secbulk.ko便可!

B. uboot的protect指令使用

Printenv 列印環境變數。

uboot> printenv

baudrate=115200

ipaddr=192.168.0.111

ethaddr=32:34:46:78:9A:DC

serverip=192.168.0.100

Environment size: 80/8188 bytes

2. Setenv 設置新的變數

如:

uboot> setenv myboard AT91RM9200DK

uboot> saveenv

uboot> printenv

baudrate=115200

ipaddr=192.168.0.111

ethaddr=32:34:46:78:9A:DC

serverip=192.168.0.100

myboard=AT91RM9200DK

Environment size: 102/8188 bytes

又如想重置啟動參數bootargs:

uboot> setenv bootargs 'noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0'

uboot> saveenv

3. saveenv 保存變數 命令將當前定義的所有的變數及其值存入 flash 中。 用來存儲變數及其值的空間只有 8k 位元組,應不要超過。 (如上例,每次與setenv配合使用)

4. loadb 通過串口 Kermit 協議下載二進制數據。

5. tftp 通過網路下載程序,需要先設置好網路配置

簡單配置:

uboot> setenv ethaddr 32:34:46:78:9A:DC

uboot> setenv ipaddr 192.168.0.111

uboot> setenv serverip 192.168.0.100

//下載 bin 文件到地址 0x20000000 處。

uboot> tftp 20000000 application.bin (application.bin 應位於 tftp 服務程序的目錄)

uboot> tftp 32000000 zImage.bin

把 server (IP=環境變數中設置的 serverip) 中 FTP配置的默認目錄下的 zImage.bin通過 TFTP 讀入到物 理內存 32000000 處。

6. md 顯示內存區的內容。

7. mm 修改內存,地址自動遞增。

8. nm 修改內存,地址不自動遞增。

9. mw 用模型填充內存

uboot>mw 32000000 ff 10000(把內存 0x32000000 開始的 0x10000 位元組設為 0xFF)

10. cp 拷貝一塊內存到另一塊

11. cmp 比較兩塊內存區

這些內存操作命令後都可加一個後綴表示操作數據的大小, 比如 cp.b 表示按位元組拷貝。 Protect 防寫操作 protect on 1:0-3(就是對第一塊 FLASH 的 0-3 扇區進行保護) protect off 1:0-3 取消防寫 Erase 擦除扇區。

12. nfs

uboot>nfs 32000000 192.168.0.2:zImage.bin 把 192.168.0.2(LINUX 的 NFS 文件系統)中的 NFS 文件系統中的 aa.txt 讀入內存 0x32000000 處 (192.168.0.2是配置的NFS伺服器地址,且要復制的文件必須在NFS配置的服務目錄下)

uboot 命令使用教程(uboot參數設置)的更多相關文章
U-Boot命令大全(功能參數及用法)
U-Boot上電啟動後,按任意鍵可以退出自動啟動狀態,進入命令行. U-Boot 2010.03 (Sep 25 2011 - 16:18:50) DRAM: 64 MB Flash: ...

uboot命令及內核啟動參數
修改:mw [內存地址] [值] [長度] 例如:mw 0x02000000 0 128 表示修改地址為0x02000000~0x02000000+128的內存值為0. 顯示:md [內存地址 ...

PM2用法簡介【命令行啟動 --env 參數設置使用問題】
環境切換 正式開發中分為不同的環境(開發環境.測試環境.生產環境),我們需要根據不同的情景來切換各種環境 pm2通過在配置文件中通過env_xx來聲明不同環境的配置,然後在啟動應用時,通過--env參 ...

u-boot 環境變數參數設置
今天本來是燒寫內核,結果一不小心把uboot也整不能用了,無奈之下只好重新燒個uboot,等都弄好以後,發現系統還是啟動不了,原來是啟動參數設置不對,於是找到了這篇文章,//是我添加的內容. 原文地址 ...

Uboot 命令行 介紹
背景 基本上,本文轉載自:<ARM板移植Linux系統啟動(五)Uboot命令行> 上次說到uboot的啟動方式,最後會使用autoboot(自主模式)嘗試引導kernel,如果失敗或者被 ...

uboot命令簡介
uboot下的命令行 1.典型嵌入式linux系統啟動過程: 嵌入式系統上電後先執行uboot.然後uboot負責初始化DDR,初始化Flash,然後將OS從Flash中讀取到DDR中,然後啟動OS( ...

燒寫ARM開發板系統教程----->uboot 、內核以及文件系統
一.sd啟動 將u-boot鏡像寫入SD卡,將SD卡通過讀卡器接上電腦(或直接插入筆記本卡槽),通過"cat /proc/partitions"找出SD卡對應的設備,我的設備節點是 ...

1.ok6410移植bootloader,移植u-boot,學習u-boot命令
ok6410移植u-boot 既然是移植u-boot當然首先需要u-boot源碼,這里的u-boot代碼是由國嵌提供的. 一.配置編譯u-boot A. 解壓 u-boot 壓縮文件 B. 進入解壓生 ...

轉載 uboot 命令
1.bootm bootm [addr [arg ...]] - boot application image stored in memory passing arguments 'arg ...' ...

C. 華為ap進入uboot

啟動AP。在出現以下信息後3秒內按下F鍵,進入Uboot命令行視圖。

Uboot菜單預設密碼為[email protected]

Press f or F to stop Auto-Boot in 3 seconds: 3
Password for uboot cmd line :
ar7240>

配置AP和tftp伺服器的IP地址,使AP和伺服器的IP地址處於同一網段,保證AP能夠從tftp伺服器獲取升級文件

ar7240> setenv ipaddr 192.168.10.13 #AP的IP地址
ar7240> setenv serverip 192.168.10.11 #伺服器的IP地址
ar7240> saveenv
Saving Environment to Flash…
Erasing Flash…Writing to Flash… done

ar7240> update system FatAP5X30XN_V200R007C20SPC100.bin #FatAP5X30XN_V200R007C20SPC100.bin存放在TFTP目錄下
p 1 speed 1000

Upgrade Firmware to A Successful

The current device is a FIT AP, but the upgrade package is for a FAT AP. Continue? [y/n]:y 按y

配置完成後,在命令行中鍵入reset
ar7240> reset
Resetting…

升級完成後,可執行命令display version

D. 機頂盒燒錄時出現命令出錯uboot獲取返回

1、打開燒錄軟體,導入燒錄包。
2、去掉「擦除」兩個對號,點擊開始。
3、機頂盒連接電源,機頂盒連接雙公頭USB,立即使用牙簽等按住機頂盒復位按鈕(不同機頂盒復位按鈕位置不一樣,大多在AV孔內),中途不能鬆手,直至刷機完成。數字視頻變換盒(SetTopBox)簡稱STB,通常稱作機頂盒或機上盒,是一個連接電視機與外部信號源的設備,它可以將壓縮的數字信號轉成電視內容,並在電視機上顯示出來。信號可以來自有線電纜、衛星天線、寬頻網路以及地面廣播。

E. uboot 命令具體是如何實現的,我看了一部分,現在卡住了;求高人指點; 我的QQ:436035433

那u-boot的那些個關於命令的結構體到底從何而來呢?在include/command.h里定義了這樣的宏:

#define Struct_Section __attribute__ ((unused,section (".u_boot_cmd")))

... ... ... ...

#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \

cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage, help}


二個宏展開便定義了一個代表u-boot命令的結構體。也就是說定義了一個變數,並賦與其初值。關鍵在於Struc_Section,它被展開後成了
__attribute__
((unused,section(".u_boot_cmd")))。也就是說,每個變數(占內存!)都放在.u_boot_cmd段里。它們還被加上
了unused的屬性,應該是為了平息編譯器的警告。確實,沒有任何代碼引用過它們!!如果這些變數被放在一個顯示聲明的數組里,那麼,每增加一個命令都
得去更改數組的定義。然後,通過這種方法,各人想要增加新的命令時,只需用上面的這個宏即可。這些表示命令的結構體被統一放在.u_boot_cmd段
里,鏈接腳本里又有:

__u_boot_cmd_start = .;

.u_boot_cmd : { *(.u_boot_cmd) }

__u_boot_cmd_end = .;

即,
把所有待鏈接文件里u_boot_cmd段合並在一起生成一個大的.u_boot_cmd段,並且用__u_boot_cmd_start與
__u_boot_cmd_end兩個符號標識這塊內存的首尾邊界。這樣,不用大家去修改某一文件的代碼(為了改變數組的定義),而是像資料庫一樣,各個
提供自己的信息。藉由編譯器與鏈接器生成這個「資料庫」,操作數據時對「資料庫」進行查詢即可。正是一個月前看《計算機程序構造與解釋》時看到的
「Data Direct」(好像是這么說)。在Grub及內核里也用了這樣機制。

參考:http://blog.163.com/lijiji_1515/blog/static/12687744620114522449739/

F. uboot備份到u盤

具體步驟: 1、將老毛桃winpe工具u盤插入電腦u *** 介面,按電源鍵開機。

屏幕上出現啟動畫面後按快捷鍵即可進入主菜單,在此選擇「【02】運行老毛桃Win8PE工具箱(裝機推薦)」並回車,如圖所示: 2、進入老毛桃pe系統後會自動運行老毛桃PE一鍵裝機工具,在工具窗口最上方點擊「備份分區」選項,如圖所示: 3、接著點擊「瀏覽」按鈕,在除系統盤以外的分區中選擇備份文件保存的位置,然後輸入文件名和保存類型,如圖所示: 4、返回到工具主窗口,選中系統盤,然後點擊「確定」按鈕,如圖所示: 5、緊接著會彈出一個備份提示框,點擊高級按鈕,字樣變成簡潔的同時,可以設置備份壓縮率、分卷大小等參數,也可以默認設置直接確定開始,如圖所示: 6、接下來只需等待系統備份完成,然後進入到系統備份文件所在路徑驗證是否備份成功,如圖所示: 7、最後將備份好的GHOST系統備份文件拷貝到U盤中即可。

G. uboot是什麼uboot的命令是幹嘛的

類似pc的BIOS引導程序,之所以叫Uboot,是因為universal的意思,即通用的引導程序,Uboot可以引導X86的CPU,也可以引導ARM的CPU,還有PowerPC,MIPS之類的CPU。
Uboot命令當然是用來操作Uboot了,比如擦寫Flash,網路下載數據之類,還有很多。

H. 華為AP版本切換命令

Uboot下用TFTP的方法升級AP 請事先配置好tftp工具,指向升級文件所在目錄;保證在AP上能ping通PC。
1. 使用串口線將AP的串口和PC的串口相連,使用「超級終端」等軟體,進入命令行界面。超級終端設置如下:
Baud:9600 Data bits:8 Stop bits:1 Parity: none Flow Control: none
2. 執行命令reboot,重新啟動AP。在出現以下信息後3秒內按下F鍵,進入uboot命令行視圖。Uboot菜單預設密碼為admin。
Press f or F to stop AutoBoot in 3 seconds:
3 Password for uboot cmd line :
3. 配置AP和tftp伺服器的IP地址,保證AP能夠從tftp伺服器獲取升級文件。ar7240>setenv ipaddr 169.254.1.1 #AP的IP地址ar7240>setenv serverip 169.254.1.3 #伺服器的IP地址ar7240>saveenvSaving Environment to Flash...Erasing Flash...Writing to Flash... done
4. 在命令行中鍵入update boot,在下面的顯示信息中作相應的配置:
a. 升級uboot:ar7240>update boot
#u-boot.bin存放在TFTP目錄下p 1 speed 1000......Copy to Flash... donear7240>reset
#以新載入的uboot啟動 升級uboot時不能斷電,否則AP無法啟動。
b. 重新啟動AP。在出現以下信息後3秒內按下F鍵,進入uboot命令行視圖。Uboot菜單預設密碼為[email protected]。若V200R002版本中修改過密碼,升級到V200R003版本後使用的密碼為V200R002版本中修改的密碼。若在V200R002版本時修改過密碼,後又將密碼改回為huawei,則版本升級到V200R003版本後使用V200R003版本預設密碼[email protected]
Press f or F to stop Auto-Boot in 3 seconds:
3 Password for uboot cmd line :
c. 載入需要升級的V200R003C00SPC300 AP系統軟體:ar7240>update system FitAP6X10XN_V200R003C00SPC300.bin #FitAP6X10XN_V200R003C00SPC300.bin存放在TFTP目錄下p 1 speed 1000 ......Upgrade Firmware to A Successful
5. 配置完成後,在命令行中鍵入reset,AP就會使用指定的網路啟動固件文件啟動了。用這種方式啟動後,固件被讀入AP的flash。ar7240>resetResetting...

2

I. android怎麼進入uboot

本人用的android平台用的bootloader用的是uboot,貌似大多數手持設備平台都不用這個,因為功能過於強大用不上,反而顯得太復雜了。不知道這個平台開發者是怎麼想的。既然用了那就來分析一下,順便修改一下其中的幾個小問題,以符合我們的要求。
uboot等同於其他所有的bootloader程序,從根本上講是一個稍復雜的裸機程序,是最底層的東西,要分析裸機程序我們要從它的連接文件開始。連 接文件(.lds文件)定義了程序編譯之後整個連接過程,這樣我們就可以找到這個程序的第一句匯編代碼,進而來下一步分析。uboot的鏈接文件代碼在 android\bootable\bootloader\uboot-imx\u-boot.lds
[cpp] view plain
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") //文件輸出格式
OUTPUT_ARCH(arm)
ENTRY(_start) //首地址標示符
SECTIONS
{
. = 0x00000000; //其實地址0
. = ALIGN(4); //4位元組對齊
.text : //代碼段
{
board/freescale/mx6q_sabresd/flash_header.o (.text.flasheader) //第一個文件是board/freescale/mx6q_sabresd/flash_header.o
cpu/arm_cortexa8/start.o //第二個cpu/arm_cortexa8/start.o
board/freescale/mx6q_sabresd/libmx6q_sabresd.a (.text)
lib_arm/libarm.a (.text)
net/libnet.a (.text)
drivers/mtd/libmtd.a (.text)
drivers/mmc/libmmc.a (.text)
. = DEFINED(env_offset) ? env_offset : .;
common/env_embedded.o(.text)
*(.text) //剩餘的所有代碼
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } //readonly data 段
. = ALIGN(4);
.data : { *(.data) } //所有的readonly data
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .; //u_boot_cmd段,裡面是所有uboot命令的一個列表
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
_end_of_ = .;
__bss_start = .; //bss段 就是內存數據段
.bss : { *(.bss) }
_end = .;
}

從上面的代碼可以看出我們編譯生成的二進制應用程序組成是:代碼段->rodata段->uboot命令列表->bss段。我們啟動這個應用程序時候是從,0地址開始的,因此我們來看
board/freescale/mx6q_sabresd/flash_header.s這個文件。
這個文件中除了分配內存和宏定義的偽匯編指令以外,真正執行的命令有一條

[cpp] view plain
.section ".text.flasheader", "x"
b _start
.org CONFIG_FLASH_HEADER_OFFSET
也就是說,這個文件一執行就直接跳到_start 位置處。_start 在android\bootable\bootloader\uboot-imx\cpu\arm_cortexa8\ start.S中,因此我們來看這個文件代碼
[cpp] view plain
.globl _start
_start: b reset
這里直接跳轉的reset中接下來看
[csharp] view plain
reset:
/*
* set the cpu to SVC32 mode cpu設置成32位管理模式
*/
mrs r0, cpsr
bic r0, r0, #0x1f
orr r0, r0, #0xd3
msr cpsr,r0

#if (CONFIG_OMAP34XX) //因為我們的cpu不是ompa的 所以這段不會編譯
.............................
#endif
/* the mask ROM code should have PLL and others stable */
#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
這里接下來執行cpu_init_crit
[csharp] view plain
/*************************************************************************
*
* CPU_init_critical registers
*
* setup important registers
* setup memory timing
*
*************************************************************************/
cpu_init_crit:
/*
* Invalidate L1 I/D
*/
mov r0, #0 @ set up for MCR
mcr p15, 0, r0, c8, c7, 0 @ invalidate TLBs
mcr p15, 0, r0, c7, c5, 0 @ invalidate icache

/*
* disable MMU stuff and caches //關閉mmu
*/
mrc p15, 0, r0, c1, c0, 0
bic r0, r0, #0x00002000 @ clear bits 13 (--V-)
bic r0, r0, #0x00000007 @ clear bits 2:0 (-CAM)
orr r0, r0, #0x00000002 @ set bit 1 (--A-) Align
orr r0, r0, #0x00000800 @ set bit 12 (Z---) BTB
mcr p15, 0, r0, c1, c0, 0

/*
* Jump to board specific initialization...
* The Mask ROM will have already initialized
* basic memory. Go here to bump up clock rate and handle
* wake up conditions.
*/
mov ip, lr @ persevere link reg across call
bl lowlevel_init @ go setup pll,mux,memory//執行lowlevel_init這個函數代碼在
@\bootloader\uboot-imx\board\freescale\mx6q_sabresd\lowlevel_init.S中
@主要對時鍾,外部ram,rom等進行了初始化代碼不貼了。
mov lr, ip @ restore link
mov pc, lr @ back to my caller
初始化完成後,接下來執行
[csharp] view plain
#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: @ relocate U-Boot to RAM 將uboot重新定位到內存中
adr r0, _start @ r0 <- current position of code
ldr r1, _TEXT_BASE @ test if we run from flash or RAM
cmp r0, r1 @ don't reloc ring debug測試當前代碼是否已經在內存中
beq stack_setup @如果在的話就直接跳轉到stack_setup

ldr r2, _armboot_start @如果不在的話,載入_armboot_start地址到r2中。_armboot_start是uboot執行的主體c函數。
ldr r3, _bss_start
sub r2, r3, r2 @ r2 <- size of armboot計算bss_start-armboot_start 保存到R2中,也就是uboot的總大小
add r2, r0, r2 @ r2 <- source end address 計算出uboot代碼和rodata地址

_loop: @ 32 bytes at a time //開始拷貝
ldmia r0!, {r3 - r10} @ from source address [r0]
stmia r1!, {r3 - r10} @ to target address [r1]
cmp r0, r2 @ until source end addreee [r2]
ble _loop
#endif /* CONFIG_SKIP_RELOCATE_UBOOT */

J. 如何設置uboot命令讓板子從emmc啟動

Arm板系統文件一般有三個——bootloader(uboot)、kernel(uImage)及根文件系統(rootfs)。在arm板上電後,按uboot->kernel->rootfs的順序依次啟動。由於開發板上有多種存儲介質,三個文件可以放在任何可以存儲的介質上,因此也就導致文件的多種啟...

閱讀全文

與3200acmuboot命令相關的資料

熱點內容
現在最流行的單片機 瀏覽:88
機頂盒刷機源碼 瀏覽:985
編碼pdf下載 瀏覽:944
隔壁同學app怎麼 瀏覽:299
c語言宏命令 瀏覽:542
php卡死源碼 瀏覽:574
time庫中的clock函數python 瀏覽:989
cad視覺移動命令怎麼打開 瀏覽:821
安卓java調用python 瀏覽:395
java標准時間 瀏覽:137
華為伺服器湖北渠道商雲主機 瀏覽:30
韓式面部護理解壓視頻 瀏覽:301
pdf換成jpg圖片 瀏覽:897
dh加密演算法 瀏覽:107
安卓手機如何隱藏微信信息提示 瀏覽:632
nodejs解壓縮 瀏覽:262
直流雙轉子壓縮機 瀏覽:952
pythonxmlstring 瀏覽:822
用私鑰加密之後可以用公鑰解密 瀏覽:788
ug如何啟動伺服器 瀏覽:444