Hello people, I am new to Heterogeneous Multicore Processing. I'm using an i.MX-7D processor with pre-compiled Ubuntu OS by the vendor.
I wish to access the SPI and I2C ports via Cortex M4 core and send messages between cores using RPMsg. I looked a bit at device tree, but not sure how to access hardware ports via Cortex M4 core.
These are my questions:
1) How to enable SPI and I2C for use via cortex M4 core and disable it in the Cortex A7 core?
2) How do I compile uboot and/or device tree files for use with precompiled Ubuntu OS?
3) Is there any resource to understand how to send and receive data using OS on the Cortex A7 core?
1. See imx7d-sdb-m4.dtsi for disabling peripherals assigned to the M4 core.
2. Compiling uboot/dts files will be board dependent so refer to your vendor documentation. This link gives a rough guide to what is involved.
3. FreeRTOS BSP 1.0.1 (see FreeRTOS section) contains documentation on RPMSG and sample application for communications. You need to ensure the kernel module is loaded for the demo to run on linux side.
This link can also prove useful.
Thank you Jas for the quick reply.
1) In the first question, I wish to disable SPI and I2C accessible by A7 core. In the link imx7d-sdb-m4.dtsi , the adc and uart are visible, but I am unable to figure out what could be the naming convention for SPI and UART. Can I get some help with this part?