2019-12-15 04:41 AM
if stm32cudeide can view the bootloader and update the bootloader of MCU that is already writed by the vendor, like external oscillator or some other options ?
i have already installing the STM32CubeIDE, STM32CubeMX and STM32CubeProgrammer.
is there other softwares to help to develop?
Solved! Go to Solution.
2019-12-15 06:48 AM
ST doesn't provide a means to erase/replace the system boot loader.
You can inspect the memory the loader resides in, and the option bytes with tools like the ST-LINK Utilities or STM32 Cube Programmer.
2019-12-15 04:52 AM
The only thing one can do to the system bootloader, is to view/read and execute it's binary code. For anything else you have to write your own bootloader.
2019-12-15 05:09 AM
is there a software to view/read/write the bootloader? or view the option have been writing in the chip?
2019-12-15 06:48 AM
ST doesn't provide a means to erase/replace the system boot loader.
You can inspect the memory the loader resides in, and the option bytes with tools like the ST-LINK Utilities or STM32 Cube Programmer.
2019-12-15 07:24 AM
the board has the external oscillator or SRAM to the PIN. Do i need to config the right setting in the STM32CubeIDE or not?
If i doesn't set, will it be something wrong?
2019-12-15 07:53 AM
STM32 ST-LINK Utility has more information than STM32CubeProgrammer and has printf via SWO(v3 set).
or STM32CubeIDE 1.1.0 has the full function that STM32 ST-LINK Utility and STM32CubeProgrammer have?
2019-12-15 09:11 AM
The system bootloader starts before the code programmed in STM32CubeIDE, so you can't get it wrong (unless you overwrite its start address in the user option area on some models where it's possible). If an external crystal is present, the bootloader detects its frequency automatically. No external memory is required or used by the bootloader.
Read mode in AN2606 STM32 microcontroller system memory boot mode
2019-12-15 10:06 AM
I'm not a user of CubeIDE or CubeMX, I'd assume CubeIDE can output SWV to a console via OpenOCD, in a similar way that tools like Keil and IAR can.
2019-12-15 02:56 PM
so , the clocks configed in STM32CubeIDE is to create codes that is similar in below?
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the CPU, AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the CPU, AHB and APB busses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
{
Error_Handler();
}
}