cancel
Showing results for 
Search instead for 
Did you mean: 

What is the most efficient way to port code from one device to another with CubeMX?

allantommathew
Associate II

Hi,

I have a program generated with the help of CubeMX running on STM32F767VG. Now I have changed the controller from STM32F767VG to STM32F767VI. The only difference between the two boards is that STM32F767VG has 1 MB flash and STM32F767VI has 2 MB flash.

Device from STM32F767VG to STM32F767VI

CubeMX Version: 4.25.0

STM32Cube Version: 1.0

IDE: IAR Embedded Workbench

Since there is not much of a difference between the two boards, I have tried changing the controller from the Options... > General Options > Device and programmed it. The program worked as expected but there was an issue: the board would not go into standby mode with a current consumption of 30µA (which is achieved by the board with STM32F767VG.

I tried making a new CubeMX project for STM32F767VI but that too didn't yield the desired stand-by current. I assume I'm not taking the right way in porting the code from one device to another using CubeMX.

What is the most efficient way to port code from one device to another with CubeMX? [I saw a few videos but those are way too old].

Thank you.

3 REPLIES 3
S.Ma
Principal

Have you checked the datasheet for the standby current typical for the bigger memory size version of this STM32F7 family? Just to make sure it is not related to specs and indeed related to tools/lib.

Hi,

Yes I have checked the datasheet of STM32F767VI and I can confirmed that the device consumes the same current as STM32F767VG current. Actually both of the devices have the same data sheet.

Thank you.

allantommathew
Associate II

UPDATE:

I have made two boards, one with with STM32F767VGT6 and one with STM32F767VIT6. Both has the same components including the on-board peripherals. I made a dummy program (using CubeMX) to initialise all the peripherals, blink an LED (for visual indication) and then go to standy-by mode. The stand-by current measured are:

STM32F767VGT6 ~ 60µA

STM32F767VIT6 ~580µA

There is an on-board transceiver which consumes some current. On switching it to low power the measured current readings are:

STM32F767VGT6 ~ 30µA

STM32F767VIT6 ~250µA

30µA is the desired current measurement that has to be achieved. With respect to STM32F767VGT6, it achieves its target but not with STM32F767VIT6.

Note: Both were programmed with the code made using CubeMX for STM32F767VIT6 microcontroller.

Hope this helps in a better understanding and debugging

Thank you.