Ⅰ openwrt sdk下編譯uboot(添加usb埠功能)
在ehci-ra.c的ehci_hcd_init中加入MT7620_ASIC_BOARD定義:
MT7620#usbreset
(Re)startUSB...
USB:inusb_lowlevel_init
Mediatek/_length16
Register1111NbrPorts1
USBEHCI1.00
scanningbusfordevices...2USBDevice(s)found
scanningbusforstoragedevices...1StorageDevice(s)found
MT7620#usbinfo
1:Hub,USBRevision0.2
-u-bootEHCIHostController
-Class:Hub
-PacketSize:64Configurations:1
-Vendor:0x0000Proct0x0000Version0.1
Configuration:1
-Interfaces:1SelfPowered0mA
Interface:0
-AlternateSettings0,Endpoints:1
-ClassHub
-
2:MassStorage,USBRevision2.0
-HPUSB2.0Flash00CCCBB99999
-Class:(fromInterface)MassStorage
-PacketSize:64Configurations:1
-Vendor:0x0204Proct0x6025Version1.0
Configuration:1
-Interfaces:1BusPowered100mA
Interface:0
-AlternateSettings0,Endpoints:2
-ClassMassStorage,Transp.SCSI,Bulkonly
-Endpoint1OutBulkMaxPacket512
-Endpoint1InBulkMaxPacket512
Ⅱ linux編譯u-boot時顯示[arch/arm/dts/zynq-zc702.dtb]錯誤
在編譯uboot的時候,會出現出錯,因此我們要首先做 make disclean. 將原來的一些中間文件清理干凈。
因此在編譯Uboot依次執行 1.make disclean
2.make smdk2440_config
3. make
就可以編譯通過了
Ⅲ 為什麼在ubuntu編譯下uboot時總是出錯
1.U-boot的使用:
ubuntu下基本只能用
kermit協議,進行串口通信了:
loadb
Ctrl+\,再按c,切換到C-kermit的命令行模式:
send
<文件路徑>,回車。
傳送完畢後,輸入c,回到U-boot串口界面。
若能和PC機ping成功,則可用tftp和nfs傳輸文件:
dhcp:使用
DHCP/TFTP 協議獲取文件
rarpboot :使用 RARP/TFTP 協議獲取文件
nfs:使用 NFS
協議獲取文件
tftpboot :使用 TFTP 協議獲取文件
bootp:使用 BOOTP/TFTP
協議獲取文件
以上命令的格式都為:指令 [目的 SDRAM 地址] [[主機 IP:]文件名]
注意:
要使用 dhcp、rarpboot 或 bootp 要路由器或 Host
支持的這些協議和服務。
如果沒有輸入[目的SDRAM 地址],系統就是用編譯時定義的CONFIG_SYS_LOAD_ADDR
在使用如果
tftpboot 和 nfs 命令沒有定義[主機 IP:],則使用 ENV 中的 serverip
其它命令必需定義[主機 IP:],否則使用提供動態 IP 服務的主機
IP。
Nand Flash
操作指令:
nand info
nand device [dev]
nand read addr off size
nand
write addr off size
nand write[.yaffs[1]] addr off size
nand erase [clean]
[off size]
nand bad
nand mp[.oob] off
nand scrub
nand markbad
off
nboot loadAddr dev offset
內存/寄存器操作指令:
nm [.b, .w, .l]
address
mm [.b, .w, .l] address
md [.b, .w, .l] address [# of
objects]
mw [.b, .w, .l] address value [count]
cp [.b, .w, .l] source
target count
Nor Flash 指令:
flinfo
(N)
md
protect
cp
USB 操作指令:
usb reset
usb
stop [f]
usb tree
usb info [dev]
usb storage
usb dev [dev]
usb
part [dev]
usb read addr blk# cnt
SD 卡(MMC)指令:
mmc init
mmc
device
FAT 文件系統指令:
fatinfo <interface>
<dev[:part]>
fatload <interface> <dev[:part]> <addr>
<filename> [bytes]
fatls <interface> <dev[:part]>
[directory]
系統引導指令:
boot 和 bootd 都是運行
ENV」bootcmd」中指定的指令
bootm [addr [arg ...]]
run 運行一個 ENV
定義的命令腳本
reset 重啟 CPU
使用 U-boot
將映像文件燒寫到板上的 Flash,一般步驟是:
(1)通過網路、串口、U盤、SD卡等方式將文件傳輸到SDRAM;
(2)使用 Nand
Flash 或 Nor Flash 相關的讀寫命令將 SDRAM 中的數據燒入 Flash。
內核的引導步驟如下:
(1)用
U-boot 的 mkimage 工具處理內核映像 zImage。
(2)通過網路、串口、U 盤、SD 卡等方式將處理過的內核映像傳輸到 SDRAM
的一定
位置(一般使用 0x30008000)
(3)然後使用」bootm"等內核引導命令來啟動內核。
2.U-boot在mini2440上的移植
在U-boot根目錄下:
vim Makefile
將 CROSS_COMPILE = arm-tekkaman-linux-gnueabi-
修改為CROSS_COMPILE = arm-linux-
make mini2440_config
make
注意:修改交叉編譯器一定要在make之前完成!
終於完成了U-boot
的移植。以前一直掐住瓶頸的問題,居然出在這里!
至此,總算完成了U-boot+內核+rootfs根文件系統等的移植,一個嵌入式系統搭建起來了。然而在這里,基本上只是拿了人家現成的代碼稍加修改而已,不值得沾沾自喜。接下來該在應用程序上進行開發了。
Ⅳ mt7621 設置uboot 跑雙核單線程,為什麼只有一個核在跑,另一個核沒有工作
滑鼠右鍵點擊計算機左鍵點擊屬性
在彈出的那個界面里的左上角有個設備管理器(就是第二個選項)左鍵點擊
進入設備管理器的界面後雙擊打開第五項(處理器)
接著你就能看到你的CPU是否是雙核了拿920舉例如果920是雙核那麼雙擊處理器後顯示的就是兩個如果是單核的話那就是一個
intel(R)core(TM)[email protected]
intel(R)core(TM)[email protected]
知道了嗎
如果你要是想用單核來運行某個軟體的話只需要啟動這個軟體接著Ctrl+alt+del進入任務管理器點擊第二項(進程)找到你運行這個軟體的程序(比如說你運行的是電驢)那麼在進程里你要是想其單核運行的話就點擊右鍵emule.exe再點擊左鍵設置相關性你就可以看到以下的內容
(所有處理器)
CPU0
CPU1
你取消一個CPU就可以了在CPU1前面的小框框里去掉勾就好了最後確定OK!如果我這樣說你還不懂的話那我真無語了呵呵
Ⅳ uboot編譯問題
要用export指定環境變數和編譯器例如
Export PATH=$PATH:/opt/freescale/usr/local/gcc-4.1.78-eglibc-2.5.78-1/powerpc-e300c3-linux-gnu/bin
Export CROSS_COMPILE=powerpc-e300c3-linux-gnu-
Ⅵ uboot怎麼樣才可以編譯成自己的u-boot.bin
按照uboot移植手冊,修改源代碼,然後用交叉編譯工具編譯,就會生成uboot.bin文件了。
Ⅶ U-Boot編譯問題
make clean
make
試試?
重新解壓工具鏈,確保其完整性,和路徑的正確性,工具鏈必須用在製作時用那個路徑;
Ⅷ 如何編譯openwrt的u-boot
默認的引導裝載程序是GRUB,通常它必須安裝在硬碟的主引導記錄中(Master Boot Record, MBR)。插入--driveorder開關選項指定安裝有引導裝載程序的驅動器,用--append開關選項指定啟動內核的命令。雖然給定的開關選項crashkernel=auto保證系統崩潰時能自動選擇可用的內容,但是RHEL 6的早期報告建議你需要將其替換為像crashkernel=128M@16M那樣的指定內存位置。
bootloader --location=mbr --driveorder=vda
--append="crashkernel=auto rhgb quiet"
Ⅸ 如何在windows下面編譯u-boot
1. 執行:apt-get install mingw32安裝了linux-windows交叉編譯環境mingwin
2. 執行:. build/envsetup.sh
3. 執行choosecombo,選擇各個參數
這兩步設置了一些編譯參數和環境變數,按照你正常編譯Android的設置即可。
4. 執行:make USE_MINGW=y adb
5. 執行:make USE_MINGW=y fastboot
最後到out/host/windows-x86/bin目錄下就能找到你剛剛編譯的東西了。