cancel
Showing results for 
Search instead for 
Did you mean: 

How to retartget MCU in STM32CubeIDE (from STM32L433RCT6P to STM32L433RCT6)

freeflyer
Senior

I have developed software in STM32CubeIDE using the NUCLEO-L433RC-P dev board.

This board uses the STM32L433RCT6P (which has an external SMPS for VDD12 pins) but the PCB I am designing uses the STM32L433RCT6 (without external SMPS).

When my PCB arrives, I will need to retarget the MCU in STM32CubeIDE from the STM32L433RCT6P to the STM32L433RCT6, but I cannot see how to do this.

I tried to create a new project (including the .ioc file) using STM32CubeMX and copy files accross, but got into a mess and could not get it to work.

Ideally I would like to be able to easily switch between both MCUs, so that I can continue to develop the software on the NUCLEO-L433RC-P until my PCB arrives.

How do I retarget my software to the STM32L433RCT6 ?

10 REPLIES 10
MM..1
Chief III

Official create new project and import ioc into it. (imported is pinout and setings)

Unofficial ioc is text file open in editor (PSPAD NOTEPAD) and change ID , use one from official ioc ...

Thanks, I did try that but with no sucess

I generated a new project in STM32CubeMX for the STM32L433RCT6, then copied the .ioc file into my existing STM32CubeIDE project (for the STM32L433RCT6P)

But when I open the .ioc in STM32CubeIDE, it still shows the VDD12 pins (which are only used on the STM32L433RCT6P)

freeflyer_0-1752000921270.png

 

freeflyer
Senior

I restated STM32CubeIDE and this time it worked, although I've obviously lost all my periperhal and IO settings etc

So I edited the original .ioc file and did a find for STM32L433RCTxP and replace with STM32L433RCTx 

This appears to have worked, but in the folder there is a (linker?) file which has the 'P' designation called "STM32L433RCTXP_FLASH.ld" i.e. has the P suffix

Will this be ok or do I need .id file without the P suffix ?

 

Can I flash this build using STM32L433RCTx to the NUCLEO-L433RC-P ?  There are no VDD12 pins on the STM32L433RCTx which means there will be 2 additional GPIO pins, but so long as I dont use these additional GPIO pins will the NUCLEO-L433RC-P still work ?

CubeMX

MM1_0-1752038518945.png

and linker file you can rename to any and set it in linker config, normal way i use edit ioc in empty folder and generate create new all files (of course without user codes). Try delete .ld and regenerate ioc... exist many ways

 

Will the linker file be the same for both devices ?

Yes linker is memory based...

mƎALLEm
ST Employee

Hello,

You may use "List Pinout Compatible MCUs" option, 

mALLEm_0-1752099299634.png

Then look for STM32L433RCT6 in the list and click "OK import"

mALLEm_1-1752099441858.png

You will be asked to generate a new project where you need to add your user code from the STM32L433RCT6P project.

 

 

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.

Thanks

I tried that but get the error "Heap memory threshold exceeded warning"...

freeflyer_1-1752146209653.png

What does this mean ?

This is what it shows when I build code...

 

Memory region Used Size Region Size %age Used

RAM: 8 KB 48 KB 16.67%

RAM2: 0 B 16 KB 0.00%

FLASH: 43344 B 256 KB 16.53%

 

It seems to be an issue with Java and the numer of parts searched for.

If I narrow the search by selecting the series (STM32L4) and package (LQFP64) then it works... BUT, there is no Import (or Export) button, just a Close button....

freeflyer_1-1752169808314.png

 

Note I am using both PC and Mac and both behave the same