mkimage工具:
uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。
mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么
制作uImage镜像:
先准备zImage镜像,再制作uImage镜像。
mkimage -n 'mini2440' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d arch/arm/boot/zImage uImage
mkimage的各个参数含义如下:
-n 'mini2440' 指定镜像名称
-A arm 设置为arm架构
-O linux 设置操作系统为linux
-T kernel 设置镜像类型为kernel
-C none 设置压缩类型为none
-a 0x30008000 指定加载地址为0x30008000
-e 0x30008040 执行入口地址为0x30008040
-d arch/arm/boot/zImage 指定镜像数据文件路径
uImage 最终生成的uImage文件名称
注意: -n 'mini2440' 指定的镜像名称,由u-boot指定,要确保和指定的一致否则linux内核启动不了
linux源码下也有可以直接生成uImage目标,生成的uImage文件可能无法启动,因为默认情况下直接生成的uImage中加载地址和入口地址是一模一样的。
但是因为我们在uImage前添加了0x40个字节的文件头,所以导致真正的入口地址为0x30008040,所以需要用上面的命令来生成uImage
上一篇:2440/6410+minitools+superboot烧写裸机新方法!
下一篇:MINI2440平台移植的uboot
设计资源 培训 开发板 精华推荐
- LT1021DCS8-10 具有升压输出电流和电流限制的电压基准的典型应用
- 使用 Analog Devices 的 LTC6262HTS8 的参考设计
- 使用 LTC2379CDE-18、18 位、1.6Msps、低功耗 SAR ADC 的典型应用
- 鸢尾立方->ESP32S2开发板
- MC33074ADR2G 运算放大器用作晶体管驱动器的典型应用
- TMK USB到USB转换器
- L6985F 38V、500mA 同步降压开关稳压器的典型应用,具有 30 uA 静态电流
- LTC3634HUFD 降压稳压器的典型应用电路,具有使用两个输入电源的 2 相 VTT 终端
- 李宇龙-1810300314-课程设计1
- ESP8266物联网开发板V2.0