2025-07-08 10:40 AM
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 ?
2025-07-08 11:03 AM
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 ...
2025-07-08 11:57 AM
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)
2025-07-08 12:34 PM - edited 2025-07-08 12:39 PM
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 ?
2025-07-08 10:24 PM
CubeMX
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
2025-07-09 1:04 AM
Will the linker file be the same for both devices ?
2025-07-09 7:35 AM
Yes linker is memory based...
2025-07-09 3:20 PM
Hello,
You may use "List Pinout Compatible MCUs" option,
Then look for STM32L433RCT6 in the list and click "OK import"
You will be asked to generate a new project where you need to add your user code from the STM32L433RCT6P project.
2025-07-10 4:18 AM - last edited on 2025-07-10 4:30 AM by Andrew Neil
Thanks
I tried that but get the error "Heap memory threshold exceeded warning"...
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%
2025-07-10 10:50 AM
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....
Note I am using both PC and Mac and both behave the same