VAR-SOM-MX7 FreeRTOS for M4: RPMsg PingPong demo¶
Prerequisites¶
Before you begin, ensure to read Complete Developers Guide and follow sections 2,3 and 4.
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 the BOOT (FAT32) partition of the bootable SD card:
Gracefully eject the SD card from your host machine, and plug it in the EVK.
Connect UART2 using pins J5.5 (RX) and J5.7 (TX) and configure the connection on your host PC as 115200 8N1 for the Cortex-M4 debug UART.
Connect a micro-USB cable to the DEBUG port and configure the connection on your host PC as 115200 8N1 for the regular (Cortex-A7) debug UART.
Power on the board and hit any key on the Cortex-A7 terminal to stop autoboot and get to the U-Boot command line.
Setup and save the U-Boot environment:
setenv use_m4 yes
setenv fdtfile undefined
setenv m4bootdata 0x007F8000
setenv m4image rpmsg_pingpong_freertos_example.bin
saveenv
Start Cortex-M4 demo¶
After the boot process succeeds, the Cortex-M4 terminal displays the following information:
Start Cortex-A7 core
Then login from Yocto console and load the pingpong module:
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
...
A video of the demo starting on our target is available here:
|
Ping-Pong demo app with Cortex-A7 |