1. 下载源码
git clone https://gitee.com/LicheePiNano/u-boot.git
cd u-boot
# 查看分支
git branch -a
# 切换到 Nano 分支
git checkout nano-lcd800480
方法2.也可以直接下载分支:
git clone -b nano-lcd800480 https://gitee.com/LicheePiNano/u-boot.git
2. 安装必要的依赖库和交叉编译工具链:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev
sudo apt-get install lib32ncurses5-dev gcc-multilib x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev
sudo apt-get install g++-multilib mingw32 tofrodos python-markdown libxml2-utils
sudo apt-get install swig python-dev python3-dev
sudo apt-get install gcc-arm-linux-gnueabi
3. 配置
# 此处告知make采用arm-linux-gnueabi下的所有交叉编译工具,目标架构为Arm,设定各项默认配置为 nano 的spiflash支持版
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- f1c100s_nano_uboot_defconfig
# 若不带spi-flash的板子,请换成 licheepi_nano_defconfig
我这里使用的屏幕分辨率是800 x 480,默认不修改
如果要修改
# 进行可视化配置
make ARCH=arm menuconfig
第一步
ARM architecture --> Enable graphical uboot console on HDMI, LCD or VGA 为 Y
第二步
LCD panel timing details 为:
x:800,y:480,depth:18,pclk\khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0
4. 开始编译:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16
编译后当前目录下的 u-boot-sunxi-with-spl.bin 文件就是我们需要的。
5.编译报错解决办法:
# 修改默认bootcmd
gedit include/configs/suniv.h
修改此宏定义如下:
#define CONFIG_BOOTCOMMAND "run distro_bootcmd"