本文来源电子发烧友社区,作者:XX, 帖子地址:https://bbs.elecfans.com/jishu_2302356_1_1.html
SDK部署
从MYIR的网盘可以下载SDK,下载到的文件是这几个
第一个是开发文档,第二个是预编译镜像,第三个是工具,主要是编译工具链和一个SD卡的烧录工具,第四个是源码。
笔者使用的编译环境为虚拟机Ubunut 1604,需要安装这些包
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2dev pylint3 xterm rsync curl libssl-dev
然后解压Tools,找到Toolchains/nxp-real-time-edge-glibc-x86_64-aarch64-toolchain-2.0.sh,给执行权限,并执行安装,安装时要指定安装路径
安装完成之后,执行 $CC –v,可以看到如下信息
说明交叉编译工具链已经安装完毕。
这里提一下,这个工具链仅仅是用来编译分立的应用程序,编译系统并不需要,编译yocto的工具链已经在yocto的工程里面。下面说明一下部署yocto工程的方式。
首先将Source里面的MYD-J1028X-Yocto.tar.gz解压出来,然后新建一个文件夹,比如MYD-J1028X-Yocto,接着执行
tar -zxvf MYD-J1028X-Yocto.tar.gz -C MYD-J1028X-Yocto
就可以将初始的yocto工程解压到MYD-J1028X-Yocto文件夹。
yocto 工程简单介绍
yocto工程和buildrootopenwrt类似,都是一系列模块的合集,通过yocto工程,可以构建出bootloader,kernel,rootfs及其上面的应用程序等。
yocto工程包含很多子模块,比如busybox,此外还有所需要的内核,bootloader等。这些源码并不包含在初始的工程目录里面。初始的工程目录里面只有个source文件夹,里面有一堆meta-开头的文件夹,文件夹里面一般会有一些扩展名为.bb的文件。
这就是yocto所谓的 “元数据”。这里面一般会包含这个模块的描述,源码的下载方式,校验值,构建方式等,类似于AOSP工程里面的Android.mk。修改这个bb文件,可以改变其下载路径,构建命令等。
执行bitbake命令即可构建某个模块,然后bb文件可以互相包含。比如,要构建整个ls1028的固件(bootloader+kernel+rootfs),就是执行bitbake myir-image-real-time-edge,在这个source里面包含一个myir-image-real-time-edge开头的bb文件(meta-myir-real-time/recipes-myir/images/myir-image-real-time-edge.bb),里面描述myir-image-real-time-edge的构建规则。
全部0条评论
快来发表一下你的评论吧 !