项目开源地址: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支持
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第1张图片](http://img.e-com-net.com/image/info8/2d4818d1146f4ec5b0d670aa500b4e70.jpg)
去除RTC支持
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第2张图片](http://img.e-com-net.com/image/info8/56247e5de2a040529ca9739a76412101.jpg)
去除BOOTP支持
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第3张图片](http://img.e-com-net.com/image/info8/5f161789cb544eb28dad558070f4464a.jpg)
去除DHCP、DATE、USB命令支持
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第4张图片](http://img.e-com-net.com/image/info8/6c8f2d46e21e4ca7ae8ec263311faedf.jpg)
去除文件系统支持
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第5张图片](http://img.e-com-net.com/image/info8/cb69bfe93a46473c897310581ae0569a.jpg)
3. 重新编译查看大小
make distclean
make smdk2440_config
make
编译完成之后大小裁剪到217KB
,比之前的327KB小了足足110KB:
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第6张图片](http://img.e-com-net.com/image/info8/1f2618822c7d4003994dd9ba5cdb2d92.png)
下载到开发板中,在串口终端中看看是否可以正常启动:
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第7张图片](http://img.e-com-net.com/image/info8/fc5fe80fdee74aa0b6995849b6dfc498.jpg)
接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。
![uboot研读笔记 | 07 - 移植uboot 2012.04到JZ2440(裁剪uboot大小)_第8张图片](http://img.e-com-net.com/image/info8/93b4a6b3840549c78e34f443e22d6c5e.jpg)