AnsweredAssumed Answered

STM32cube Version 4.20.0 bugs

Question asked by mikalajunas.vaidas on Mar 14, 2017
Latest reply on Mar 14, 2017 by ChrisH

Hello, 

ST, please, do not release untested versions of STM32CubeMX, because we used to trust this software. And now it is just one big BUG... I have updated Cube, because wanted to set STM32F7 hardware JPEG encoder, but other parts just does not work as expected... Lets say I can understand, that newer Cube version "does not like" older Firmware packages (tried to compile Cube generated code with STM32Cube_FW_F7_V1.4.0, but got 20 errors with missing structures and so on), but I can not understand when functions are missing with newest package (STM32Cube_FW_F7_V1.6.0)...

 

All these bugs appears when I select STM32F746NGHx STM32F746G-DISCO board. 

 

Find two differences:

 

// new code 

void MX_SDMMC1_SD_Init(void)
{

hsd1.Instance = SDMMC1;
hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B;
hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
hsd1.Init.ClockDiv = 0;

}

 

// and older code

void MX_SDMMC1_MMC_Init(void)
{

hmmc1.Instance = SDMMC1;
hmmc1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
hmmc1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
hmmc1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
hmmc1.Init.BusWide = SDMMC_BUS_WIDE_1B;
hmmc1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_ENABLE;
hmmc1.Init.ClockDiv = 0;
if (HAL_MMC_Init(&hmmc1) != HAL_OK)
{
Error_Handler();
}

HAL_MMC_ConfigWideBusOperation(&hmmc1, SDMMC_BUS_WIDE_8B);

}

 

There are many more bugs, but they are not so much annoying: examples have different structure from cube generated projects, a lot of examples does not work with/without optimizations and so on and on, there would not be end...

 

Thank You.

Outcomes