In my latest run, I remove the RPMsg kernel module import from my tsbuild.yaml file, and now it looks like this:
# >> NOTES:
# >> Lines containing ">>" are simply comments explaining the properties that
# >> follow; if you don't like these comments run:
# >> $ grep -v '>>' tcbuild.yaml > tcbuild-clean.yaml
# >> A line not containing ">>" can be uncommented (by removing the hash mark
# >> plus a space from its beginning); also set the corresponding property to
# >> appropriate values.
# >> When uncommenting a line having a property, remember to uncomment all its
# >> parent properties as well; for example: if you uncomment the
# >> 'splash-screen' property, also uncomment its parent property called
# >> 'customization'.
# >> The input section specifies the image to be taken as the base for the
# >> customization.
input:
easy-installer:
# >> Choose one of the options (REQUIRED):
# >> (1) Image as local folder or tarball.
local: torizon-core-docker-verdin-imx8mp-Tezi_6.6.1+build.14.tar
# >> (2) Remote file (optionally with a filename and or a sha256 checksum):
# remote: "https://artifacts.toradex.com/.../torizon-core-docker-apalis-imx8-Tezi_5.1.0%2Bbuild.1.tar"
# remote: "https://artifacts.toradex.com/.../torizon-core-docker-colibri-imx6-Tezi_5.0.0-devel-202009%2Bbuild.2.tar;filename=torizon-core-docker-colibri-imx6-Tezi_5.0.0-devel-202009+build.2.tar;sha256sum=368595fa3fb00af9604e70311de3b04df6b30b280deec2f8918c46f479026ddb"
# >> (3) Image specification (URL will be generated by the tool)
# toradex-feed:
# version: "5.1.0"
# release: quarterly
# machine: colibri-imx7-emmc
# distro: torizon-upstream
# variant: torizon-core-docker
# build-number: "1"
# # build-date: "20210408"
# >> The customization section defines the modifications to be applied to get
# >> the desired output image.
customization:
# >> Splash screen:
# splash-screen: custom-splash-screen.png
# >> Directories overlayed to the base OSTree
# filesystem:
# - changes/
device-tree:
# >> Directories where to look for include files.
include-dirs:
- device-tree-overlays/include
- linux-toradex/include
# >> Custom device tree source:
#custom: linux-toradex/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts
# >> Device-tree overlays configuration:
overlays:
add:
- device-tree-overlays/overlays/verdin-imx8mp_hmp_overlay.dts
- device-tree-overlays/overlays/verdin-imx8-setup.dts
# >> Whether to ignore all overlays from the base image (or ostree
# >> archive in the future).
# clear: false
# >> Specific overlays not to use from base image (useful only when
# >> clear is false and not DT has been selected).
# remove:
# - apalis-imx8_hdmi_overlay.dtbo
# >> Overlays to add to output image.
# add:
# kernel:
# >> Custom kernel arguments.
# arguments:
# - key1=val1
# - key2=val2
# >> Modules to build and possibly load automatically.
# modules:
# - source-dir: virtual_touchscreen/
# autoload: false
# >> The output section defines properties of the output image.
output:
# >> OSTree deployment configuration (relevant also for Easy Installer output).
# ostree:
# branch: my-dev-branch
# commit-subject: "OSTree commit subject"
# commit-body: "OSTree commit body"
# >> Parameters for deploying to an Easy Installer image.
easy-installer:
# >> Output directory of the customized image (REQUIRED):
local: output_directory
# >> Information used by Toradex Easy Installer:
# name: "My customized image"
# description: "My customized image (description)"
# licence: files/custom-licence.html
# release-notes: files/custom-release-notes.html
# accept-licence: true
# autoinstall: true
# autoreboot: true
# bundle:
# >> Choose one of the options:
# >> (1) Specify a docker-compose file whose referenced images will be downloaded.
# >> Properties platform, username, password and registry are optional.
# compose-file: files/docker-compose.yml
# platform: linux/arm/v7
# username: "${USERNAME}"
# password: "${PASSWORD}"
# registry: hub.docker.com
# >> (2) Specify a local directory containing the bundled images (previously
# >> obtained by 'torizoncore-builder bundle' command).
# dir: bundle/
# >> Provisioning configuration:
# provisioning:
# >> For "online" mode, properties "shared-data" and "online-data" must be specified.
# >> For "offline" mode, property "shared-data" must be specified alone.
# mode: "online"
# shared-data: "shared-data.tar.gz"
# online-data: "${ONLINE_PROVISIONING_DATA:?online provisioning data not supplied}"
I’ve gone into the bootloader and started the Ping-Pong demo on the M core:
I’m trying to debug why the RPMsg “Link is up” message is not appearing on the M core side as outlined on line 120 of: ~/cortex-m/boards/evkmimx8mp/multicore_examples/rpmsg_lite_pingpong_rtos/linux_remote/main_remote.c
And made sure that the RPMsg memory addresses for vdev0vring0, vdev0vring1, rsc_table, vdevbuffer were all based off the 0x55000000U as defined in ~sdk/multicore_examples/rpmsg_lite_str_echo_rtos/board.h:
/* Shared memory base for RPMsg communication. */
#define VDEV0_VRING_BASE (0x55000000U)
#define RESOURCE_TABLE_OFFSET (0xFF000)
And I’m still unable to establish the RPMsg link. On the A core side I only see the following:
I found a variable name error in our “How to Load Compiled Binaries into Cortex-M”
For the Application Start, you want to run the newly created cm_boot . Not the "run m4boot" . This change was made because m4boot was a little unclear when working with a Cortex M7. I put in a change request for the website to reflect the correction.
Aside from this change, following the instructions works as expected.