2020-02-05 09:07 AM
I use an STM32F7805-DK and a Keil IDE and have been working well for a month. Suddenly, I get Not a Genuine ST Device. I installed Keil on a second computer and bought a 2nd STM32F7805-DK but get the same result. What can I do... the drivers on the PCs are up to date, brand new STM32F7805-DK board...?
2020-02-05 10:42 AM
2020-02-05 11:14 AM
Can you see with ST-LINK Utilities or STM32 Cube Programmer tools
Go into the Debugger Settings, and perhaps reduce the connection speed, or connection options
ST-LINK firmware https://www.st.com/en/development-tools/stsw-link007.html
Should be 2.36 now, but older versions are available
2020-02-05 05:56 PM
I should add one clarification. When I received the 2nd STM32F7508-DK, I tried it out on the original (and only existing Keil IDE/PC at the time) and the new board did get programmed.... but then I couldn't reprogram it with another version of code, so I developed my second IDE/PC and I could not reprogram the board there. Maybe the act of programming the new board on my first IDE/PC setup damaged the board, but there is no evidence on the PCB.
At your suggestion, I downloaded the Link007 and tried to set the link to the newest standards. As you can see in the first two pictures in the attached Word file, the process worked. When I once again loaded the Keil IDE and pressed Load, the process failed as seen in the last 3 pictures of the Word file. I then decreased the ST_LINK COM frequency from 10 to 2 MHz.
I should also say that on the first IDE/PC system, in desperation I tried to use the STM32 Cube Programmer and got a whole series of messages while trying again and again.. e.g. DEV_TARGET_NOT_HALTED, DEV_TARGET_HELD_UNDER_RESET.
2020-02-07 08:01 PM
No one is replying and my project is halted and I have bought two expensive Discovery Kits and wasted a lot of time.
Therefore, in an effort to redeem this situation, let me ask a question:
Is there a way to bypass the ST_LINK installed on my Discovery Kit and try to control the board from an external ST_LINK? The STM32F7508 still works, either partially or wholly, because I can see that it has interacted with the display. I still do not understand what has gone wrong, but maybe it is entirely in the ST_LINK portion of the board.
Also, is it possible (faint hope) that ST would be interested in trading the boards for new ones so that they can analyze what has gone wrong and figure out a way of preventing it from happening to other customers?
2020-02-08 12:52 AM
Do you have in the code some low power SW scheme such as clock stop modes?
To check if the debugger works, tap the boot0 pin and force the other level and do a reset (push button).
This will force the STM32 to go to bootloader mode instead of a possible deadlocked user SW. (if there is a bug which makes the code crazy, the STLink maynot be able to activate the debug mode.
Also, once you did this, make sure the STLink dbeug configuration is using HW Reset control.
2020-02-08 12:55 AM
And for sanity check Vdd MCU, Reset level, boot level if you have an oscilloscope.
Advice: In your code, at the beginning of main, put a delay of 2+ seconds to the STLink can try to go debug mode before the user code migth behave badly.
I usually do an LED animation on custom boards.
2020-02-12 03:23 PM
Thank you SO MUCH. The original board started working after I set Connect Under Reset. It was in the Normal setting previously and worked for a month. Who knows what happened? But just changing that one setting made it work. Thank you so much. I will buy you a Coke if I ever meet you face to face. I will try the second (almost new) board shortly, but am optimistic.
2020-02-12 04:27 PM
@DRobe.4 Do you use the Keil "free" version for STM32?
-- pa
2020-02-13 05:09 AM
Yes. I want the code to fit in 64KB flash of the STM32F7508, so 32KB code size limitation of the free IDE is in the same ballpark. If I change my requirements, I will switch to another IDE.