cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP257F M33 flavor : unable to debug and compil StarterApp to run only in internal RAM

Aurelien1
Associate III

Hi everybody,

For a project, we need to start the STM32MP257F in the M33 flavor, in order to perform some basic functions (GPIO, I2C, UART) in the lowest power mode possible (DDR unpowered, A35 in low power mode — i.e., no remoteproc nor Linux). The goal is to compare MP257 capabilities compared to IMX8 (goal line end of this month)

I use Yocto/bitbake to compile for our custom board.

Following the StarterApp_M33TD_CM33 example, I've encountered the following difficulties:

1) How can I debug the BL2 part?

From the post STM32MP257 programming via JTAG - STMicroelectronics Community , I see that JTAG can be used to debug the STM32MP257 using CubeIDE.

2) How can this be done?


I tried to modify the *.ld file used by StarterApp_M33TD_CM33 to place the code in internal RAM instead of DDR, but it doesn't work. On the UART console I see BL2 logs, but nothing from this app, and since I can't debug, I don't know what's happening.
3) How do I modify the project/Device Tree or other elements to execute this code only in internal RAM?
4) I need to check if the STM32MP257F can be put into a mode with power consumption below 200mW. Is this realistic?

5) Is it possible to modify the clock and PMIC configuration in BL2 mode in order to achieve a low power mode? If yes, where should this be done?

Can someone helps me @Gregory PLANCHON@Olivier GALLIEN , @Christophe Guibout@PatrickF   ,  someone else ?

Thanks for your help

2 REPLIES 2
Kevin HUBER
ST Employee

Hello @Aurelien1 ,

 

I won't be able to reply to all your questions by myself, but I can help you with the first one.


@Aurelien1 wrote:

1) How can I debug the BL2 part?


I assume you are doing the investigation on one of ST board, surely the STM32MP257F-EV1 board.

I don't know if you read this wiki page, but it was created to explain how to debug the BL2, Trusted-firmware-m and the Non secure App:
How_to_import,_build_and_debug_STM32CubeMP2_StarterAppM33TD_demonstration_in_STM32CubeIDE#Debug_bl2 

In this page, we explain how to configure and use the StarterApp_M33TD Demonstration, so the same one that you are trying to use.

The page was created with the previous version of the tools, so there is maybe some little adaptation to do if you are using CubeMX 6.17.0 and CubeIDE 2.1.1 (the latest versions), but the content is still relevant.

 

For the debug, we explain how to use the ST-LINK integrated to the STM32MP257F-EV1 board.
I do not have any example with JTAG to provide, but regarding your request, I think using the integrated ST-LINK should be enough to test the power scenario.

 

 


@Aurelien1 wrote:

2) How can this be done?


I tried to modify the *.ld file used by StarterApp_M33TD_CM33 to place the code in internal RAM instead of DDR, but it doesn't work. On the UART console I see BL2 logs, but nothing from this app, and since I can't debug, I don't know what's happening.

 


Never tried on my side for the M33-TD project, I will ask.

BR,
Kevin

 

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.
NEW ! Sidekick STM32 AI agent, see here

Hi,

To provide more context, we use a custom board. I have access to UART debug (through FTDI), and JTAG/SWDIO can be connected through an ST-Link V3 Mini. Does ST-Link OpenOCD connect via UART or SWDIO?

I am using the project included in Yocto. Is there a difference?

I will retry with a fresh installation.

 

Can someone explain me how to use CubeMX to modify memory mapping (M33 code exclusively run in internal RAM) and mapped it to the project in StarterApp_M33TD compiled with CubeIDE ?