rpmsg_lite_pingpong_rtos_remote_core#
Overview#
The Multicore RPMsg-Lite pingpong RTOS project is a simple demonstration program that uses the MCUXpresso SDK software, the RPMsg-Lite library and Linux rpmsg driver and shows how to implement the inter-core communication between cores of the multicore system. The Master core run on Linux OS(MPU), and the remote core run on MCU(MCU). After soc reset and Linux boot up, the inter-core communication is established. Once the RPMsg is initialized and endpoints are created the message exchange starts, incrementing a virtual counter that is part of the message payload. The message pingpong finishes when the counter reaches the value of 100. Then the RPMsg-Lite is deinitialized and the procedure of the data exchange is repeated again.
Supported Boards#
EVK-MCIMX7ULP
Hardware requirements
Micro USB cable
MCIMX7ULP-EVK board
J-Link Debug Probe
5V power supply
Personal Computer
Board settings
The Multicore RPMsg-Lite pingpong RTOS project does not call for any special hardware configurations. Although not required, the recommendation is to leave the development board jumper settings and configurations in default state when running this demo.
Prepare the Demo
Generate i.MX7ULP image file with imgutil and write to QSPI flash with U-Boot. For details, please refer to Getting Started with SDK v.2.0 for i.MX 7ULP Derivatives (Doc No: SDK20IMX7ULPGSUG)
Connect a micro USB cable between the host PC and the J6 USB port on the target board.
Open a serial terminal for A7 core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Open both serial lines provided at J6 USB port. (e.g. /dev/ttyUSB0 and /dev/ttyUSB1 on Linux or COM5 and COM6 on Windows)
Flash the image for Cortex-M4 to QSPI using u-boot.
Boot Linux
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M4 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
Link is up!
Nameservice announce sent.
Waiting for ping...
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M4 terminal displays the following information:
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK9-MIMX8ULP
Hardware requirements
Micro USB cable
MIMX8ULP-EVK/EVK9 Board
J-Link Debug Probe
5V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board
Connect a USB cable between the host PC and the J17 USB port on the target board.
Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Flash flash.bin to emmc/flexspi0 nor flash using u-boot/UUU/JLink.(Don’t use IAR/GDB to download m33 binary to SSRAM to test it)
Repower on board to boot system
Login to linux
Change log level of linux with below command:
echo ‘7 4 1 7’ > /proc/sys/kernel/printk
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong). Running the demo
=============== After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
IMX952LPD5EVK-19
Hardware requirements
Micro USB cable
IMX952-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J31 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board
Make flash.bin and burn it to imx95(refer to Getting_Started_with_MCUXpresso_SDK_for_IMX952LPD5EVK_review.pdf)
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK-MIMX8MM
Hardware requirements
Micro USB cable
MIMX8MM6-EVK board
J-Link Debug Probe
12V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW101 to power on the board
Connect a USB cable between the host PC and the J901 USB port on the target board.
Open two serial terminals for A53 core and M4 core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Using U-Boot command to run the demo.bin file. For details, please refer to Getting Started with MCUXpresso SDK for i.MX 8M Mini.pdf
After running the demo.bin, using the “boot” command to boot the kernel on the A core terminal;
After the kernel is boot, using “root” to login.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong). Running the demo
=============== After the boot process succeeds, the ARM Cortex-M4 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M4 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M4 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK-MIMX8MN
Hardware requirements
Micro USB cable
MIMX8MN6-EVK board
J-Link Debug Probe
12V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW101 to power on the board
Connect a USB cable between the host PC and the J901 USB port on the target board.
Open two serial terminals for A53 core and M7 core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Using U-Boot command to run the demo.bin file. For details, please refer to Getting Started with MCUXpresso SDK for i.MX 8M Nano.pdf
After running the demo.bin, using the “boot” command to boot the kernel on the A core terminal;
After the kernel is boot, using “root” to login.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong). Running the demo
=============== After the boot process succeeds, the ARM Cortex-M7 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M7 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M7 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK-MIMX8MNDDR3L
Hardware requirements
Micro USB cable
MIMX8MN6-EVK board
J-Link Debug Probe
12V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW101 to power on the board
Connect a USB cable between the host PC and the J901 USB port on the target board.
Open two serial terminals for A53 core and M7 core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Using U-Boot command to run the demo.bin file. For details, please refer to Getting Started with MCUXpresso SDK for i.MX 8M Nano.pdf
After running the demo.bin, using the “boot” command to boot the kernel on the A core terminal;
After the kernel is boot, using “root” to login.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong). Running the demo
=============== After the boot process succeeds, the ARM Cortex-M7 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M7 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M7 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK-MIMX8MP
Hardware requirements
Micro USB cable
EVK-MIMX8M Plus board
J-Link Debug Probe
12V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW3 to power on the board
Connect a USB cable between the host PC and the J23 USB port on the target board.
Open two serial terminals for A53 core and M7 core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Using U-Boot command to run the demo.bin file. For details, please refer to Getting Started with MCUXpresso SDK for EVK-MIMX8MP.pdf
After running the demo.bin, using the “boot” command to boot the kernel on the A core terminal;
After the kernel is boot, using “root” to login.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong). Running the demo
=============== After the boot process succeeds, the ARM Cortex-M7 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M7 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M7 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK-MIMX8MQ
Hardware requirements
Micro USB cable
MIMX8MQ6-EVK board
J-Link Debug Probe
12V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW701 to power on the board
Connect a USB cable between the host PC and the J1701 USB port on the target board.
Open two serial terminals for A53 core and M4 core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Using U-Boot command to run the demo.bin file. For details, please refer to Getting Started with MCUXpresso SDK i.MX 8M Quad.pdf
After running the demo.bin, using the “boot” command to boot the kernel on the A core terminal;
After the kernel is boot, using “root” to login.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
=============== After the boot process succeeds, the ARM Cortex-M4 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M4 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M4 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
EVK-MIMX8ULP
Hardware requirements
Micro USB cable
MIMX8ULP-EVK/EVK9 Board
J-Link Debug Probe
5V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board
Connect a USB cable between the host PC and the J17 USB port on the target board.
Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Flash flash.bin to emmc/flexspi0 nor flash using u-boot/UUU/JLink.(Don’t use IAR/GDB to download m33 binary to SSRAM to test it)
Repower on board to boot system
Login to linux
Change log level of linux with below command:
echo ‘7 4 1 7’ > /proc/sys/kernel/printk
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong). Running the demo
=============== After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
IMX95LPD5EVK-19
Hardware requirements
Micro USB cable
IMX95LPD5-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J31 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board
Make flash.bin and burn it to imx95(refer to Getting_Started_with_MCUXpresso_SDK_for_IMX95LPD5EVK_review.pdf)
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M7 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M7 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M7 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
FRDM-IMX95
Hardware requirements
Micro USB cable
FRDM-IMX95 Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J31 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board
Make flash.bin and burn it to imx95(refer to Getting_Started_with_MCUXpresso_SDK_for_IMX95LPD5EVK_review.pdf)
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M7 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M7 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M7 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
FRDM-IMX952
Hardware requirements
Micro USB cable
IMX952-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J31 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board
Make flash.bin and burn it to imx95(refer to Getting_Started_with_MCUXpresso_SDK_for_IMX952LPD5EVK_review.pdf)
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
FRDM-IMX937
Hardware requirements
Micro USB cable
FRDM-IMX937 Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J31 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board
Make flash.bin and burn it to imx95(refer to Getting_Started_with_MCUXpresso_SDK_for_IMX937LPD5EVK_review.pdf)
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M7 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M7 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M7 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
MCIMX93AUTO-EVK
Hardware requirements
USB Type-C cable
MCIMX93AUTO-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J26 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW2 to power on the board
Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card before.) => load mmc 1:1 0x80000000 /rpmsg_lite_pingpong_rtos_linux_remote.bin => cp.b 0x80000000 0x201e0000 0x20000 => bootaux 0x1ffe0000 0
Append “clk_ignore_unused” in u-boot “mmcargs” env, before booting linux.
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
MCIMX93-EVK
Hardware requirements
USB Type-C cable
MCIMX93-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J1401 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board
Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card before.) => load mmc 1:1 0x80000000 /rpmsg_lite_pingpong_rtos_linux_remote.bin => cp.b 0x80000000 0x201e0000 0x20000 => bootaux 0x1ffe0000 0
Append “clk_ignore_unused” in u-boot “mmcargs” env, before booting linux.
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
MCIMX93W-EVK
Hardware requirements
USB Type-C cable
MCIMX93W-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J1401 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board
Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card before.) => load mmc 1:1 0x80000000 /rpmsg_lite_pingpong_rtos_linux_remote.bin => cp.b 0x80000000 0x201e0000 0x20000 => bootaux 0x1ffe0000 0
Append “clk_ignore_unused” in u-boot “mmcargs” env, before booting linux.
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
MCIMX93-QSB
Hardware requirements
USB Type-C cable
MCIMX93-QSB Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J1401 USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board
Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card before.) => load mmc 1:1 0x80000000 /rpmsg_lite_pingpong_rtos_linux_remote.bin => cp.b 0x80000000 0x201e0000 0x20000 => bootaux 0x1ffe0000 0
Append “clk_ignore_unused” in u-boot “mmcargs” env, before booting linux.
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
IMX943-ORANGEBOX
Hardware requirements
Micro USB cable
IMX943-ORANGEBOX Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J15(FTDI_DEBUG) USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW1(SYS_PWR) to power on the board
Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card before.) => load mmc 1:1 0x80000000 /rpmsg_lite_pingpong_rtos_linux_remote.bin => cp.b 0x80000000 0x201e0000 0x10000 => bootaux 0x201e0000 0
Append “clk_ignore_unused” in u-boot “mmcargs” env, before booting linux.
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)
Customization options
IMX943-EVK
Hardware requirements
Micro USB cable
IMX943-EVK Board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the host PC and the J15(FTDI_DEBUG) USB port on the target board. Open two serial terminals for A Core and M Core with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control (e.g. /dev/ttyUSB0~3, /dev/ttyUSB2 for A Core, /dev/ttyUSB3 for M Core)
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW1(SYS_PWR) to power on the board
Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card before.) => load mmc 1:1 0x80000000 /rpmsg_lite_pingpong_rtos_linux_remote.bin => cp.b 0x80000000 0x201e0000 0x10000 => bootaux 0x201e0000 0
Append “clk_ignore_unused” in u-boot “mmcargs” env, before booting linux.
Boot to linux. Run “echo ‘7 4 1 7’ > /proc/sys/kernel/printk” to change the message level.
After login, make sure imx_rpmsg_pingpong kernel module is inserted (lsmod) or insert it (modprobe imx_rpmsg_pingpong).
Running the demo
After the boot process succeeds, the ARM Cortex-M33 terminal displays the following information:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
During boot the Kernel,the ARM Cortex-M33 terminal displays the following information:
Link is up!
Nameservice announce sent.
After the Linux RPMsg pingpong module was installed, the ARM Cortex-M33 terminal displays the following information:
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
Waiting for ping...
Sending pong...
......
Waiting for ping...
Sending pong...
Ping pong done, deinitializing...
Looping forever...
The Cortex-A terminal displays the following information:
get 1 (src: 0x1e)
get 3 (src: 0x1e)
......
get 99 (src: 0x1e)
get 101 (src: 0x1e)