在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 米爾STM32MP25x開發(fā)板Bring Up培訓(xùn)課程(二)

        米爾STM32MP25x開發(fā)板Bring Up培訓(xùn)課程(二)

        作者: 時(shí)間:2025-02-28 來源:EEPW 收藏

        1.概述

        本文引用地址:http://www.biyoush.com/article/202502/467457.htm

        本文將以 MYIR 的 MYC-LD25X 核心模塊及MYD-LD25X開發(fā)平臺(tái)為例,講解如何使用 STM32CubeMX 來實(shí)現(xiàn)Developer package最小系統(tǒng)和外設(shè)資源的配置。

        1740739336754273.png

        2.修改設(shè)備樹(接上一期)

        查看生成的Bring up工程空文件的設(shè)備樹,CA35的設(shè)備樹文件夾,其他的是M33核的工程資料。

        我們可以看到生成的設(shè)備樹文件如下

        myir@myir-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

        以上的設(shè)備樹已經(jīng)配置了大部分內(nèi)容的工程,但是工程是還無法全部啟動(dòng),我們需要先把設(shè)備樹同步到相應(yīng)的BSP代碼中。

        stm32mp25x-BringUp-bsp.tar.gz已拷貝并解壓到虛擬機(jī):/home/myir。

               注:windows和ubuntu之間目錄共享

        myir@myir-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

        1740739363610804.png

        在“虛擬機(jī)設(shè)置”選項(xiàng)中設(shè)置完成后, 啟動(dòng)虛擬機(jī)執(zhí)行如下命令進(jìn)行掛載:

         myir@myir-vm# sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

        sudo 密碼為:123456      

        在虛擬機(jī)的/mnt/hgfs目錄下已經(jīng)成功掛載上共享的目錄,如未掛載上,可以重新啟動(dòng)下虛擬機(jī)。

        /home/myir/目錄為我這邊虛擬機(jī)的目錄,實(shí)際目錄以自己本機(jī)為準(zhǔn)。

        tf-a設(shè)備樹軟鏈接:

        myir@myir-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設(shè)備樹stm32mp257d-bringup-mx.dts和stm32mp257d-bringup-mx-rcc.dtsi軟鏈接:

        myir@myir-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/

        1740739393535431.png

        root@myir-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設(shè)備樹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設(shè)備樹軟鏈接:

        myir@myir-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設(shè)備樹軟鏈接:

        Note: STM32CubeMX 的規(guī)則是先生成 Kernel 的 dts, 然后將生成的 dts 文件拷貝到 u-boot 目錄下,也就是說 u-boot 的設(shè)備樹 stm32mp257d-bringup-mx.dts 是從 kernel 目錄拷貝過來的,所以在 U-Boot 階段修改設(shè)備樹,添加 User code 時(shí),請(qǐng)同步修改 kernel 的設(shè)備樹或者將修改好的設(shè)備樹拷貝到 Kernel 目錄,防止下次使用 CubeMX 生成設(shè)備樹的時(shí)候,u-boot 部分的修改被 kernel 未修改的設(shè)備樹覆蓋。

        2.1.配置和編譯TF-A

        需要手動(dòng)添加 TF-A 階段的串口配置的 user code. 使用文本編輯工具打開生成的 打開 TF-A 設(shè)備樹(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”節(jié)點(diǎn):

        /* 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: stpmic@33 {

                      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;

                             };

                      };

                     };

                     /* USER CODE END i2c7 */

        };

        &ddr{

                     status = "okay";

         

                     /* USER CODE BEGIN ddr */

                     vdd1-supply = <&vdd1_ddr>;

                     vdd2-supply = <&vdd2_ddr>;

                     vddq-supply = <&vdd2_ddr>;

                     /* USER CODE END ddr */

        };

        使用文本編輯工具打開生成的 打開 TF-A 設(shè)備樹(BringupCA35DeviceTreeBringuptf-astm32mp257d-bringup-mx-fw-config.dts)

        本次配置不涉及防火墻內(nèi)容,因此屏蔽如下內(nèi)容:

        /*      st-mem-firewall {

                        bl31_context: bl31-context@81ff0000 {

                                reg = <0x0 0x81ff0000 0x0 0x10000>;

                                st,protreg = <RISAFPROT(RISAF_REG_ID(7), 0, 0, 0, RIF_NSEC, RIF_ENC_DIS, RIF_BREN_EN)>;

                        };

                        op_tee: op-tee@82000000 {

                                reg = <0x0 0x82000000 0x0 0x2000000>;

                                st,protreg = <RISAFPROT(RISAF_REG_ID(8), 0, 0, 0, RIF_NSEC, RIF_ENC_DIS, RIF_BREN_EN)>;

                        };

                };

        */

        新增如下內(nèi)容:

                /* USER CODE BEGIN root */

                dtb-registry {

                        soc_fw-config {

                                load-address = <0x0 0x81fc0000>;

                                max-size = <0x40000>;

                        };

                        tos_fw {

                                load-address = <0x0 0x82000000>;

                                max-size = <0x2000000>;

                        };

                };

               st-mem-firewall {

                        bl31_context: bl31-context@81fc0000 {

                            reg = <0x0 0x81fc0000 0x0 0x40000>;

                            st,protreg = <RISAFPROT(RISAF_REG_ID(7), RIF_CID0_BF|RIF_CID1_BF, RIF_CID0_BF|RIF_CID1_BF, 0, RIF_SEC, RIF_ENC_DIS, RIF_BREN_EN)>;

                        };

                        op_tee: op-tee@82000000 {

                            reg = <0x0 0x82000000 0x0 0x2000000>;

                            st,protreg = <RISAFPROT(RISAF_REG_ID(8), RIF_CID0_BF|RIF_CID1_BF, RIF_CID0_BF|RIF_CID1_BF, 0, RIF_SEC, RIF_ENC_DIS, RIF_BREN_EN)>;

                        };

                };

                /* USER CODE END root */

        以上已完成配置,就可以進(jìn)行TF-A的單獨(dú)編譯。

        myir@myir-vm: cd /home/myir/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir

        myir@myir-vm:~/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir$ source /opt/st/myd-ld25x/4.2.4-snapshot/environment-setup-cortexa35-ostl-linux

        myir@myir-vm:~/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir$ export FIP_DEPLOYDIR_ROOT=../../FIP_artifacts

        myir@myir-vm:~/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir$ export FWDDR_DIR=../../stm32mp-ddr-phy-A2022.11-r0/stm32mp-ddr-phy-A2022.11

        myir@myir-vm:~/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir$  make -f $PWD/../Makefile.sdk DEPLOYDIR=$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware TF_A_CONFIG="optee-emmc usb" TF_A_DEVICETREE=stm32mp257d-bringup-mx ELF_DEBUG_ENABLE='1' stm32 metadata

        注:已將上述TF-A單獨(dú)編譯的命令存放在/home/myir/stm32mp25x-BringUp-bsp/myir-st-tfa/tf-a-myir/build.sh

        編譯完成:


        上一頁 1 2 下一頁

        關(guān)鍵詞:

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