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

下面先登录该WSL,然后在Home文件夹下新建forlinx文件夹
 然后将源码拷贝如该文件夹
 此后进行MD5校验,并于上述文件夹中的sdk_md5sum.txt原始MD5进行对比
 没问题就可以进行解压了
 解压完成
 解压完成可以看到如下文件信息
 进行sdk配置
 开始内核全编译
 提示了这个错误
 这个可能是包没有安装好
 还是不行,按照提示安装另一个
 然后接着编译
 然后开始打包
 提示最终打包成功,并在out文件中生成img镜像文件
 从宿主机的文件资源管理器中也能看到最新生成的镜像文件
 由此编译打包成功。 还可以尝试编译一下内核

这里也能看到其编译使用的工具链情况
toolchain_archivedir=/home/forlinx/OK113i-linux-sdk/build/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz 
编译成功
 编译完会在/home/forlinx/OK113i-linux-sdk/out/t113_i/OK113i/longan/路径下生成 boot.img
 boot.img 可用于在线单独更新内核,用户需将其从虚拟机中拷贝到 OK113i 板卡/home 路径下,之后执行:dd if=/home/boot.img of=/dev/mmcblk0p4 conv=fsync
完成之后,重启板卡,即替换内核
注意单独编译内核只针对内核源码进行编译,影响驱动,适用于仅修改内核时进行编译 执行./build.sh clean可以清除所有中间文件。但不影响源文件,包括已经有改动的源文件。
 总结:看起来sdk在解包出来之后,整个编译的过程还是非常的顺利的,这个也得益于sdk的设计和打包。
|