Porting to STM32F429VIT6 from STM32F413H
Porting to STM32F429VIT6 from STM32F413H
Changed made so far:
1) Choosing the example from the same STM32 family as starting point if possible
STM32F413H Discovery example chosen:
2) Editing the used IDE configuration files to rename what needs to be renamed to adapt to your target: This step is not usually manadatory
3) Adapt the mapping to your flash (files in Linker_Common). Use documentation to understand underlying constraints (sector size, write protect size, etc ...)
The linker script has been updated to for the 2Mbyte flash on the STM32F429xx Dual Bank from the 1.5 Mbyte Single Bank
4) Adapt the USART port used for interfacing with secure boot and application (header file located in target directory of SBSFU and example application)
The USART port has been changed to USART3 which is part of the JTAG connector. Tested with an application firmware and it works fine)
5) Adapt the clocking to your target: use STM32CubeMX to generate your clocking and copy paste the generated function
a. I am not sure where I will update the clocking information, which file do I modify?
6) Adapt the LED output or remove it
Led pins has been changed to match custom board
7) Adapt the push button GPIO used to force the firmware update
GPIO pin adapted to match custom board
8) Deactivate all secure protections to start debugging
In the integration guide it mentions this in section 3.1
Flash configuration: NUCLEO-L432KC gives an example of single-bank Flash interface whereas NUCLEO-L476RG is dual-bank based (in file sfu_low_level.c)
I was not able to find anything related to flash bank in that file.
There is information regarding flash bank in sfu_low_level_flash_int.h however the STM32F413 is single bank and comparing to the STM32L476 example which is dual bank, the code is very different.
I tried adapting the code to dual bank however the STM32CubeExpansion_SBSFU_V2.4.0\Drivers\STM32L4xx_HAL_Driver\Inc\stm32f4xx_hal_flash is different and there is no mention of dual bank memory.
b. The target/sfu_low_level_security.h refers to memory address directly does that require changing?
I get nothing on the uart coms terminal (completely empty) and I cannot debug the SBSFU (step through the code) from the STM Cube IDE.
c. Any help at all will be much appreciated. I am new to the STM32 platform, however the company I am working for are very much interested in the STM32 MCU’s and are looking to integrate into all the lines products.
