F1C200S挖坑日记(3)——Uboot编译篇

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

 六、最终结果

 恭喜你,当你看到这个的时候,你的uboot已经编译完成了!!

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Distance_90

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值