VAR-SOM-MX7 FreeRTOS for M4 PingPong demo

From Variscite Wiki
Revision as of 16:39, 26 June 2017 by Admin (talk | contribs) (Created page with "=A real case: RPMsg Ping-Pong FreeRTOS demo= Build the demo cd ~/var-som-mx7_m4-freertos/freertos-variscite/examples/var-som-mx7_m4 cd demo_apps/rpmsg/pingpong_freertos c...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A real case: RPMsg Ping-Pong FreeRTOS demo

Build the demo

cd ~/var-som-mx7_m4-freertos/freertos-variscite/examples/var-som-mx7_m4
cd demo_apps/rpmsg/pingpong_freertos
cd armgcc
export ARMGCC_DIR=~/var-som-mx7_m4-freertos/gcc-arm-none-eabi-5_4-2016q3
./build_all.sh > /dev/null

Copy the demo binary to FAT32 partition of boot SD card

cp release/rpmsg_pingpong_freertos_example.bin cp /media/BOOT

Gracefully eject the SD card from host machine, plug it in the EVK.

Connect UART2 using pins J5.5 (RX) and J5.7 (TX) as 115200 8N1 for Cortex-M4 debug UART.

Power on on the board and stop the boot process pressing "Enter" key.

Setup and save uboot environment:

setenv use_m4 yes
setenv fdtfile undefined
setenv m4bootdata 0x007F8000
setenv m4image rpmsg_pingpong_freertos_example.bin
saveenv

Start Cortex-M4 demo

run m4boot

After the boot process succeeds, the Cortex-M4 terminal displays the following information:

RPMSG PingPong FreeRTOS RTOS API Demo...
RPMSG Init as Remote

Start Cortex-A7 core

run bootcmd

Then login and load the pingpong module:

modprobe imx_rpmsg_pingpong

After the Linux ping-pong master side module is installed, the Cortex-M4 terminal displays something like:

Name service handshake is done, M4 has setup a rpmsg channel [1 ---> 1024]
Get Data From Master Side: 0
Get Data From Master Side: 11
Get Data From Master Side: 22
Get Data From Master Side: 33
Get Data From Master Side: 44
......