uboot官方所维护的代码并没有F1C200S的支持,这里用到的是荔枝派维护的uboot。
1、在桌面创建文件夹存储开发文件
2、打开终端拉取uboot代码
ubuntu下打开终端的方式可以是鼠标右键,也可以是CTRL+Alt+T,不过在某个文件夹内打开终端,还是推荐你使用鼠标右键
git clone https://github.com/Lichee-Pi/u-boot.git
然后你就发现
不要着急,因为刚刚安装的Ubuntu虚拟机几乎没有任何软件和开发环境,我们慢慢来。看Ubuntu给出的提示 sudo apt install git
我们不妨试试
sudo apt install git
输入你创建虚拟机时的用户密码就行了
直接按下回车键确认安装
接着我们按方向键 ↑ 找到之前输入的 git clone https://github.com/Lichee-Pi/u-boot.git 代码(只要终端不关闭,我们就不用重新输入一遍了)另外提示下使用 ctrl+shift+C 就可以将Windows下复制的代码粘贴进Ubuntu的终端了。
下载完后的uboot文件夹是这样的
接下来进入到uboot目录下
cd u-boot
然后我们切换拉取的u-boot到nano分支
git checkout nano-v2018.01
三、配置uboot必要参数
在编译u-boot代码之前我们需要对u-boot进行配置,使用
make menuconfig #打开uboot的图形化配置界面
但是你会发现它报错了~
因为我们缺少了图形化配置界面要用到的库,使用如下命令安装
sudo apt-get install libncurses5-dev
安装完成后重新打开图形化配置界面如下
然后退出当前配置界面
我们参考的是荔枝派的设计,这里使用荔枝派的配置文件进行配置
make ARCH=arm licheepi_nano_spiflash_defconfig
我们需要配置的参数目录如下
=>Architecture select
=>ARM architecture
#如果你用到了LCD就进行如下配置
=>ARM architecture
=>[*]Enable graphical uboot console on HDMI,LCD or VGA
#根据自己用的屏幕尺寸和分辨率进行配置
()LCD Panel timing details
#4.3寸480*272的屏幕用这个
x:480,y:272,depth:18,pclk_khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0
#7寸800*480的屏幕用这个
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
#我用的这个开发板和荔枝派的背光控制都是PE6管脚
(PE6)LCD Panel blacklight pwm pin
四、其他好玩的参数
主要的配置就是上面这些,我们也可以做一些其他的配置,让我们的uboot看起来更独特
例如更改uboot启动时显示的信息文字
#这个启动文字的配置路径在
=>Console
()Board specific string to be added to uboot.....
#()里面默认是 Allwinner Technology 我们可以自己随意更改自己想要的标识
五、编译U-boot
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
#make命令调用Makefile进行编译
#ARCH=arm 表示要编译的架构是ARM
#CROSS_COMPILE 是指定交叉编译器
#-j8 是开8各并发线程进行编译
然后你就发现,又报错了(滑稽)
这个是因为我们的Ubuntu并没有安装交叉编译器arm-linux-gnueabi,所以我们现在去搞一下
从Ubuntu的火狐浏览器进入Linaro Releases
根据自己的电脑进行下载
然后打开下载后的文件路径打开终端
#创建文件夹
sudo mkdir /usr/local/arm
#将下载的文件拷贝到目录下
sudo cp gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi.tar.xz /usr/local/arm
#解压文件
sudo tar -vxf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi.tar.xz
解压完成后在其bin目录下就是我们以后要用到的交叉编译链
只有让Ubuntu知道我们交叉编译链的位置,我们才能在电脑的任意文件位置调用,所以我们需要修改Ubuntu的环境变量
我们进入/etc文件夹打开终端
#给与用户profile文件的所有权限,否则是只读的
sudo chmod 777 profile
然后我们找到profile文件右键用gedit打开,我是不喜欢vim,对新手不友好~~打开后里面是这样的
我们在文件的末尾加入我们的交叉编译链路径
export PATH=$PATH:/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi/bin
更改后的文件内容如下
然后保存退出~
接下来输入
source /etc/profile
重新刷新一下我们的环境变量,你会发现终端颜色变量,没关系,不影响使用~
我们接着回到我们的uboot文件夹下打开终端
接着输入
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
进行编译
哟,又报错了,不急不急,输入如下命令,安装下这个不知道是什么的什么东西就可以了
sudo apt install swig
再来,继续编译
又又又报错了
我们再来
sudo apt install python-dev
六、最终结果![](https://img-blog.csdnimg.cn/0e18bd5bc67f462a8f0b53e6279f44b3.png)
恭喜你,当你看到这个的时候,你的uboot已经编译完成了!!