这次就来准备搭建一下T113i的开发环境,其实对于初入门的Linux开发者而言,开发环境的搭建真的也是一大课题,有时候甚至要耗费相当多的时间搭建环境,配置环境,配置工具等等。因此这部分是否能方便快捷,至少能顺利搭建也成了一大关键。而我也算是作为初入门的Linux开发者,本次也难免要经历这个过程。
Linux的开发环境一般使用Linux机器进行开发编译等工作,这个Linux机器可以是实体机,也可以是虚拟机,飞凌官方已经将虚拟机和整个开发环境,包括需要用到的一些工具等都打包起来了,很方便。但现在Windows已经支持WSL,之前熟悉其它Linux芯片开发的时候也尝试过,也是非常方便,不用额外再增加安装虚拟机了,因此这次也打算尝试一下。本机已经安装了如下的Ubuntu-20.04版本

【全志T113-i】OK113i-S开发板开发环境准备和搭建_开发环境

下面先登录该WSL,然后在Home文件夹下新建forlinx文件夹

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_02

然后将源码拷贝如该文件夹

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_03

此后进行MD5校验,并于上述文件夹中的sdk_md5sum.txt原始MD5进行对比

【全志T113-i】OK113i-S开发板开发环境准备和搭建_linux_04

没问题就可以进行解压了

【全志T113-i】OK113i-S开发板开发环境准备和搭建_linux_05

解压完成

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_06

解压完成可以看到如下文件信息

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_07

进行sdk配置

【全志T113-i】OK113i-S开发板开发环境准备和搭建_开发环境_08

开始内核全编译

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_09

提示了这个错误

【全志T113-i】OK113i-S开发板开发环境准备和搭建_开发环境_10

这个可能是包没有安装好

【全志T113-i】OK113i-S开发板开发环境准备和搭建_开发环境_11

还是不行,按照提示安装另一个

【全志T113-i】OK113i-S开发板开发环境准备和搭建_linux_12

然后接着编译

【全志T113-i】OK113i-S开发板开发环境准备和搭建_开发环境_13

然后开始打包

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_14

提示最终打包成功,并在out文件中生成img镜像文件

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_15

从宿主机的文件资源管理器中也能看到最新生成的镜像文件

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_16

由此编译打包成功。

还可以尝试编译一下内核

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_17

这里也能看到其编译使用的工具链情况
toolchain_archivedir=/home/forlinx/OK113i-linux-sdk/build/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_18

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_19

编译成功

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_20

编译完会在/home/forlinx/OK113i-linux-sdk/out/t113_i/OK113i/longan/路径下生成 boot.img

【全志T113-i】OK113i-S开发板开发环境准备和搭建_开发环境_21

boot.img 可用于在线单独更新内核,用户需将其从虚拟机中拷贝到 OK113i 板卡/home 路径下,之后执行:dd if=/home/boot.img of=/dev/mmcblk0p4 cnotallow=fsync
完成之后,重启板卡,即替换内核
注意单独编译内核只针对内核源码进行编译,影响驱动,适用于仅修改内核时进行编译

执行./build.sh clean可以清除所有中间文件。但不影响源文件,包括已经有改动的源文件。

【全志T113-i】OK113i-S开发板开发环境准备和搭建_源文件_22

总结:看起来sdk在解包出来之后,整个编译的过程还是非常的顺利的,这个也得益于sdk的设计和打包。