iMX7D M4 core access and communication

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX7D M4 core access and communication

1,458 Views
vishalpp
Contributor I

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?

Labels (2)
0 Kudos
4 Replies

952 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vishal

also may be useful to check sect.51.5 Running i.MX RPMsg Test Programs

attached Linux Manual.

Best regards
igor

0 Kudos

952 Views
mtx512
Contributor V

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.

952 Views
vishalpp
Contributor I

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?

0 Kudos

952 Views
mtx512
Contributor V

For SPI the names are like "&ecspi3", UART its "&uart1" and I2C its "&i2c1". You need to disable the correct instances for your board.

 

 

0 Kudos