i.MX93 Cortex-M33 DDR example

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX93 Cortex-M33 DDR example

i.MX93 Cortex-M33 DDR example

Hello everyone!

In this document you'll find an example on how to build your Cortex-M33 code where some parts of the code runs from DDR, for this changes on ATF where the M33 core can visit DRAM in early stage.

For this we will take advantage of RPROC framework, RPROC (Remote Processor Framework) is a Linux kernel and U-Boot subsystem that manages secondary, embedded processors (like Cortex-M cores), where we will use the A55 to load the M33 firmware.

This will require changes on Linux device tree, ATF and M33 linker file.

Requirements:
Ubuntu 20.04 or later host PC
i.MX93 QSB
UUU Tool
ARM GNU Toolchain (arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu)
SDK package (SDK_25_09_00_MCIMX93-QSB)
Prebuild Linux Image (LF_v6.12.34-2.1.0_images_IMX93EVK)

### Clone imx-mkimage, it is better to download the same version of the sw we are working with ###
$ git clone https://github.com/nxp-imx/imx-mkimage -b lf-6.12.34-2.1.0

### Decompress the GNU toolchain into a path in local disk, in this test would be /opt/ ###
$ sudo tar -xvJf arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz -C /opt

### Clone and build Uboot ###
$ git clone https://github.com/nxp-imx/uboot-imx -b lf-6.12.34-2.1.0
$ cd uboot-imx
$ make -j $(nproc --all) clean
$ make -j$(nproc --all) ARCH=arm CROSS_COMPILE=/opt/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- imx93_11x11_evk_defconfig
$ make -j $(nproc --all) ARCH=arm CROSS_COMPILE=/opt/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

### Download and extract ELE firmware ###
$ cd ..
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-2.0.3-286c884.bin
$ chmod +x firmware-ele-imx-2.0.3-286c884.bin
$ ./firmware-ele-imx-2.0.3-286c884.bin --auto-accept

### Optional if using i.MX FW ###
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.29-8741a3b.bin
$ chmod +x firmware-imx-8.29-8741a3b.bin
$ ./firmware-imx-8.29-8741a3b.bin --auto-accept

### Clone ATF ###
$ git clone https://github.com/nxp-imx/imx-atf -b lf-6.12.34-2.1.0
$ cd imx-atf

### Modify ATF for the M33 to be able to access DDR ###

 

スポイラ

--- a/plat/imx/imx93/trdc_config.h
+++ b/plat/imx/imx93/trdc_config.h

