• 全志A33使用主线U-Boot方法


    最近在研究A33主线相关的资源,目前主线uboot和内核都对A33有极好的支持了,所以现在把我在使用过程中遇到的问题和使用方法做个记录,首先是下载主线uboot源码,网址为https://ftp.denx.de/pub/u-boot/,我下载的版本为2022.10版本的,如下图所示
    在这里插入图片描述
    下载完成后,直接解压到我们的开发机器上即可,我这里默认使用的是Sinlinx_SinA33_defconfig配置文件,将此文件复制为我们的配置文件名字即可。
    然后配置好交叉编译环境,使用如下命令进行编译即可。

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- Sinlinx_SinA33_defconfig
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
    
    • 1
    • 2
    • 3

    编译没问题后如下图文件即为我们所需要的文件在这里插入图片描述
    接着需要确保怎么让机器能运行uboot代码,首先是要执行git clone https://github.com/linux-sunxi/sunxi-tools 去下载sunxi-tools工具,下载完成后直接进入目录进行make即可得到工具,然后将机器进入到fel模式,机器识别到Allwinner USB Devices即可进行烧录工作,./sunxi-tools/sunxi-fel uboot u-boot/u-boot-sunxi-with-spl.bin即可,成功运行uboot截图如下。
    在这里插入图片描述
    补上一张烧录的截图,记得一定要sudo权限,或者root用户下执行,不然会提示权限问题。
    在这里插入图片描述
    接下来就是调试uboot外设了,首先会一直打印如下图所示的信息,挺烦人的,而我们又用不到usb启动,所以接下来看看在哪里可以关闭如下操作。
    在这里插入图片描述
    修改如下地方即可,只保留EMMC启动方式。

    diff --git a/u-boot/include/configs/sunxi-common.h b/u-boot/include/configs/sunxi-common.h
    index 0f0ef4f64..0def14927 100644
    --- a/u-boot/include/configs/sunxi-common.h
    +++ b/u-boot/include/configs/sunxi-common.h
    @@ -266,11 +266,7 @@
     
     #define BOOT_TARGET_DEVICES(func) \
            func(FEL, fel, na) 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧
    mySQL相关操作(不看是你的损失)
    Android硬件服务访问(3):编写JNI方法提供Java访问硬件服务接口
    【Typescript】学习笔记(三)之接口与泛型的使用
    RK3399平台开发系列讲解(PCI/PCI-E)5.54、PCIE INTx中断机制
    SQLite的DBSTAT 虚拟表(三十六)
    第一章 概述
    由GEE生成逐月MODIS的NDVI影像
    设计模式之组合模式
    微信小程序的目录结构
  • 原文地址:https://blog.csdn.net/qq_41795122/article/details/127934540