cancel
Showing results for 
Search instead for 
Did you mean: 

[STM32MP257F-DK] Need some help understanding workflow and managing processors

my_name_is_john
Associate

Hi!

I am working on the STM32MP257F-DK board for a robotics project. For this, I want to map some of the GPIO to M33 in order to control the motors while the Linux of the A35 will run the ROS software. From what I understood is follows:

  • I need to customise the device tree to give the permissions of the GPIO to M33 (I initially tried directly flashing with a STM32CubeIDE project and the mpu got reset)
  • I need OpenAMP to communicate between the processors (A35 needs to send calculated moves to M33)

How to achieve it I am not sure and I am unable to do it. I went through the STM resources but I am finding it quite confusing.

I have installed the Developer-Package, Distribution-Package and Starter-Package as given in following documents:

https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP2_boards/STM32MP257x-EV1/Develop_on_Arm%C2%AE_Cortex%C2%AE-A35/Install_the_SDK https://wiki.st.com/stm32mpu/wiki/STM32MPU_Distribution_Package#Installing_the_OpenSTLinux_distribution https://wiki.st.com/stm32mpu/wiki/Example_of_directory_structure_for_Packages

I successfully used OpenAMP with the default starter image and managed to send messages, but that ELF is not working on the image I compiled using BitBake. Also, even tough I installed these software correctly, I am not able to use "Setup OpenSTLinux". It does nothing when I press it. The Preferences/STM32Cube/OpenSTLinux SDK Manager does detect the version though. (My PC: Ubuntu 24.04 LTS and CubeIDE Version: 2.0.0).

My working directory tree output:

STM32MPU-Ecosystem-v6.2.0/
├── Developer-Package
│   ├── SDK
│   ├── STM32Cube_FW_MP2_V1.1.0
│   ├── STM32Cube_FW_MP2_V1.3.0
│   ├── stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18
│   └── stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18
├── Distribution-Package
│   ├── build-openstlinuxweston-stm32mp2
│   └── layers
└── Starter-Package
    └── stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18

I managed to compile the default image by instructions using the distribution package, but I am unsure how can I modify the device tree there.

My questions are now:

  1. The way how I am planning to distribute task is correct (bare metal pwm controller and ROS)?
  2. Which toolchain I should use?
    • CubeMX + CubeIDE with Developer packege OR
    • Distribution package
  3. What are good learning resource? A video tutorial would be of great help

Just for little background, I am quite new to this mpu system and I don't have prior experience with yocto. I have experience with microcontroller programming and desktop linux tough.

Thanks in advance!

1 REPLY 1
Olivier GALLIEN
ST Employee

Hi @my_name_is_john 

Can you please share logs you can get when you test your ELF generated with Bitbake ? 

Thanks

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.