Skip to main content
Vthul
Associate II
February 11, 2020
Question

Peripherals and coprocessor

  • February 11, 2020
  • 2 replies
  • 932 views

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

This topic has been closed for replies.

2 replies

Olivier GALLIEN
Technical Moderator
February 11, 2020

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
VthulAuthor
Associate II
February 11, 2020

Hi Oliver,

Thanks a lot for the detailed answer.

Will check and update.

Viveknath