Skip to main content
Visitor 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

    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

    VthulAuthor
    Visitor II
    February 11, 2020

    Hi Oliver,

    Thanks a lot for the detailed answer.

    Will check and update.

    Viveknath