设为首页 加入收藏
  • 首页
  • 人文
  • 最新热点
  • 男性
  • 新闻
  • 咨询
  • 女性
  • 当前位置:首页 > 最新热点 > 米尔STM32MP25x开发板Bring Up掩盖课程

    米尔STM32MP25x开发板Bring Up掩盖课程

    发布时间:2025-05-28 03:59:03 来源:锐评时讯 作者:新闻

    1.概述。

    本文引证地址:

    本文将以 MYIR 的 MYC-LD25X 中心模块及MYD-LD25X开发渠道为例,解说论争运用 STM32CubeMX 来完结Developer package最小体系和外设资源的装备。

    2.修正设备树(接上一期)。

    检查生成的Bring up工程空文件的设备树,CA35的设备树文件夹,其他的是M33核的工程材料。

    咱们能够看到生成的设备树文件如下。

    myirmyir-vm:/mnt/hgfs/ShareWorkspace/stm32mp25x-bringup/Bringup/CA35/DeviceTree/Bringup$ tree -l。

    .。

    ├── kernel。

    │   ├── stm32mp257d-bringup-mx.dts。

    │   └── stm32mp257d-bringup-mx-resmem.dtsi。

    ├── optee-os。

    │   ├── stm32mp257d-bringup-mx.dts。

    │   ├── stm32mp257d-bringup-mx-rcc.dtsi。

    │   ├── stm32mp257d-bringup-mx-resmem.dtsi。

    │   └── stm32mp257d-bringup-mx-rif.dtsi。

    ├── tf-a。

    │   ├── stm32mp257d-bringup-mx.dts。

    │   ├── stm32mp257d-bringup-mx-fw-config.dts。

    │   ├── stm32mp257d-bringup-mx-rcc.dtsi。

    │   └── stm32mp25-mx.dtsi。

    └── u-boot。

        ├── stm32mp257d-bringup-mx.dts。

        ├── stm32mp257d-bringup-mx-resmem.dtsi。

        └── stm32mp257d-bringup-mx-u-boot.dtsi。

    4 directories, 13 files。

    以上的设备树现已装备了大部分内容的工程,可是工程是还无法悉数发动,咱们需求先把设备树同步到相应的BSP代码中。

    stm32mp25x-BringUp-bsp.tar.gz已复制并解压到虚拟机:/home/myir。

           注:windows和ubuntu之间目录同享。

    myirmyir-vm:~/stm32mp25x-BringUp-bsp$ tree -L 2。

    .。

    ├── Bringup。

    │   ├── Bringup.ioc。

    │   ├── CA35。

    │   ├── CM33。

    │   ├── Common。

    │   └── Drivers。

    ├── build。

    ├── FIP_artifacts。

    │   ├── arm-trusted-firmware。

    │   ├── fip。

    │   ├── flash-all.sh。

    │   ├── FlashLayout_emmc_stm32mp25x-bringup-mx.tsv。

    │   ├── flash.sh。

    │   ├── optee。

    │   └── u-boot。

    ├── myir-st-optee。

    │   ├── fiptool-stm32mp。

    │   ├── Makefile.sdk。

    │   ├── myir-st-external-dt。

    │   ├── myir-st-optee。

    │   └── README。

    ├── myir-st-tfa。

    │   ├── fiptool-stm32mp。

    │   ├── Makefile.sdk。

    │   └── tf-a-myir。

    ├── myir-st-uboot。

    │   ├── fiptool-stm32mp。

    │   ├── Makefile.sdk。

    │   └── u-boot-myir。

    └── stm32mp-ddr-phy-A2022.11-r0。

        ├── README.HOW_TO.txt。

        └── stm32mp-ddr-phy-A2022.11。

    19 directories, 13 files。

    在“虚拟机设置”选项中设置完结后, 发动虚拟机履行如下指令进行挂载:

     myirmyir-vm# sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other。

    sudo 暗码为:123456      。

    在虚拟机的/mnt/hgfs目录下现已成功挂载上同享的目录,如未挂载上,能够重新发动下虚拟机。

    /home/myir/目录为我这边虚拟机的目录,实践目录以自己本机为准。

    tf-a设备树软链接:

    myirmyir-vm:/mnt/hgfs/ShareWorkspace#  ln -s /mnt/hgfs/ShareWorkspace/Bringup/CA35/DeviceTree/bringup/tf-a/* /home/myir/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir/fdts/。

    Optee-os设备树stm32mp257d-bringup-mx.dts和stm32mp257d-bringup-mx-rcc.dtsi软链接:

    myirmyir-vm:/mnt/hgfs/ShareWorkspace# ln -s /mnt/hgfs/ShareWorkspace/Bringup/CA35/DeviceTree/bringup/optee-os/stm32mp257d-bringup-mx.dts /home/myir/stm32mp25x-BringUp-bsp/myir-st-optee/myir-st-optee/core/arch/arm/dts/。

    rootmyir-vm:/mnt/hgfs/ShareWorkspace# ln -s /mnt/hgfs/ShareWorkspace/Bringup/CA35/DeviceTree/bringup/optee-os/stm32mp257d-bringup-mx-rcc.dtsi /home/myir/stm32mp25x-BringUp-bsp/myir-st-optee/myir-st-optee/core/arch/arm/dts/。

    Optee-os设备树stm32mp257d-bringup-mx-resmem.dtsi和stm32mp257d-bringup-mx-rif.dtsi直接运用SourceCode压缩包Optee-os目录中的文件,可通过软链接或许复制的方法放到stm32mp25x-BringUp-bsp/myir-st-optee/myir-st-optee/core/arch/arm/dts/目录下。

    Uboot设备树软链接:

    myirmyir-vm:/mnt/hgfs/ShareWorkspace# ln -s /mnt/hgfs/ShareWorkspace/Bringup/CA35/DeviceTree/bringup/u-boot/* /home/myir/stm32mp25x-BringUp-bsp/myir-st-uboot/u-boot-myir/arch/arm/dts/。

    Kernel设备树软链接:

    Note: STM32CubeMX 的规则是先生成 Kernel 的 dts, 然后将生成的 dts 文件复制到 u-boot 目录下,也就是说 u-boot 的设备树 stm32mp257d-bringup-mx.dts 是从 kernel 目录复制过来的,所以在 U-Boot 阶段修正设备树,添加 User code 时,请同步修正 kernel 的设备树或许将修正好的设备树复制到 Kernel 目录,避免下次运用 CubeMX 生成设备树的时分,u-boot 部分的修正被 kernel 未修正的设备树掩盖。

    2.1.装备和编译TF-A。

    需求手动添加 TF-A 阶段的串口装备的 user code. 运用文本编辑东西翻开生成的 翻开 TF-A 设备树(BringupCA35DeviceTreeBringuptf-astm32mp257d-bringup-mx.dts)。

    添加头文件。

    /* USER CODE BEGIN includes */。

    #include "stm32mp25xf.dtsi"

    #include "stm32mp25-pinctrl.dtsi"

    /* USER CODE END includes */。

    在”USER CODE BEGIN root”方位添加”chosen”和”aliases”节点:

    /* USER CODE BEGIN root */。

    aliases {。

                 serial0 = &usart2;

    };

    chosen {。

                 stdout-path = "serial0:115200n8";

     };

    /* USER CODE END root */。

    添加PMIC装备。

    &i2c7{。

                 pinctrl-names = "default";

                 pinctrl-0 = <&i2c7_pins_mx>;

                 status = "okay";

                 /* USER CODE BEGIN i2c7 */。

                 pmic2: stpmic33 {。

                  compatible = "st,stpmic2";

                  reg = <0x33>;

                  status = "okay";

                  regulators {。

                         compatible = "st,stpmic2-regulators";

                         vddcpu: buck1 {。

                                regulator-name = "vddcpu";

                                regulator-min-microvolt = <800000>;

                                regulator-max-microvolt = <910000>;

                                regulator-always-on;

                        };

                         vddcore: buck2 {。

                                regulator-name = "vddcore";

                                regulator-min-microvolt = <820000>;

                                regulator-max-microvolt = <820000>;

                                regulator-always-on;

                        };

                         vddgpu: buck3 {。

                                regulator-name = "vddgpu";

                                regulator-min-microvolt = <800000>;

                                regulator-max-microvolt = <900000>;

                                regulator-always-on;

                        };

                         vddio_pmic: buck4 {。

                                regulator-name = "vddio_pmic";

                                regulator-min-microvolt = <3300000>;

                                regulator-max-microvolt = <3300000>;

                                regulator-always-on;

                        };

                         v1v8: buck5 {。

                                regulator-name = "v1v8";

                                regulator-min-microvolt = <1800000>;

                                regulator-max-microvolt = <1800000>;

                                regulator-always-on;

                        };

                         vdd2_ddr: buck6 {。

                                regulator-name = "vdd2_ddr";

                                regulator-min-microvolt = <1100000>;

                                regulator-max-microvolt = <1100000>;

                        };

                         v3v3: buck7 {。

                                regulator-name = "v3v3";

                                regulator-min-microvolt = <3300000>;

                                regulator-max-microvolt = <3300000>;

                                regulator-always-on;

                        };

                         vdda1v8_aon: ldo1 {。

                                regulator-name = "vdda1v8_aon";

                                regulator-min-microvolt = <1800000>;

                                regulator-max-microvolt = <1800000>;

                                regulator-always-on;

                        };

                         vdd_emmc: ldo2 {。

                                regulator-name = "vdd_emmc";

                                regulator-min-microvolt = <3300000>;

                                regulator-max-microvolt = <3300000>;

                                regulator-always-on;

                        };

                         vdd1_ddr: ldo3 {。

                                regulator-name = "vdd1_ddr";

                                regulator-min-microvolt = <1800000>;

                                regulator-max-microvolt = <1800000>;

                                regulator-enable-ramp-delay = <1000>;

                        };

                         vdd3v3_usb: ldo4 {。

                                regulator-name = "vdd3v3_usb";

                                regulator-min-microvolt = <3300000>;

                                regulator-max-microvolt = <3300000>;

                                regulator-always-on;

                        };

                         v5v_hdmi: ldo5 {。

                                regulator-name = "v5v_hdmi";

                                regulator-min-microvolt = <2000000>;

                                regulator-max-microvolt = <2000000>;

                        };

                         vdd_sdcard: ldo7 {。

                                regulator-name = "vdd_sdcard";

                                regulator-min-microvolt = <3300000>;

                                regulator-max-microvolt = <3300000>;

                                regulator-always-on;

                        };

                         vddio_sdcard: ldo8 {。

                                regulator-name = "vddio_sdcard";

                                st,regulator-bypass-microvolt = <3300000>;

                                regulator-min-microvolt = <3300000>;

                                regulator-max-microvolt = <3300000>;

                                regulator-always-on;

                        };

    。

    内容来源:https://bachduy.com/app-1/79 phùng hưng,https://chatbotjud-hml.saude.mg.gov.br/app-1/jogar-sugar-rush-demo

    • 上一篇: 系统发生错误

      系统发生错误

      您可以选择 [ 重试 ] [ 返回 ] 或者 [ 回到首页 ]

      [ 错误信息 ]

      页面发生异常错误,系统设置开启调试模式后,刷新本页查看具体错误!