⑴ 如何在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"