发 帖  
原厂入驻New

[经验] 【MYD-YA157C开发板试用连载】+系统构建

2020-5-16 17:40:22  894 开发板
分享
0
   大家周末好,今天来与大家分享前段时间使用MYD-YA157C的SDK来构建系统。主要分享在Linux操作系统中进行相关部件的编译、使用以及各个部件作用的介绍。
    MYD-YA157C的Linux系统包含部件有TF-A、U-Boot、Linux Kernel、Yocto。其中TF-A是第一阶段的安全启动引导程序,在安全启动里负责加载和验证Uboot;U-Boot作用是引导程序,支持不同方式启动内核;Linux Kernel支持Linux 4.19.94内核以及板载外设的驱动;Yocto是一个开源协作项目,提供丰富的模板、工具和方法来支持构建出面向嵌入式产品的自定义Linux系统。
      首先进行TF-A源码的编译,进入共享目录“/mnt/hgfs/MYD-YA157C/04-Sources”,将MYiR-STM32-tf-a.tar.bz2文件解压,然后进入解压后的文件夹中,加载SDK环境变量到当前的shell中:“source /opt/st/myir/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi”,然后执行“make -f $PWD/../Makefile.sdk all”,编译成功后则会生成TF-A的烧录文件。
        接着进行U-boot的编译,在MYD-YA157C/04-Source/目录下有提供MYiR-STM32-u-boot.tar.bz2压缩文件,改文件必须拷贝到Ubuntu中,否则解压会报错。我这里拷贝到Downloads目录下,拷贝完解压,进入解压后的文件夹中,同样的先加载SDK环境变量到当前的shell终端。然后创建一个编译输出目录,配置信任模式并编译源码。
配置与编译uboot.png
     信任模式编译ok,输出log如下:
V2信任模式编译ok.png
     此时在build-trusted目录下则会生成u-boot烧录文件列表
生成的文件.png
      u-boot编译完成后,下一步需要进行内核的编译,同样的需要将MYD-YA157C/04-Source/MYiR-STM32-kernel.tar.bz2拷贝到Ubuntu中的Downloads目录中,然后解压,进入解压后的目录,新建编译输出的目录文件夹,配置好内核。
配置内核.png
       当然如果想继续自定义配置内核中的某些驱动,打开或关闭某一个驱动,可以在build目录下,通过执行make menuconfig指令来调出图形可视化配置界面,其本质是修改当前目录下.config配置文件。
内核配置图形界面.png
       同样的先加载SDK的环境变量,配置内核,编译内核,根据需要编译自定义的内核模块,编译完成后生成相应的文件,并创建boot文件夹于build/install_arti€€Fact/目录下,用于存放设备树与内核镜像文件。将编译好后的文件拷贝进boot文件夹中,同级目录中的lib文件夹是存放我们自定义的内核模块文件。
编译输出文件.png
      这样我们就完成了烧录文件的准备,设备树信息列表如下:
设备树列表.png
       其中的输出文件备注如下:
设备树 使用核心板备注
stm32mp157c-ya157c.dtb V1 不带显示
stm32mp157c-ya157c-hdmi.dtb V1 支持带HDMI显示
stm32mp157c-ya157c-lcd.dtb V1 支持带LCD显示
stm32mp157c-ya157c-v2.dtb V2 不带显示设备树
stm32mp157c-ya157c-hdmi-v2.dtb V2 支持带HDMI显示
stm32mp157c-ya157c-lcd-v2.dtb V2 支持带LCD显示
      编译内核可能需要半个小时左右,如果说编译内核时长是50米短跑,那么接下来构建weston系统就是四千米长跑了。Linux系统平台上有许多开源的系统构建框架,这些框架方便了开发者进行嵌入式系统的构建和定制化开发。我们采用的Yocto不仅仅是一个制做文件系统工具,同时提供整套的基于Linux的开发和维护工作流程,使底层嵌入式开发者和上层应用开发者在统一的框架下开发,解决了传统开发方式下零散和无管理的开发形态。
      同样的在MYD-YA157C/04-Sources/目录下将ya157c-yocto.tar.bz2文件拷贝进Ubuntu的Downloads目录下,否则直接在共享目录中解压后报错。
构建weston系统.png
      解压后直接在当前Downloads目录下,配置构建weston系统环境,配置构建QT系统环境。
构建weston环境配置信息.png
构建QT系统环境配置信息.png
       构建完QT的环境配置后需要记得返回到“/Downloads/build-openstlinuxweston-myir”目录下执行“bitbake myir-image-weston -k”指令,否则出现告警、报错。信息如下:
开启构建weston系统后警告.png
构建weston系统报错.png
         进入到正确的目录下执行则不会出现找不到文件的错误
构建weston系统中.png
       这个构建过程是相当漫长的,已经构建一整天了,总的进程才8%,构建weston版的系统第一次构建时,会需要耗费很长时间,慢慢构建吧。此次分享就到这儿吧,后续将对Linux驱动与应用开发进行深度体验,希望构建速度给力一点,后续持续更新,此次分享如有不同见解,欢迎留言吐槽,感谢了。
春天一满屋 2020-6-29 10:21:23
【MYD-YA157C开发板试用连载】+系统构建
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表