• 迅为iTOPSTM32MP157开发板编译UBoot


    uboot 是一段裸机代码,它的实现非常复杂,主要是初始化一些硬件,部署整个计算机系统,将内核读到内存,根据环境变量去启动内核,并向内核传递参数。它的目标就是启动内核,内核启动后它的生命也随之结束。
    u-boot 是 SourceForge 上的开源项目,由一个人发起,然后由整个世界所有感兴趣的人共同维护发展而来的一个 bootloader,bootloader 是用来引导和加载内核,向内核传递参数的,是内核引导程序的统称,bootloader 除了 u-boot 还有 bios,LilO,redboot,vivi 等。Uboot 的源码存放路径为“iTOP-STM32MP157 开发板光盘资料\04_TF-A、uboot 和内核源码\uboot”,如下图所示:
    <ignore_js_op>
    Uboot 源码的编译器和编译 TF-A 的编译器相同为 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf。将源码拷贝源码到“/home/topeet”目录下,使用如下命令解压:tar -vxf u-boot-stm32mp-2020.01-r0_20210817.tar.gz(注意,日期后缀名可能会更新)解压源码压缩包,解压完成之后得到“u-boot-stm32mp-2020.01-r0”文件夹。
    使用命令进入 uboot 的源码如下图所示:cd u-boot-stm32mp-2020.01-r0/
    <ignore_js_op>
    三个个文件分别为编译的 makefile 文件和 EMMC 和 TF 卡编译的源码。
    我们以 EMMC 源码编译为例(TF 卡的 uboot 镜像编译步骤相同),使用命令
    cd emmc_u-boot-stm32mp-2020.01/
    进入到对应的源码目录下,如下图所示:
    <ignore_js_op>
    然后使用命令“./create.sh”进行编译,如下图所示:
    <ignore_js_op>
    编译过程如下图所示:
    <ignore_js_op>
    编译完成如下图所示:
    <ignore_js_op>
    编译完成之后会在上一级目录产生 build-trusted 目录,用来存放编译生成的文件。而我们所需要的文件为 u-boot.stm32 如下图所示:
    <ignore_js_op>
    至此我们的 uboot 编译就完成了。然后在 build-trusted 目录下使用以下命令cp u-boot.stm32 /home/image/uboot/emmc_emmc_u-boot.stm32
    来替换掉烧写文件中关于 emmc 的 uboot 即可(每个人 image 的路径都不同,要根据自己的情况来完善命令)。
    <ignore_js_op>
    核心板参数
    尺寸:        46mm*58mm
    CPU:        STM32MP157A
    主频:        650M
    内存:        1G
    存储:        8G
    工作电压:        直流5V供电
    系统支持:        流畅运行最小Linux系统、Buildroot、QT5.12.10、ubuntu_base_20.04、Debian系统
    引角扩展:        引出脚多达240个,满足用户各类扩展需求
    底板参数:
    尺寸:        190mm*125mm
    POWER:        电直流电源输入接口,12V/3A+电源输入
    SWITCH:        电源开关
    DIP:        SWITCH 4位拨码开关
    ADC电位器:        1路
    SDIO接口:        1个
    JTAG:        1个
    CAMERA接口:        1个
    CAN接口:        1路CAN
    User Key:        5个功能按键
    MIC:        支持MIC输入
    PHONE:        支持耳机输出
    串口:        3路
    USB Host:        2路 USB Host,支持USB2.0协议
    TF Card:        1个标准TF卡接口
    网口:        1路千兆以太网口
    LED:        3个(1个电源指示灯,2个可控LED)
    HDMI接口:        1路
    LCD接口:        1路LVDS9(HDMI口输出LVDS信号),1路RGB
    USB OTG:        2路 USB OTG2.0
    RTC:        1个
    RS485接口:        1路
    WIFI/蓝牙芯片:        1路
    4G模组选配:        1个
    六轴传感器:        1个
    蜂鸣器:        1个
    红外传感器:        1个
    光环境传感器:        1个
    温湿度传感器:        1个
    SPDIF接口:        SPDIF输入、SPDIF输出

  • 相关阅读:
    C#中的“装箱”与“拆箱”[转贴]
    C#中的委托和事件[转帖]
    ASP.NET的四种错误机制[转帖]
    读技术书的技巧
    《AdvancED ActionScript 3.0 Animation》读书笔记(2) —— 2.5d
    读《JavaScript大师Nicholas C. Zakas谈TypeScript》有感,也谈编译js问题
    《游戏人工智能编程》读书笔记 —— 向量的归一和点乘
    浏览器图形渲染性能测试
    对对碰游戏demo
    A星寻路demo
  • 原文地址:https://www.cnblogs.com/liyue3/p/15980151.html
Copyright © 2020-2023  润新知