cancel
Showing results for 
Search instead for 
Did you mean: 

Peripherals and coprocessor

Vthul
Associate II

Hi ,

I am working with STM32MPU DK2 and Distribution package and have some of basic queries.

  1. How do i know which peripheral is connected to which Processor ? where can i get to know about this ?

1.1how do i know which device tree .dts is used ?

1.2 if i execute a new project from cubeMX it generates project skeleton and a .dts file, shoud i have to rebuild linux with this .dts?

1.3 On runtime, can i get to know if a particular peripheral is assigned a particular processor?

2. I have obtained the terminal of the board using Minicom and i m able to execute the programs on Linux A7 and M4 using the below links...

But how can i crossverify if M4 is what is being executed or other?

3. Where can i find the source code for AI demo from the Linux environment? or any demo that contains source files of both the processors application?

Background: Trying to establish a communication between A7 and M4 using RPMsg mechanism.

Thanks in Advance

Vivek

2 REPLIES 2
Olivier GALLIEN
ST Employee

Hi @Vthul​ 

  1. How do i know which peripheral is connected to which Processor ? where can i get to know about this ?

Did you browse the wiki user guide ?

https://wiki.st.com/stm32mpu/wiki/Resource_manager_for_coprocessing

https://wiki.st.com/stm32mpu/wiki/How_to_assign_an_internal_peripheral_to_a_runtime_context#Manual_assignment

In CubeMX, Pinout&Configuration pane you have option "show context" accessible from the parameter wheel on top of peripheral list.

1.1how do i know which device tree .dts is used ?

on target look at /boot/extlinux/extlinux.conf file to see dts mapping with start menu selection.

1.2 if i execute a new project from cubeMX it generates project skeleton and a .dts file, shoud i have to rebuild linux with this .dts?

Yes you have to rebuild the dts generated by CubeMX.

See

https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Distribution_Package

or

https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package

1.3 On runtime, can i get to know if a particular peripheral is assigned a particular processor?

Check for IP status in cat /proc/device-tree/soc/ (CA7) and cat /proc/device-tree/m4@0/m4_system_resources/ ( CM4)

eg for a timer assigned on CM4 :

 root@stm32mp1:cat /proc/device-tree/soc/timer@40000000/timer\@1/status

disabled

root@stm32mp1:cat /proc/device-tree/m4@0/m4_system_resources/timer@40000000/status

okay

2. I have obtained the terminal of the board using Minicom and i m able to execute the programs on Linux A7 and M4 using the below links...

But how can i crossverify if M4 is what is being executed or other?

see https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overview

3. Where can i find the source code for AI demo from the Linux environment? or any demo that contains source files of both the processors application?

Background: Trying to establish a communication between A7 and M4 using RPMsg mechanism.

To start experiment communication between A7 and M4 using RPMsg mechanism I suggest you start by looking at the exemple OpenAMP_TTY_Echo provided in STM32MP1 Cube Package

see https://wiki.st.com/stm32mpu/wiki/STM32CubeMP1_Package

Hope it help

BR,

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Vthul
Associate II

Hi Oliver,

Thanks a lot for the detailed answer.

Will check and update.

Viveknath