Trying to run the program for NUCLEO-F429ZI STM evaluation board, I get "No Algorithm found" error:
Build started: Project: test_f429zi *** Using Compiler 'V6.21', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' Build target 'test_f429zi' ".\test_f429zi.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:00 Load "C:\\Alex\\projects\\STM\\Keil\\NUCLEO-F429ZI\\test_f429zi\\test_f429zi\\MDK-ARM\\test_f429zi.axf" No Algorithm found for: 00008000H - 00008F77H Erase skipped! Error: Flash Download failed - "Cortex-M4" Flash Load finished at 09:20:33
The project is created in STM32 CubeMX, code is generated in MDK format, as described here: Using Keil MDK with STM32CubeIDE
My working environment: Windows 11, mVision v5.39.0.0 Community Edition, NUCLEO-F429ZI evaluation board.
The same board can be successfully programmed using STM32CubeIDE:
STMicroelectronics ST-LINK GDB server. Version 7.5.0 Copyright (c) 2023, STMicroelectronics. All rights reserved. Starting server with the following options: Persistent Mode : Disabled Logging Level : 1 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Disabled SWD Debug : Enabled InitWhile : Enabled Waiting for debugger connection... Debugger connected Waiting for debugger connection... Debugger connected Waiting for debugger connection... ------------------------------------------------------------------- STM32CubeProgrammer v2.15.0 ------------------------------------------------------------------- Log output file: C:\Users\alex\AppData\Local\Temp\STM32CubeProgrammer_a12284.log ST-LINK SN : 066DFF484957847167063817 ST-LINK FW : V2J43M28 Board : NUCLEO-F429ZI Voltage : 3.25V SWD freq : 4000 KHz Connect mode: Under Reset Reset mode : Hardware reset Device ID : 0x419 Revision ID : Rev 3 Device name : STM32F42xxx/F43xxx Flash size : 2 MBytes Device type : MCU Device CPU : Cortex-M4 BL Version : 0x91 Memory Programming ... Opening and parsing file: ST-LINK_GDB_server_a12284.srec File : ST-LINK_GDB_server_a12284.srec Size : 108.09 KB Address : 0x08000000 Erasing memory corresponding to segment 0: Erasing internal memory sectors [0 4] Download in Progress: File download complete Time elapsed during download operation: 00:00:02.441 Verifying ... Download verified successfully Shutting down... Exit.
MDK debugger settings:
Hi Alex,
by your log on the first screenshot you are trying to program code at address 0x00008000 and flash on this MCU is located at address 0x08000000, so the algorithm is not able to program the code at 0x00008000 address.
Flash from 0x08000000 can be re-mapped to address 0 but the code should still be programmed to 0x08000000.
Maybe for start you take an example from https://www.keil.com/pack/Keil.STM32F4xx_DFP.2.17.1.pack, there is example in the folder MDK\Boards\ST\STM32F429I-Discovery\Blinky which works for STM32F429I-Discovery board and you can continue from there.
Best regards, Milorad
Thanks. I downloaded Blinky sample from NUCLEO-F429ZI
It started from Keil uVision without any changes. Comparing the settings for two projects, I made the following changes in my CubeMX-based project:
Options for Target.
Linker tab. Use Memory Layout from Target Dialog - checked.Target tab. IROM1, IRAM1 - checked.
The problem is solved.