2020-08-17 01:41 AM
The STMCubeProgrammer would no longer connect to my target. I was able to create a simple test program with Keil toolchain and step through the code and suddenly I noticed that the board stopped responding.
I then tried connecting to the board with STMCubeProgrammer which I have always used as a sanity checker for my boards.
The board has no external devices connected to it so I can't understand why this should happen.
Please any suggestion on how to resolve.
2020-08-17 02:54 AM
Problem solved!
There is a slide switch SW1 on the STM32H7B3I-DK board. This switch has two position labelled "SYS MEM" or "FLASH" on the board.
According to the schematic diagram these two positions are used for pulling the BOOT0 pin to 3.3V or GND. The former pulls to 3.3V while the later to GND. The default position is the latter.
If you are getting the "No STM32 target found" error message do the following
I hope this help someone out there who is struggling with this board.
2020-08-17 10:00 AM
In STM32CubeProgrammer, ensure you have an External Loader selected for the STM32H7B3i-DK board. This does not seem to get selected atuomagically for this board. The same is true for STM32CubeIDE.
2020-08-17 11:23 AM
Hi JMors.1
Thanks for reply JMors, not sure I understand your reply. What does the External Loader do? Never used it before :grinning_face:. I am assuming that this is for programming external flash right?
2020-08-17 12:09 PM
The External Loader sets the configuration for your board for Programming. In STM32CubeProgrammer, on the bottom left of the screen, there is a green circle with an image of a chip with EL in the middle. Click this and ensure you select the Available external board labeled "MX25LM51245G_STM32H7B3I_DISCO".
One other note, if you have updated your board with the latest FW such as V3J7M2, then you would have to downgrade the FW using the "Firmware upgrade" option in the STM32CubeProgrammer GUI. This is only for the GUI, however the command line tools should work with the newer FW I believe.
Are you using Windows or another OS?
Does the STLink connection for the board show up in Device Manager?
If you are on Windows, you can download the demo examples for the STM32H7B3i-DK and load the default example binary from command line via the 'program_hexfile' batch file. Just ensure your ST applications are installed in the default locations or you may have to make the necessary changes in the script for the location of the tools.
2020-08-17 02:11 PM
Yes, I can see the EL button and I am developing with Keil MDK on Windows 10.
I noticed that you asked the following question "Does the STLink connection for the board show up in Device Manager?" the answer to this is yes, although I have other issues which might be related but as things stand I can connect to the STM32H7B3i-DK board, and program it with STM32CubeMX and intermittently with Keil MDK and when boards stop connecting, I can run through the steps I outlined in my first message to fix.
Below is the url to my next issue that I am struggling with at present https://community.st.com/s/question/0D53W00000FPKVRSA5/power-cycling-breaks-debugging-stm32h7b3idk-board-with-keil-mdk-v530
Many thanks in advance.
2020-08-17 02:54 PM
If you are using the STM32CubeProgrammer with the STM32H7B3i-DK then you need to select the appropriate External Loader and downgrade the FW for it work properly. At least this is what I have found.
The issues I have been running into have to do with compatibility between the ST tools and the STM32H7B3i-DK especially with the recent tool updates. More specifically with TouchGFX, STM32CubeIDE and STM32CubeMX. There are items that do not seem to be set properly by default for this board in the tools so they have to be changed manually. This may be the same case with the Keil project as well.
Have you tried one of the STM32H7B3i-DK examples and see if you run into the same issue. If the example succeeds, then you might compare the working project with what was generated with the current CubeMX version.
There is a recent update for STM32CubeMX to 6.0.1. Have you tried this?
2020-08-17 03:53 PM
I believe the correct External Loader is being picked up see image below.
"Have you tried one of the STM32H7B3i-DK examples and see if you run into the same issue"
Unfortunately the Keil MDK does not have STM32H7B3i-DK examples, the closes I can find is the STM32H7B3i-EVAL. Having said that I do have an image that I have that I can program using the STM32CubeProgrammer that works. The only issue that I have observed is that once I power cycle the board, the code would not run again until I erase flash and reprogram the board.
"There is a recent update for STM32CubeMX to 6.0.1. Have you tried this?"
I have just upgraded to this but the behaviour is the same.
How do I go about down grading the firmware as you mentioned in a previous post?
2020-08-17 04:12 PM
If your Firmware is at V3J5M2, then it is already downgraded. If it is at V3J7M2, then click the Firmware Upgrade button in CubeProgrammer which should downgrade the FW.
In STM32CubeProgrammer, under External Loaders. there should be a check mark in the Select box for the Board labeled STM32H7B3I. This should be for the '-DK'.
I would not use a STM32H7B3i-EVAL example for a STM32H7B3i-DK board unless you know what to change for the '-DK'.
You can download the STM32CubeH7 software and look for Keil projects that you could reference for the '-DK' board.
Ex:
https://www.st.com/en/embedded-software/stm32cubeh7.html#overview
2020-08-17 04:34 PM
"In STM32CubeProgrammer, under External Loaders. there should be a check mark in the Select box for the Board labeled STM32H7B3I. This should be for the '-DK'"
Yes, for the STM32CubeProgrammer I have selected the correct External loader for the STM32H7B3i-DK board from the "EL" selection.
Based on your advise I also downloaded and reprogrammed the board with the original demo image that came with the board STM32Cube_Demo-STM32H7B3I-DK-V1.0.0.hex
And this image work as flawlessly, I can even remove power and plug it back in and in kicks back into life. So there must be something that I am not doing when running my test program.
My test program is a simple project that I created with Keil MDK 5.30 which then invokes STM32CubeMX for the device pin configuration etc.
Based on the last exercise of reprogramming with the demo I have now gained confidence that the board itself is not damaged but there is a trick I am missing when attempting to program the STM32H7B3i-DK.
Not sure if relevant but I thought to mention it, I also have another board which is the STM32H743zi Nucleo board which I can program and debug successfully using Keil MDK IDE.
I am going to retired for the night as it is gone past midnight here. Thanks for your time.