struct trdc_mrc_config trdc_n_mrc[] = {
{ 0, 0, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for S400 DID0 */
{ 0, 1, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for MTR DID1 */
- { 0, 2, 0, 0x80000000, 0x80000000, 0, true }, /* MRC0 DRAM for M33 DID2 */
+ { 0, 2, 0, 0x80000000, 0x80000000, 1, true }, /* MRC0 DRAM for M33 DID2 */
{ 0, 3, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for A55 DID3 */
{ 0, 5, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */
{ 0, 6, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */

### Build modified ATF ###
$ make -j $(nproc --all) PLAT=imx93 bl31 CROSS_COMPILE=/opt/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

### Modify linker file and build M33 code, in this example we are using hello world SDK example ###
$ cd ..
$ tar -xvzf SDK_25_09_00_MCIMX93-QSB.tar.gz
$ cd SDK_25_09_00_MCIMX93-QSB/boards/mcimx93qsb/demo_apps/hello_world/armgcc

スポイラ

--- a/boards/mcimx93autoevk/demo_apps/hello_world/armgcc/MIMX9352_cm33_ram.ld
+++ b/boards/mcimx93autoevk/demo_apps/hello_world/armgcc/MIMX9352_cm33_ram.ld

m_a55_suspend_ram (RW) : ORIGIN = 0x20002000, LENGTH = 0x00001000
m_data (RW) : ORIGIN = 0x20003000, LENGTH = 0x0001B000
m_rsc_tbl (RW) : ORIGIN = 0x2001E000, LENGTH = 0x00001000
+ m_text_dram (RW) : ORIGIN = 0x8F000000, LENGTH = 0x00001000
+ m_data_dram (RW) : ORIGIN = 0x8F001000, LENGTH = 0x00001000
}

/* Define output sections */


. = ALIGN(4);
} > m_text

+ .dram_text :
+ {
+ . = ALIGN(32);
+ *(.myDRAM)
+ . = ALIGN(32);
+ } > m_text_dram
+
.ARM.extab :
{
*(.ARM.extab* .gnu.linkonce.armextab.*)


.ARM.attributes 0 : { *(.ARM.attributes) }

ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
+
+ .dram_data :
+ {
+ . = ALIGN(32);
+ *(.myDRAM_data)
+ . = ALIGN(32);
+ } > m_data_dram
}

a/boards/mcimx93autoevk/demo_apps/hello_world/hello_world.c
+++ b/boards/mcimx93autoevk/demo_apps/hello_world/hello_world.c

* Definitions
******************************************************************************/

+#define _RET_IP_ (unsigned long)__builtin_return_address(0)
+#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; })

/*******************************************************************************
* Prototypes


/*******************************************************************************
* Variables
******************************************************************************/
-
+const char myString[] __attribute__((section(".myDRAM_data"))) = "Hello, World!";
/*******************************************************************************
* Code
******************************************************************************/
+__attribute__ ((section(".myDRAM")))
+void Dram_test(void) {
+ PRINTF("Dram_test!!\r\n");
+
+ PRINTF("%s!!\r\n", myString);
+
+ PRINTF("function %p\n",_THIS_IP_);
+}
+
/*!
* @brief Main function
*/


BOARD_BootClockRUN();
BOARD_InitDebugConsole();

- PRINTF("hello world.\r\n");
+ PRINTF("hello world from DRAM.\r\n");

while (1)
{
ch = GETCHAR();
PUTCHAR(ch);
+ if(ch == 'a'){
+ Dram_test();
+ }
}
}

$ export ARMGCC_DIR=~/gcc-arm-none-eabi-10.3-2021.10
$ export PATH=$PATH:~/gcc-arm-none-eabi-10.3-2021.10
$ ./build_release.sh

### Copy the resulting binaries to imx-mkimage ###
$ cp ~/imx-atf/build/imx93/release/bl31.bin ~/imx-mkimage/iMX93
$ cp ~/uboot-imx/u-boot.bin ~/imx-mkimage/iMX93
$ cp ~/uboot-imx/spl/u-boot-spl.bin ~/imx-mkimage/iMX93

### Copy i.MX firmware ###
$ cd ..
$ cp firmware-imx-8.29-8741a3b/firmware/ddr/synopsys/lpddr4_dmem_* ~/imx-mkimage/iMX93
$ cp firmware-imx-8.29-8741a3b/firmware/ddr/synopsys/lpddr4_imem_* ~/imx-mkimage/iMX93
$ cpfirmware-ele-imx-2.0.3-286c884/mx93a1-ahab-container.img ~/imx-mkimage/iMX93

### Build the flash.bin using mkimage
$ cd imx-mkimage
$ make SOC=iMX93 flash_singleboot

### Clone, modify and build device tree for Linux to be able to use RPROC to load M33 Firmware ###
$ git clone https://github.com/nxp-imx/linux-imx -b lf-6.12.34-2.1.0

スポイラ

--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts

no-map;
};

+ dram: dram@20480000 {
+ reg = <0 0x8f000000 0 0x20000>;
+ no-map;
+ };
+
rsc_table: rsc-table@2021e000 {
reg = <0 0x2021e000 0 0x1000>;
no-map;


<&mu1 1 1>,
<&mu1 3 1>;
- memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
+ memory-region = <&dram>, <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
<&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
fsl,startup-delay-ms = <500>;
status = "okay";

$ export ARCH=arm64
$ export CROSS_COMPILE=/opt/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-
$ make imx_v8_defconfig
$ make freescale/imx93-9x9-qsb.dtb

Set SW for serial download on the QSB (0001), connect debug, download and power cables and turn on the QSB, for this test we will flash the demo image and just replace Linux device tree, flash.bin and M33 firmware into the QSB board.

$ uuu -b sd_all flash.bin imx-image-full-imx93evk.wic


Once it is done change SW to the respective bootmedia
SD boot (0011) and boot the board and stop at uboot, to enter fastboot mode to load modified device tree and M33 firmware

> fastboot 1

After this just run UUU tool on the host computer and fatload the files

$ uuu -b fat_write imx93-9x9-qsb.dtb mmc 1:1
$ uuu -b fat_write hello_world.elf mmc 1:1

When the tool finish, stop fastboot mode by typing CTRL+C and then boot into Linux
> boot

Login with default password "root" and run the following commands to load M33 firmware
$ root
$ modprobe imx_rpmsg_tty
$ cp /run/media/boot-mmcblk1p1/hello_world.elf /lib/firmware/
$ echo hello_world.elf > /sys/class/remoteproc/remoteproc0/firmware
$ echo start >/sys/class/remoteproc/remoteproc0/state

M33_DDR.png


Once done we can verify that the M33 firmware is running on DDR

hello_world.png


Hope everyone finds this useful!

For any question regarding this document, please create a community thread and tag me if needed.

Saludos/Regards,
Aldo.

%3CLINGO-SUB%20id%3D%22lingo-sub-2259696%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX93%20Cortex-M33%20DDR%E3%81%AE%E4%BE%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259696%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%0A%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E3%81%BF%E3%82%93%E3%81%AA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%A7%E3%81%AF%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E4%B8%80%E9%83%A8%E3%82%92%20DDR%20%E3%81%8B%E3%82%89%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%20Cortex-M33%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89%E6%96%B9%E6%B3%95%E3%81%AE%E4%BE%8B%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81ATF%20%E3%81%A7%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81M33%20%E3%82%B3%E3%82%A2%E3%81%8C%E6%97%A9%E3%81%84%E6%AE%B5%E9%9A%8E%E3%81%A7%20DRAM%20%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%9F%E3%82%81%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%81%AE%E3%81%9F%E3%82%81%E3%80%81RPROC%20%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82RPROC%20(Remote%20Processor%20Framework)%20%E3%81%AF%E3%80%81%E3%82%BB%E3%82%AB%E3%83%B3%E3%83%80%E3%83%AA%E3%81%AE%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%20(Cortex-M%20%E3%82%B3%E3%82%A2%E3%81%AA%E3%81%A9)%20%E3%82%92%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B%20Linux%20%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%8A%E3%82%88%E3%81%B3%20U-Boot%20%E3%82%B5%E3%83%96%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E3%81%93%E3%81%93%E3%81%A7%20A55%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20M33%20%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%82%8C%E3%81%AB%E3%81%AF%E3%80%81Linux%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%84%E3%83%AA%E3%83%BC%E3%80%81ATF%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%20M33%20%E3%83%AA%E3%83%B3%E3%82%AB%E3%83%BC%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%A6%81%E4%BB%B6%EF%BC%9A%3CBR%20%2F%3E%20Ubuntu%2020.04%E4%BB%A5%E9%99%8D%E3%81%AE%E3%83%9B%E3%82%B9%E3%83%88PC%3CBR%20%2F%3E%20i.MX93%20QSB%3CBR%20%2F%3E%20UUU%E3%83%84%E3%83%BC%E3%83%AB%3CBR%20%2F%3EARM%20GNU%20%E3%83%84%E3%83%BC%E3%83%AB%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%20(arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu)%3CBR%20%2F%3ESDK%20%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%20(SDK_25_09_00_MCIMX93-QSB)%3CBR%20%2F%3E%E3%83%97%E3%83%AC%E3%83%93%E3%83%AB%E3%83%89%20Linux%20%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%20(LF_v6.12.34-2.1.0_images_IMX93EVK)%3C%2FP%3E%0A%3CP%3E%23%20%23%23%20Clone%20imx-mkimage%2C%20it%20is%20better%20to%20download%20the%20same%20version%20of%20the%20sw%20we%20are%20working%20with%20%23%23%20%23%3CBR%20%2F%3E%20%24%20git%20clone%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-mkimage%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-mkimage%3C%2FA%3E-b%20lf-6.12.34-2.1.0%3CBR%20%2F%3E%3CBR%20%2F%3E%23%20%23%23%20Decompress%20the%20GNU%20toolchain%20into%20a%20path%20in%20local%20disk%2C%20in%20this%20test%20would%20be%20%2Fopt%2F%20%23%23%20%23%3CBR%20%2F%3E%20%24%20sudo%20tar%20-xvJf%20arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz%20-C%20%2Fopt%3C%2FP%3E%0A%3CP%3E%23%20%23%23%20Clone%20and%20build%20Uboot%20%23%23%20%23%3CBR%20%2F%3E%20%24%20git%20clone%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fuboot-imx%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fuboot-imx%3C%2FA%3E-b%20lf-6.12.34-2.1.0%3CBR%20%2F%3E%24%20cd%20uboot-imx%3CBR%20%2F%3E%20%24%20make%20-j%20%24(nproc%20--all)%20%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%3CBR%20%2F%3E%24%20make%20-j%24(nproc%20--all)%20ARCH%3Darm%20CROSS_COMPILE%3D%2Fopt%2Farm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu%2Fbin%2Faarch64-none-linux-gnu-imx93_11x11_evk_defconfig%3CBR%20%2F%3E%20%24%20make%20-j%20%24(nproc%20--all)%20ARCH%3Darm%20CROSS_COMPILE%3D%2Fopt%2Farm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu%2Fbin%2Faarch64-none-linux-gnu-%3CBR%20%2F%3E%3CBR%20%2F%3E%23%20%23%23%20Download%20and%20extract%20ELE%20firmware%20%23%23%20%23%3CBR%20%2F%3E%20%24%20cd%20..%3CBR%20%2F%3E%20%24%20wget%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Flgfiles%2FNMG%2FMAD%2FYOCTO%2Ffirmware-ele-imx-2.0.3-286c884.bin%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Flgfiles%2FNMG%2FMAD%2FYOCTO%2Ffirmware-ele-imx-2.0.3-286c884.bin%3C%2FA%3E%3CBR%20%2F%3E%24%20chmod%20%2Bx%20%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2-ele-imx-2.0.3-286c884.bin%3CBR%20%2F%3E%24%20.%2Ffirmware-ele-imx-2.0.3-286c884.bin%20--auto-accept%3CBR%20%2F%3E%3CBR%20%2F%3E%20%23%20%23%23%20Optional%20if%20using%20i.MX%20FW%20%23%23%20%23%3CBR%20%2F%3E%20%24%20wget%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Flgfiles%2FNMG%2FMAD%2FYOCTO%2Ffirmware-imx-8.29-8741a3b.bin%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Flgfiles%2FNMG%2FMAD%2FYOCTO%2Ffirmware-imx-8.29-8741a3b.bin%3C%2FA%3E%3CBR%20%2F%3E%24%20chmod%20%2Bx%20%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2-imx-8.29-8741a3b.bin%3CBR%20%2F%3E%24%20.%2Ffirmware-imx-8.29-8741a3b.bin%20--auto-accept%3CBR%20%2F%3E%3CBR%20%2F%3E%20%23%20%23%23%20Clone%20ATF%20%23%23%20%23%3CBR%20%2F%3E%20%24%20git%20clone%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-atf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-atf%3C%2FA%3E-b%20lf-6.12.34-2.1.0%3CBR%20%2F%3E%24%20cd%20imx-atf%3CBR%20%2F%3E%3CBR%20%2F%3E%20%23%20%23%23%20Modify%20ATF%20for%20the%20M33%20to%20be%20able%20to%20access%20DDR%20%23%23%20%23%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CDIV%20class%3D%22lia-spoiler-container%22%3E%3CA%20class%3D%22lia-spoiler-link%22%20href%3D%22%23%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%E3%83%8D%E3%82%BF%E3%83%90%E3%83%AC%3C%2FA%3E%3CNOSCRIPT%3E%20%EF%BC%88%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88%E3%81%97%E3%81%A6%E8%AA%AD%E3%82%80%EF%BC%89%3C%2FNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-border%22%3E%3CDIV%20class%3D%22lia-spoiler-content%22%3E%0A%3CP%3E---%20a%2Fplat%2Fimx%2Fimx93%2Ftrdc_config.h%3CBR%20%2F%3E%2B%2B%2B%20b%2Fplat%2Fimx%2Fimx93%2Ftrdc_config.h%3C%2FP%3E%0A%3CP%3E%E6%A7%8B%E9%80%A0%E4%BD%93trdc_mrc_config%20trdc_n_mrc%5B%5D%20%3D%20%7B%3CBR%20%2F%3E%20%7B%200%2C%200%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20S400%20DID0%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3CBR%20%2F%3E%20%7B%200%2C%201%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20MTR%20DID1%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3CBR%20%2F%3E%20-%20%7B%200%2C%202%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20true%20%7D%2C%20%2F*%20M33%20DID2%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3CBR%20%2F%3E%20%2B%20%7B%200%2C%202%2C%200%2C%200x80000000%2C%200x80000000%2C%201%2C%20true%20%7D%2C%20%2F*%20M33%20DID2%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3CBR%20%2F%3E%20%7B%200%2C%203%2C%200%2C%200x80000000%2C%200x80000000%2C%201%2C%20false%20%7D%2C%20%2F*%20A55%20DID3%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3CBR%20%2F%3E%20%7B%200%2C%205%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20USDHC1%20DID5%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3CBR%20%2F%3E%20%7B%200%2C%206%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20USDHC2%20DID6%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%3C%2FP%3E%0A%3C%2FDIV%3E%3CNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-noscript-container%22%3E%3CDIV%20class%3D%22lia-spoiler-noscript-content%22%3E%0A---%20a%2Fplat%2Fimx%2Fimx93%2Ftrdc_config.h%2B%2B%2Bb%2Fplat%2Fimx%2Fimx93%2Ftrdc_config.hstruct%20trdc_mrc_config%20trdc_n_mrc%5B%5D%20%3D%20%7B%7B%200%2C%200%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20S400%20DID0%20%E7%94%A8%20MRC0%20DRAM%20*%2F%7B%200%2C%201%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20MTR%20DID1%20%E7%94%A8%20MRC0%20DRAM%20*%2F-%20%7B%200%2C%202%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20true%20%7D%2C%20%2F*%20M33%20DID2%20%E7%94%A8%20MRC0%20DRAM%20*%2F%2B%20%7B%200%2C%202%2C%200%2C%200x80000000%2C%200x80000000%2C%201%2C%20true%20%7D%2C%20%2F*%20M33%20DID2%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%7B%200%2C%203%2C%200%2C%200x80000000%2C%200x80000000%2C%201%2C%20false%20%7D%2C%20%2F*%20A55%20DID3%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%7B%200%2C%205%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20USDHC1%20DID5%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%7B%200%2C%206%2C%200%2C%200x80000000%2C%200x80000000%2C%200%2C%20false%20%7D%2C%20%2F*%20USDHC2%20DID6%20%E7%94%A8%E3%81%AE%20MRC0%20DRAM%20*%2F%0A%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FNOSCRIPT%3E%3C%2FDIV%3E%3C%2FDIV%3E%0A%3CP%3E%23%20%23%23%20Build%20modified%20ATF%20%23%23%20%23%3CBR%20%2F%3E%20%24%20make%20-j%20%24(nproc%20--all)%20PLAT%3Dimx93%20bl31%20CROSS_COMPILE%3D%2Fopt%2Farm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu%2Fbin%2Faarch64-none-linux-gnu-%3C%2FP%3E%0A%3CP%3E%23%20%23%23%20Modify%20linker%20file%20and%20build%20M33%20code%2C%20in%20this%20example%20we%20are%20using%20hello%20world%20SDK%20example%20%23%23%20%23%3CBR%20%2F%3E%20%24%20cd%20..%3CBR%20%2F%3E%20%24%20tar%20-xvzf%20SDK_25_09_00_MCIMX93-QSB.tar.gz%3CBR%20%2F%3E%24%20cd%20SDK_25_09_00_MCIMX93-QSB%2F%E3%83%9C%E3%83%BC%E3%83%89%2Fmcimx93qsb%2F%E3%83%87%E3%83%A2%E3%82%A2%E3%83%97%E3%83%AA%2Fhello_world%2Farmgcc%3C%2FP%3E%0A%3CDIV%20class%3D%22lia-spoiler-container%22%3E%3CA%20class%3D%22lia-spoiler-link%22%20href%3D%22%23%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%E3%83%8D%E3%82%BF%E3%83%90%E3%83%AC%3C%2FA%3E%3CNOSCRIPT%3E%20%EF%BC%88%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88%E3%81%97%E3%81%A6%E8%AA%AD%E3%82%80%EF%BC%89%3C%2FNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-border%22%3E%3CDIV%20class%3D%22lia-spoiler-content%22%3E%0A%3CP%3E---%20a%2Fboards%2Fmcimx93autoevk%2Fdemo_apps%2Fhello_world%2Farmgcc%2FMIMX9352_cm33_ram.ld%3CBR%20%2F%3E%2B%2B%2B%20b%2F%E3%83%9C%E3%83%BC%E3%83%89%2Fmcimx93autoevk%2F%E3%83%87%E3%83%A2%E3%82%A2%E3%83%97%E3%83%AA%2Fhello_world%2Farmgcc%2FMIMX9352_cm33_ram.ld%3C%2FP%3E%0A%3CP%3Em_a55_suspend_ram%20(RW)%20%3A%20%E5%8E%9F%E7%82%B9%20%3D%200x20002000%E3%80%81%E9%95%B7%E3%81%95%20%3D%200x00001000%3CBR%20%2F%3E%20m_data%20(RW)%3A%20%E5%8E%9F%E7%82%B9%20%3D%200x20003000%E3%80%81%E9%95%B7%E3%81%95%20%3D%200x0001B000%3CBR%20%2F%3E%20m_rsc_tbl%20(RW)%3A%20%E5%8E%9F%E7%82%B9%20%3D%200x2001E000%E3%80%81%E9%95%B7%E3%81%95%20%3D%200x00001000%3CBR%20%2F%3E%20%2B%20m_text_dram%20(RW)%3A%20ORIGIN%20%3D%200x8F000000%E3%80%81LENGTH%20%3D%200x00001000%3CBR%20%2F%3E%20%2B%20m_data_dram%20(RW)%3A%20%E5%8E%9F%E7%82%B9%20%3D%200x8F001000%E3%80%81%E9%95%B7%E3%81%95%20%3D%200x00001000%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F*%20%E5%87%BA%E5%8A%9B%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%20*%2F%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E%E3%80%82%3D%20%E6%95%B4%E5%88%97(4)%3B%3CBR%20%2F%3E%20%7D%20%26gt%3B%20m_text%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2B%20.dram_text%3A%3CBR%20%2F%3E%20%2B%20%7B%3CBR%20%2F%3E%20%2B%20%E3%80%82%3D%20%E6%95%B4%E5%88%97(32)%3B%3CBR%20%2F%3E%20%2B%20*(.myDRAM)%3CBR%20%2F%3E%20%2B%20%E3%80%82%3D%20%E6%95%B4%E5%88%97(32)%3B%3CBR%20%2F%3E%20%2B%20%7D%20%26gt%3B%20m_text_dram%3CBR%20%2F%3E%20%2B%3CBR%20%2F%3E%20.ARM.extab%3A%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20*(.ARM.extab*.gnu.linkonce.armextab.*)%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E.ARM.%E5%B1%9E%E6%80%A7%200%20%3A%20%7B%20*(.ARM.%E5%B1%9E%E6%80%A7)%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%20ASSERT(%20__StackLimit%20%26gt%3B%3D%20__%20HeapLimit%2C%20%22%E9%A0%98%E5%9F%9F%20m_data%20%E3%81%8C%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%A8%E3%83%92%E3%83%BC%E3%83%97%E3%81%A7%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%3CBR%20%2F%3E%20%2B%3CBR%20%2F%3E%20%2B%20.dram_data%3A%3CBR%20%2F%3E%20%2B%20%7B%3CBR%20%2F%3E%20%2B%20%E3%80%82%3D%20%E6%95%B4%E5%88%97(32)%3B%3CBR%20%2F%3E%20%2B%20*(.myDRAM_data)%3CBR%20%2F%3E%20%2B%20%E3%80%82%3D%20%E6%95%B4%E5%88%97(32)%3B%3CBR%20%2F%3E%20%2B%20%7D%20%26gt%3B%20m_data_dram%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%20a%2Fboards%2Fmcimx93autoevk%2Fdemo_apps%2Fhello_world%2Fhello_world.c%3CBR%20%2F%3E%2B%2B%2B%20b%2Fboards%2Fmcimx93autoevk%2Fdemo_apps%2Fhello_world%2Fhello_world.c%3C%2FP%3E%0A%3CP%3E*%20%E5%AE%9A%E7%BE%A9%3CBR%20%2F%3E**********************************************************************************%2F%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2B%23define%20_RET_IP_%20(unsigned%20long)__builtin_return_address(0)%3CBR%20%2F%3E%20%2B%23define%20_THIS_IP_%20(%7B%20__label__%20__here%3B%20__%E3%81%93%E3%81%93%E3%81%AB%3A%20(unsigned%20long)%26amp%3B%26amp%3B__here%3B%20%7D)%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E5%A4%89%E6%95%B0%3CBR%20%2F%3E**********************************************************************************%2F%3CBR%20%2F%3E%20-%3CBR%20%2F%3E%20%2Bconst%20char%20myString%5B%5D%20__attribute__%20((section(%22.myDRAM_data%22)))%20%3D%20%22Hello%2C%20World!%22%3B%3CBR%20%2F%3E%20%2F****************************************************************************************%3CBR%20%2F%3E%20*%20%E3%82%B3%E3%83%BC%E3%83%89%3CBR%20%2F%3E**********************************************************************************%2F%3CBR%20%2F%3E%20%2B%20__attribute__%20((%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3(%22.myDRAM%22)))%3CBR%20%2F%3E%2Bvoid%20Dram_test(void)%20%7B%3CBR%20%2F%3E%20%2B%20PRINTF(%22Dram_test!!%5Cr%5Cn%22)%3B%3CBR%20%2F%3E%20%2B%3CBR%20%2F%3E%20%2B%20PRINTF(%22%25s!!%5Cr%5Cn%22%2C%20myString)%3B%3CBR%20%2F%3E%20%2B%3CBR%20%2F%3E%20%2B%20PRINTF(%22%E9%96%A2%E6%95%B0%20%25p%5Cn%22%2C_THIS_IP_)%3B%3CBR%20%2F%3E%20%2B%7D%3CBR%20%2F%3E%20%2B%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20%E3%83%A1%E3%82%A4%E3%83%B3%E9%96%A2%E6%95%B0%3CBR%20%2F%3E*%2F%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EBOARD_BootClockRUN()%3B%3CBR%20%2F%3E%20BOARD_InitDebugConsole()%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20-%20PRINTF(%22%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E4%B8%96%E7%95%8C%E3%80%82%5Cr%5Cn%22)%3B%3CBR%20%2F%3E%2B%20PRINTF(%22DRAM%20%E3%81%8B%E3%82%89%20hello%20world.%5Cr%5Cn%22)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E4%B8%80%E6%96%B9%EF%BC%881%EF%BC%89%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20ch%20%3D%20GETCHAR()%3B%3CBR%20%2F%3E%20PUTCHAR(ch)%3B%3CBR%20%2F%3E%20%2B%20if(ch%20%3D%3D%20'a')%7B%3CBR%20%2F%3E%20%2B%20Dram_test()%3B%3CBR%20%2F%3E%20%2B%20%7D%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20%7D%3C%2FP%3E%0A%3C%2FDIV%3E%3CNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-noscript-container%22%3E%3CDIV%20class%3D%22lia-spoiler-noscript-content%22%3E%0A---%20a%2Fboards%2Fmcimx93autoevk%2Fdemo_apps%2Fhello_world%2Farmgcc%2FMIMX9352_cm33_ram.ld%2B%2B%2Bb%2F%E3%83%9C%E3%83%BC%E3%83%89%2Fmcimx93autoevk%2F%E3%83%87%E3%83%A2%E3%82%A2%E3%83%97%E3%83%AA%2Fhello_world%2Farmgcc%2FMIMX9352_cm33_ram.ld%0A%20m_a55_suspend_ram%20(RW)%3A%20ORIGIN%20%3D%200x20002000%2C%20LENGTH%20%3D%200x00001000m_data%20(RW)%3A%20ORIGIN%20%3D%200x20003000%2C%20LENGTH%20%3D%200x0001B000m_rsc_tbl%20(RW)%3A%20ORIGIN%20%3D%200x2001E000%2C%20LENGTH%20%3D%200x00001000%2B%20m_text_dram%20(RW)%3A%20ORIGIN%20%3D%200x8F000000%2C%20LENGTH%20%3D%200x00001000%2B%20m_data_dram%20(RW)%3A%20ORIGIN%20%3D%200x8F001000%2C%20LENGTH%20%3D%200x00001000%7D%2F*%20%E5%87%BA%E5%8A%9B%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9A%E7%BE%A9%20*%2F%0A%20%E3%80%82%3D%20ALIGN(4)%3B%7D%20%26gt%3B%20m_text%2B%20.dram_text%3A%2B%20%7B%2B%20.%3D%20ALIGN(32)%3B%2B%20*(.myDRAM)%2B%20.%3D%20ALIGN(32)%3B%2B%20%7D%20%26gt%3B%20m_text_dram%2B.ARM.extab%20%3A%7B*(.ARM.extab*.gnu.linkonce.armextab.*).ARM.%E5%B1%9E%E6%80%A7%200%20%3A%20%7B%20*(.ARM.%E5%B1%9E%E6%80%A7)%7DASSERT(%20__StackLimit%20%26gt%3B%3D%20__%20HeapLimit%2C%20%22%E9%A0%98%E5%9F%9F%20m_data%20%E3%81%8C%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%A8%E3%83%92%E3%83%BC%E3%83%97%E3%81%A7%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22)%2B%2B%20.dram_data%3A%2B%20%7B%2B%20.%3D%20ALIGN(32)%3B%2B%20*(.myDRAM_data)%2B%20.%3D%20ALIGN(32)%3B%2B%20%7D%20%26gt%3B%20m_data_dram%7Da%2Fboards%2Fmcimx93autoevk%2Fdemo_apps%2Fhello_world%2Fhello_world.c%2B%2B%2Bb%2F%E3%83%9C%E3%83%BC%E3%83%89%2Fmcimx93autoevk%2F%E3%83%87%E3%83%A2%E3%82%A2%E3%83%97%E3%83%AA%2Fhello_world%2Fhello_world.c*%20%E5%AE%9A%E7%BE%A9**********************************************************************************%2F%2B%23define%20_RET_IP_%20(unsigned%20long)__builtin_return_address(0)%2B%23define%20_THIS_IP_%20(%7B%20__label__%20__here%3B%20__%20here%3A%20(unsigned%20long)%26amp%3B%26amp%3B%20__here%3B%20%7D)%2F********************************************************************************%20Prototypes%0A%2F********************************************************************************%20Variables******************************************************************************%2F-%2Bconst%20char%20myString%5B%5D%20__%20attribute__((section(%22.myDRAM_data%22)))%3D%20%22Hello%2C%20World!%22%3B%2F************************************************************************************%20%E3%82%B3%E3%83%BC%E3%83%89********************************************************************************%2F%2B%20__attribute__%20((section(%22.myDRAM%22)))%2BvoidDram_test(void)%20%7B%2B%20PRINTF(%22Dram_test!!%5Cr%5Cn%22)%3B%2B%2B%20PRINTF(%22%25s!!%5Cr%5Cn%22%2C%20myString)%3B%2B%2B%20PRINTF(%22function%20%25p%5Cn%22%2C_THIS_IP_)%3B%2B%7D%2B%2F*!*%20%40brief%20%E3%83%A1%E3%82%A4%E3%83%B3%E9%96%A2%E6%95%B0*%2F%0A%20BOARD_BootClockRUN()%3BBOARD_InitDebugConsole()%3B-%20PRINTF(%22hello%20world.%5Cr%5Cn%22)%3B%2BPRINTF(%22DRAM%E3%81%8B%E3%82%89hello%20world.%5Cr%5Cn%22)%3Bwhile(1)%7Bch%20%3D%20GETCHAR()%3BPUTCHAR(ch)%3B%2B%20if(ch%20%3D%3D%20'a')%7B%2B%20Dram_test()%3B%2B%20%7D%7D%7D%0A%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FNOSCRIPT%3E%3C%2FDIV%3E%3C%2FDIV%3E%0A%3CP%3E%24%20%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%20ARMGCC_DIR%3D~%2Fgcc-arm-none-eabi-10.3-2021.10%3CBR%20%2F%3E%24%20%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%20PATH%3D%24PATH%3A~%2Fgcc-arm-none-eabi-10.3-2021.10%3CBR%20%2F%3E%24%20.%2Fbuild_release.sh%3C%2FP%3E%0A%3CP%3E%23%20%23%23%20Copy%20the%20resulting%20binaries%20to%20imx-mkimage%20%23%23%20%23%3CBR%20%2F%3E%20%24%20cp%20~%2Fimx-atf%2Fbuild%2Fimx93%2Frelease%2Fbl31.bin%20~%2Fimx-mkimage%2FiMX93%3CBR%20%2F%3E%20%24%20cp%20~%2Fuboot-imx%2Fu-boot.bin%20~%2Fimx-mkimage%2FiMX93%3CBR%20%2F%3E%20%24%20cp%20~%2Fuboot-imx%2Fspl%2Fu-boot-spl.bin%20~%2Fimx-mkimage%2FiMX93%3C%2FP%3E%0A%3CP%3E%23%20%23%23%20Copy%20i.MX%20firmware%20%23%23%20%23%3CBR%20%2F%3E%20%24%20cd%20..%3CBR%20%2F%3E%20%24%20cp%20%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2-imx-8.29-8741a3b%2F%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%2Fddr%2Fsynopsys%2Flpddr4_dmem_*~%2Fimx-mkimage%2FiMX93%3CBR%20%2F%3E%20%24%20cp%20%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2-imx-8.29-8741a3b%2F%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%2Fddr%2Fsynopsys%2Flpddr4_imem_*~%2Fimx-mkimage%2FiMX93%3CBR%20%2F%3E%20%24%20cpfirmware-ele-imx-2.0.3-286c884%2Fmx93a1-ahab-container.img%20~%2Fimx-mkimage%2FiMX93%3C%2FP%3E%0A%3CP%3E%23%23%23%20mkimage%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6flash.bin%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%3CBR%20%2F%3E%24%20cd%20imx-mkimage%3CBR%20%2F%3E%20%24%20SOC%3DiMX93%20flash_singleboot%20%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%3C%2FP%3E%0A%3CP%3E%23%20%23%23%20Clone%2C%20modify%20and%20build%20device%20tree%20for%20Linux%20to%20be%20able%20to%20use%20RPROC%20to%20load%20M33%20Firmware%20%23%23%20%23%3CBR%20%2F%3E%20%24%20git%20clone%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%3C%2FA%3E-b%20lf-6.12.34-2.1.0%3C%2FP%3E%0A%3CDIV%20class%3D%22lia-spoiler-container%22%3E%3CA%20class%3D%22lia-spoiler-link%22%20href%3D%22%23%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%E3%83%8D%E3%82%BF%E3%83%90%E3%83%AC%3C%2FA%3E%3CNOSCRIPT%3E%20%EF%BC%88%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88%E3%81%97%E3%81%A6%E8%AA%AD%E3%82%80%EF%BC%89%3C%2FNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-border%22%3E%3CDIV%20class%3D%22lia-spoiler-content%22%3E%0A%3CP%3E---%20a%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx93-9x9-qsb.dts%3CBR%20%2F%3E%2B%2B%2B%20b%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx93-9x9-qsb.dts%3C%2FP%3E%0A%3CP%3E%E3%83%9E%E3%83%83%E3%83%97%E3%81%AA%E3%81%97%3B%3CBR%20%2F%3E%20%7D%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%2B%20%E3%83%89%E3%83%A9%E3%83%A0%3A%20%E3%83%89%E3%83%A9%E3%83%A0%4020480000%20%7B%3CBR%20%2F%3E%20%2B%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%20%3D%20%26lt%3B0%200x8f000000%200%200x20000%26gt%3B%3B%3CBR%20%2F%3E%20%2B%20%E3%83%9E%E3%83%83%E3%83%97%E3%81%AA%E3%81%97%3B%3CBR%20%2F%3E%20%2B%20%7D%3B%3CBR%20%2F%3E%20%2B%3CBR%20%2F%3E%20rsc_table%3A%20rsc-table%402021e000%20%7B%3CBR%20%2F%3E%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%20%3D%20%26lt%3B0%200x2021e000%200%200x1000%26gt%3B%3B%3CBR%20%2F%3E%E3%83%9E%E3%83%83%E3%83%97%E3%81%AA%E3%81%97%3B%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E%26lt%3B%26amp%3Bmu1%201%201%26gt%3B%2C%3CBR%20%2F%3E%20%26lt%3B%26amp%3Bmu1%203%201%26gt%3B%3B%3CBR%20%2F%3E%20-%20%E3%83%A1%E3%83%A2%E3%83%AA%E9%A0%98%E5%9F%9F%20%3D%20%26lt%3B%26amp%3Bvdevbuffer%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring0%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring1%26gt%3B%2C%3CBR%20%2F%3E%20%2B%20%E3%83%A1%E3%83%A2%E3%83%AA%E9%A0%98%E5%9F%9F%20%3D%20%26lt%3B%26amp%3Bdram%26gt%3B%2C%20%26lt%3B%26amp%3Bvdevbuffer%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring0%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring1%26gt%3B%2C%3CBR%20%2F%3E%20%26lt%3B%26amp%3Bvdev1vring0%26gt%3B%E3%80%81%26lt%3B%26amp%3Bvdev1vring1%26gt%3B%E3%80%81%26lt%3B%26amp%3Brsc_table%26gt%3B%3B%3CBR%20%2F%3E%20fsl%E3%80%81%E8%B5%B7%E5%8B%95%E9%81%85%E5%BB%B6%E3%83%9F%E3%83%AA%E7%A7%92%20%3D%20%26lt%3B500%26gt%3B%3B%3CBR%20%2F%3E%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%20%3D%20%22%E6%AD%A3%E5%B8%B8%22%3B%3C%2FP%3E%0A%3C%2FDIV%3E%3CNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-noscript-container%22%3E%3CDIV%20class%3D%22lia-spoiler-noscript-content%22%3E%0A---%20a%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx93-9x9-qsb.dts%2B%2B%2Bb%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx93-9x9-qsb.dts%0A%E3%83%9E%E3%83%83%E3%83%97%E3%81%AA%E3%81%97%3B%7D%3B%2B%20dram%3A%20dram%4020480000%20%7B%2B%20reg%20%3D%20%26lt%3B0%200x8f000000%200%200x20000%26gt%3B%3B%2B%20%E3%83%9E%E3%83%83%E3%83%97%E3%81%AA%E3%81%97%3B%2B%20%7D%3B%2Brsc_table%3A%20rsc-table%402021e000%20%7Breg%20%3D%20%26lt%3B0%200x2021e000%200%200x1000%26gt%3B%3B%E3%83%9E%E3%83%83%E3%83%97%E3%81%AA%E3%81%97%3B%0A%20%26lt%3B%26amp%3Bmu1%201%201%26gt%3B%2C%26lt%3B%26amp%3Bmu1%203%201%26gt%3B%3B-%20%E3%83%A1%E3%83%A2%E3%83%AA%E9%A0%98%E5%9F%9F%20%3D%20%26lt%3B%26amp%3Bvdevbuffer%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring0%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring1%26gt%3B%2C%2B%20%E3%83%A1%E3%83%A2%E3%83%AA%E9%A0%98%E5%9F%9F%20%3D%20%26lt%3B%26amp%3Bdram%26gt%3B%2C%20%26lt%3B%26amp%3Bvdevbuffer%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring0%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev0vring1%26gt%3B%2C%26lt%3B%26amp%3Bvdev1vring0%26gt%3B%2C%20%26lt%3B%26amp%3Bvdev1vring1%26gt%3B%2C%20%26lt%3B%26amp%3Brsc_table%26gt%3B%3Bfsl%2Cstartup-delay-ms%20%3D%20%26lt%3B500%26gt%3B%3Bstatus%20%3D%20%22okay%22%3B%0A%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FNOSCRIPT%3E%3C%2FDIV%3E%3C%2FDIV%3E%0A%3CP%3E%24%20%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%20ARCH%3Darm64%3CBR%20%2F%3E%20%24%20%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%20CROSS_COMPILE%3D%2Fopt%2Farm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu%2Fbin%2Faarch64-none-linux-gnu-%3CBR%20%2F%3E%24%20imx_v8_defconfig%20%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%3CBR%20%2F%3E%24%20make%20freescale%2Fimx93-9x9-qsb.dtb%3C%2FP%3E%0A%3CP%3EQSB%20(0001)%20%E3%81%AE%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%20%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E7%94%A8%E3%81%AB%20SW%20%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%80%81%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E9%9B%BB%E6%BA%90%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%20QSB%20%E3%82%92%E3%82%AA%E3%83%B3%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%81%A7%E3%81%AF%E3%80%81%E3%83%87%E3%83%A2%20%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E3%83%95%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%80%81Linux%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%20%E3%83%84%E3%83%AA%E3%83%BC%E3%80%81flash.bin%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%20M33%20%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%20QSB%20%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AB%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%24%20uuu%20-b%20sd_all%20flash.bin%20imx-image-full-imx93evk.wic%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%82%89%E3%80%81SW%E3%82%92%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AE%E3%83%96%E3%83%BC%E3%83%88%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20SD%E3%83%96%E3%83%BC%E3%83%88%EF%BC%880011%EF%BC%89%E3%81%A7%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%80%81uboot%E3%81%A7%E5%81%9C%E6%AD%A2%E3%81%97%E3%81%A6%E3%80%81%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%9F%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%84%E3%83%AA%E3%83%BC%E3%81%A8M33%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AEfastboot%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E5%85%A5%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%26gt%3B%20%E3%83%95%E3%82%A1%E3%82%B9%E3%83%88%E3%83%96%E3%83%BC%E3%83%881%3C%2FP%3E%0A%3CP%3E%E3%81%9D%E3%81%AE%E5%BE%8C%E3%80%81%E3%83%9B%E3%82%B9%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%A7UUU%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%95%E3%82%A1%E3%83%83%E3%83%88%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%24%20uuu%20-b%20fat_write%20imx93-9x9-qsb.dtb%20mmc%201%3A1%3CBR%20%2F%3E%20%24%20uuu%20-b%20fat_write%20hello_world.elf%20mmc%201%3A1%3C%2FP%3E%0A%3CP%3E%E3%83%84%E3%83%BC%E3%83%AB%E3%81%8C%E7%B5%82%E4%BA%86%E3%81%97%E3%81%9F%E3%82%89%E3%80%81CTRL%2BC%E3%81%A8%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6Fastboot%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E5%81%9C%E6%AD%A2%E3%81%97%E3%80%81Linux%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%26gt%3B%20%E3%83%96%E3%83%BC%E3%83%88%3C%2FP%3E%0A%3CP%3E%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%80%8Croot%E3%80%8D%E3%81%A7%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%97%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6M33%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%24%20%E3%83%AB%E3%83%BC%E3%83%88%3CBR%20%2F%3E%24%20modprobe%20imx_rpmsg_tty%3CBR%20%2F%3E%20%24%20cp%20%2Frun%2Fmedia%2Fboot-mmcblk1p1%2Fhello_world.elf%20%2Flib%2Ffirmware%2F%3CBR%20%2F%3E%20%24%20echo%20hello_world.elf%20%26gt%3B%20%2Fsys%2Fclass%2Fremoteproc%2Fremoteproc0%2Ffirmware%3CBR%20%2F%3E%20%24%20echo%20start%20%26gt%3B%2Fsys%2Fclass%2Fremoteproc%2Fremoteproc0%2Fstate%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22M33_DDR.png%22%20style%3D%22width%3A%20633px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22M33_DDR.png%22%20style%3D%22width%3A%20633px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F369449i1B28CC56842A316B%2Fimage-dimensions%2F633x163%3Fv%3Dv2%22%20width%3D%22633%22%20height%3D%22163%22%20role%3D%22button%22%20title%3D%22M33_DDR.png%22%20alt%3D%22M33_DDR.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CP%3E%3CBR%20%2F%3E%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81M33%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%8CDDR%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22hello_world.png%22%20style%3D%22width%3A%20630px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22hello_world.png%22%20style%3D%22width%3A%20630px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F369450i3B8479D80BC168B5%2Fimage-dimensions%2F630x132%3Fv%3Dv2%22%20width%3D%22630%22%20height%3D%22132%22%20role%3D%22button%22%20title%3D%22hello_world.png%22%20alt%3D%22hello_world.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CP%3E%3CBR%20%2F%3E%E7%9A%86%E6%A7%98%E3%81%AB%E3%81%A8%E3%81%A3%E3%81%A6%E3%81%93%E3%82%8C%E3%81%8C%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A4%E3%81%93%E3%81%A8%E3%82%92%E9%A1%98%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99!%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E3%81%94%E8%B3%AA%E5%95%8F%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%20%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E7%A7%81%E3%81%AB%E3%82%BF%E3%82%B0%E3%82%92%E4%BB%98%E3%81%91%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3ESaludos%2FRegards%2C%3CBR%20%2F%3EAldo.%3C%2FP%3E%0A%3C%2FLINGO-BODY%3E
100%が役に立ったと言っています (1/1)
バージョン履歴
最終更新日:
‎12-10-2025 11:50 PM
更新者: