查看: 4424|回复: 2

[评测分享] 【米尔MYS-8MMX试用】3.单独编译u-boot

[复制链接]
  • TA的每日心情

    2024-5-8 09:31
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2021-9-24 22:30:49 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 縋逐ЮDreams 于 2021-9-25 11:39 编辑

    很久没有更新了,主要是搭建yocto环境太费时间了,但是目前还没有搭建好,咋这么难呀。最开始用的虚拟机装ubuntu发现内存不够用,然后把之前的thinkpad i5的电脑拿出来重新安装了一个ubuntu20.04的系统,在编译yocto的过程中出现了很多问题导致不成功,遂重新下载了ubuntu16.04,与教程中保持一致的系统。一切准备就绪,还是会卡在opencv这块,编译通不过,问了米尔工程师发现是电脑内存不够的原因,这个电脑只有4个G,bitbake编译opencv需要8G及以上,想哭。浪费了太多时间了,所以现在开始尝试独立编译。
    本人也是第一次使用交叉编译进行开发,在uboot编译过程中遇到的问题也是比较多,之后通过查看数据手册以及万能的百度一步一步解决。

    由于本人垃圾旧电脑的配置原因,Yocto的路走不通了,回到单独使用SDK编译U-boot的方式中来。
    上面说以一堆废话,现在开始说说如何完成的u-boot的编译。

    1.搭建Yocot环境
    具体可以参考文档《MYS-8MMX_Linux软件开发指南.pdf》 第三章 3. 使用 Yocto 构建开发板镜像
    Yocot的环境还是需要搭建的,因为生成u-boot的flash.bin文件还是需要用到其中的一些文件,这些文件可能单独也能下载,但是我没有找到方法。

    2. 安装米尔定制的 SDK
    安装方式参考《MYS-8MMX_Linux软件开发指南.pdf》 2.3.MYS-8MMX_Linux软件开发指南.pdf
    我安装在了/home/hehung/mys-8mmx/meta-SDK/environment-setup-aarch64-poky-linux

    3. 下载U-boot
    参考《MYS-8MMX_Linux软件开发指南.pdf》5.3. 板载 u-boot 编译与更新
    从github下载最新的u-boot
    1. cd mys-8mmx
    2. git clone https://github.com/MYiR-Dev/myir-imx-uboot.git -b develop
    复制代码


    4. 编译U-boot
    《MYS-8MMX_Linux软件开发指南.pdf》没有讲述如何单独编译U-boot,所以我看了NXP官方的文档找到了方法。
    《i.MX_Linux_User's_Guide.pdf》文档中 4.5.11 How to build U-Boot and Kernel in standalone environment

    1) 我的myir-imx-uboot放在目录
    进入该目录:
    1. cd /home/hehung/mys-8mmx/myir-imx-uboot
    复制代码
    2) 加载米尔source
    1. source /home/hehung/mys-8mmx/meta-SDK/environment-setup-aarch64-poky-linux
    复制代码
    3) 编译
    查看数据手册
    95.png 96.png


    在/home/hehung/mys-8mmx/myir-imx-uboot下回生成一堆文件
    90.png

    这里的u-boot.bin,我以为就是uboot文件,直接少写到了SD卡中,但是没反应,让我一堆怀疑人生,又尝试了u-boot.img,还是不行,卡在这里很长时间,最后查看了数据手册才解决,遇到问题还是要靠数据手册才是真的。
    这个编译之后生成的uboot文件是不能直接烧写到SD开或者EMMC中运行的,还有一个步骤

    5. 生成u-boot的flash.bin文件
    查看《i.MX_Linux_User's_Guide.pdf》4.5.12 How to build imx-boot image by using imx-mkimage
    91.png
    其中还涉及到了一些我并没有见过的文件。像5. Copy bl31.bin from ARM Trusted Firmware (imx-atf) to imx-mkimage/iMX8M/中的imx-atf中的bl31.bin 以及firmware/hdmi/cadence/signed_hdmi_imx8m.bin,copy ddr4_imem_1d.bin, ddr4_dmem_1d.bin, ddr4_imem_2d.bin, and
    ddr4_dmem_2d.bin from firmware/ddr/synopsys of firmware-imx

    又是一番百度以及自己的摸索,终于找到了文件的所在。
    1) 首先是该步骤中设置到了3个文件夹
    • imx-mkimage
    • imx-atf
    • firmware - 应该是firmware-imx

    2) imx-mkimage文件的内容可以在github中找到https://github.com/ahnniu/imx-mkimage
        使用命令下载到mys-8mmx目录下
    1. git clone https://github.com/ahnniu/imx-mkimage.git
    复制代码
    3) 剩下两个文件夹在Yocto的编译目录下imx-atf 在imx-atf is in your yocto/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/imx-atf
    firmware-imx 在firmware is in your yocto/build-xwayland/tmp/work/aarch64-mx8mm-poky-linux/firmware-imx-8m/8.7-r0/firmware-imx-8.7
    将这两个文件夹拷贝到mys-8mmx目录下,然后文件就齐全了
    93.png

    将需要的文件全部都拷贝到/imx-mkimage/iMX8M/目录下,按照教程中的说明。

    4) 生成flash.bin
    1. cd imx-mkimage
    2. make SOC=iMX8MM clean
    3. make SOC=iMX8MM flash_ddr4_evk
    复制代码
    然后在/imx-mkimage/iMX8M/目录下就会生成一个flash.bin,这个就是uboot文件,可以运行的。

    6. 下载flash.bin到SD卡
    还是参考米尔的文档
    94.png

    1) 插入SD卡到电脑
    使用下面的命令查看SD开的名称
    1. cat /proc/partitions
    复制代码
    2.png
    如上图所以,因为之前用内存卡下载烧录过米尔的镜像文件,所以存在两个分区,不用管这个,直接使用dd命令下载就行了

    2) 下载U-boot到SD卡
    命令如下:
    1. sudo dd if=/home/hehung/mys-8mmx/imx-mkimage/iMX8M/flash.bin of=/dev/sdb bs=1k seek=33 && sync
    复制代码
    3.png

    7. 验证U-boot是否成功导入到SD卡
    将SD卡插入板子上,复位
    显示如下信息,表明成功了
    串口连接单片机显示:
    4.png
    5.png
    但是网络好像还是有点问题,但是好贷迈出了第一步。

    费了很大的功夫终于成功了,终于踏入了linux的坑了。
    整个过程就如上,因为上面的步骤跨时比较长,难免存在遗漏的步骤,如果发现,麻烦告知补充,谢谢。





    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-1-31 23:05
  • 签到天数: 144 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2021-9-27 14:24:16 | 显示全部楼层
    我现在也在使用yocto来编译。
    坦白讲,我也是有较大的抵抗情绪的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-5-8 09:31
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

     楼主| 发表于 2021-9-29 16:37:20 | 显示全部楼层
    jobszheng5 发表于 2021-9-27 14:24
    我现在也在使用yocto来编译。
    坦白讲,我也是有较大的抵抗情绪的。

    yocto环境搭建太难了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 10:11 , Processed in 0.152427 second(s), 21 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.