项目开源地址:https://github.com/Mculover666/uboot-jz2440
0. 教程完整目录
- 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理
- 01 - 下载uboot源码并使用VSCode远程查看源码、编译uboot(2012.04.01版本)
- 02 - 详细探索uboot启动过程(基于S3C2410处理器)
- 03 - 初步移植uboot 2012.04到JZ2440(修改时钟,配置串口)
- 04 - 移植uboot 2012.04到JZ2440(支持Nor Flash读写)
- 05 - 移植uboot 2012.04到JZ2440(支持Nand Flash读写)
- 06 - 移植uboot 2012.04到JZ2440(支持DM9000C网卡)
- 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)
- 08 - 移植uboot 2012.04到JZ2440(设置mtd分区表)
- 09 - 移植uboot 2012.04到JZ2440(设置默认环境变量参数)
- 10 - 移植uboot 2012.04到JZ2440(烧写Linux内核、烧写yaffs2文件系统)
- 11 - 移植uboot 2012.04到JZ2440(移植完成,制作uboot补丁)
1. 裁剪方法
目前一步一步移植完成的uboot.bin文件有327KB,太大了,可以进行一定的裁剪,将用不到的代码不加入编译,减小uboot.bin文件的大小。
裁剪方法非常简单:修改单板配置文件include/configs/smdk2440.h
,去除不必要的宏定义。
2. 裁剪过程
去除USB支持
去除RTC支持
去除BOOTP支持
去除DHCP、DATE、USB命令支持
去除文件系统支持
3. 重新编译查看大小
make distclean
make smdk2440_config
make
编译完成之后大小裁剪到217KB
,比之前的327KB小了足足110KB:
下载到开发板中,在串口终端中看看是否可以正常启动:
接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。