⑴ 如何在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目錄下就能找到你剛剛編譯的東西了。
⑵ 在WINDOWS下編譯UBOOT需要什麼工具,還有過程
我是這樣做的,我在win7下安裝了virtualbox虛擬機,然後再虛擬機上安裝了一個ubuntu的linux系統,然後安裝交叉編譯器GCC,然後就可以在uboot源碼目錄下直接編譯了。。。先配置uboot 然後make,就自己編譯了。。。windows平台下不知道能不能編譯,你網路看看或者等待其它大神幫你。。。陪LZ等答案哈
⑶ uboot2015 怎樣設置編譯目標
我在ubuntu14.04上編譯uboot時也遇到了這個問或橡題,dtc是device-tree-compiler的縮寫,即設備兄困樹編譯器,說明系統中沒有安裝這個編譯器,我用的是apt-get install device-tree-compiler安裝後就可以成功編譯了羨團念哈。
⑷ uboot怎麼樣才可以編譯成自己的u-boot.bin
按照uboot移植手冊,修改源代碼,然後用交叉編譯工具編譯,就會生成uboot.bin文件了。
⑸ 為什麼在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根文件系統等的移植,一個嵌入式系統搭建起來了。然而在這里,基本上只是拿了人家現成的代碼稍加修改而已,不值得沾沾自喜。接下來該在應用程序上進行開發了。
⑹ 如何在SoCEDS環境下編譯和更新preloader和uboot程序
打開14.0中的command shell把工作目錄轉換到ghrd中,使用make -j8 sof開始編譯硬體。(-j8 選項可以不帶,只是為了多打開幾個線程編譯比較快,但是需要四核的CPU支持)。
使用bsp-editor.exe打開bsp-editor工具,選擇file->New BSP。把Preloader setting directory指定為ghrd中的hps_isw_handoff/soc_system_hps_0。點擊OK關閉。再點擊Geneate生成BSP後exit BSP Editor。此時應該可以在GHRD中看到software目錄了。接下來需要注意的是要把GHRD中的makefile用\embedded\examples\hardware\cv_soc_devkit_ghrd的Makefile換掉(13.0下編譯不用替換)。然後使用 make uboot 命令會把preloader 和uboot文件都編譯出來。如果只需要編譯preloader,就使用make prelaoder好了。過程比較漫長,這里會重新編譯一遍硬體工程。
編譯完成後在software\preloader\uboot-socfpga 目錄下會找到u-boot.img文件,在software\preloader\uboot-socfpga\spl下會找到u-boot-spi.bin。為了方便,在GHRD下建立目錄preloader,把這兩個文件復制到該目錄!
u-boot-spi.bin為binary格式的文件,按照Altera的要求要按照特定格式添加文件頭!需要使用到的工具為mkpimage工具。切換工具目錄為剛剛建立的preloader目錄,使用命令mkpimage -o preloader_de1_soc.img u-boot-spl.bin 。此時文件夾下會產生一個preloader_de1_soc.img。 可以用於更新SD image中的preloader。
———————————————————————————————————————————————————
在更新之前,還是先說SoCEDS14.0中的一個工具alt-boot-disk-util.exe。在Command Shell 中輸入這個名稱就可以看見使用方法。
#Wirte BOOTLoader and PREloader to disk driver 'E'
alt-boot-disk-util -p preloaer -b bootloader -a write -d E
我的SD Card 被識別為I盤,所以我使用的命令為:
alt-boot-disk-util -p preloaer_de1_soc.img -b u-boot.img -a write -d I
不給我目前使用都會遇到device open error的錯誤。不知道是環境問題還是其他原因。所以還是在Linux 系統下去更新preloader。
————————————————————————————————————————————————————
(個人使用的ubuntu linux 機器,其他版本應該類似)
把兩份文件復制到linux 機器上,並掛載啟動SD card。使用fisk -l 查看SD card 對應的節點編號。比如我的SD card 為8G,會看到這樣的一條信息:Disk /dev/sdb: 7948 MB, 7948206080 bytes 。說明這個節點為 /dev/sdb。
linux 工作目錄切換到preloader放置的地方後。分別使用下面兩條命令更新preloader和 uboot。
sudo dd if=preloader_de1_soc.img of=/dev/sdb3 bs=64k seek=0
sudo dd if=u-boot.img of=/dev/sdb3 bs=64k seek=4
再使用下sudo sync 命令就可以彈出SD card 了。
使用這張SD boot,你會發現列印出Clock 相關的信息。這個是14.0中添加的列印。另外注意到時間戳應該與編譯時間對應
⑺ 怎樣弄uboot編譯交叉編譯工具,我的xp和ubuntu間有個共享文件夾,我把交叉工具放在那裡,怎樣把它安裝
1:先把交叉編譯環境包放到你的共享目錄,(我這里的版本是:arm-linux-gcc-4.4.3.tar.gz)
2:進行解壓 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C (要解壓的路徑)
比如:tar zxvf arm-linux-gcc-4.4.3.tar.gz -C ~/ (root 用戶的工作目錄)
3:然後設置環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
4:要想系統啟動自動載入環境變數:
1:普通用戶:vim .profile 在最後添加你的環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
2:root用戶:vim .bashrc 在最後添加你的環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
自此,交叉環境徹底搭建完畢。
注意:我的交叉編譯包,解壓出來的路徑就是:opt/FriendlyARM/toolschain/4.4.3/bin
你的版本,可能有些不同
⑻ ubuntu 編譯uboot需要哪些工具,哎,新手,詳細點哦,親
1.首先安裝基本編譯環境:sudo apt-get install build-essential
2:先把交叉編譯環境包放到你的共享目錄,(我這里的版本是:arm-linux-gcc-4.4.3.tar.gz)
3:進行解壓 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C (要解壓的路徑)
比如:tar zxvf arm-linux-gcc-4.4.3.tar.gz -C ~/ (root 用戶的工作目錄)
4:然後設置環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
5:要想系統啟動自動載入環境變數:
1:普通用戶:vim .bashrc 在最後添加你的環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
2:root用戶:vim .bashrc 在最後添加你的環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
⑼ 解鎖uboot的路由器固件要怎麼編譯,復雜嘛能不能給個教程,謝謝!!!針對mt7620n的路由器
參考如下脊坦:
1、首先腔或到路由器的官網下載最新固件。
2、登陸路由器櫻圓桐,選擇系統工具-軟體升級。
3、點擊瀏覽,找到下載的路由器固件。
4、等待升級完成,路由器會自動重啟就完成升級了。
希望能幫到您。
⑽ 如何編譯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"