2017-06-30 12:52 AM
Hi everyone.
I was working on a custom STM32F469NIH board for the past two weeks. This morning when I tried to supply for the first time during this day the board to start its program, it didn't. When I connected it to a ST-Link debugger (built-in in the DISCOVERY board) through SWD, the ST-Link Utility displayed 'Can not read memory ! Disable Read Out Prorection and retry !'. Till then, I programed the MCU through SWD.
I did not set the RDP bytes. Yesterday when I left the office, everything was working fine, perfectly fine. Today, everything don't. It is the second time it happens...
The first time was with the same custom board (two manufactured). It worked for more than two weeks too (with multiple flash program procedure during each day with no issues). The same way, a morning nothing worked with the same displayed warning. For the first time it happened I thought I did something wrong with the software but today, I know I didn't. Two boards bricked in one month with no apparent reasons.
Changing the Option Bytes option in STM32 ST-Link Utility doesn't work. I have an error when it try to change them. Same with the Full Erase operation.
My custom board is highly common with the STM32F469-DISCO board schematic. I tried to connect it through USB and setting BOOT0 high and BOOT1 low but the board doesn't seem to be detected (working on Windows 7 x64) and nothing appears in DFU software.
Do you have a solution ?
I saw that
https://community.st.com/0D50X00009XkXwgSAF
also had this kind of issue with a STM32F37 but I don't know if he managed to solve the issue. What I don't understand is, even if it is indeed the RDP bytes that have been set (by somehow dark magic), why my program didn't start ? I mean, the RDP bytes are supposed to protect the flash program, not prevent him to start.Thank you in advance.
#read-out-protection #stmf469 #st-link #custom-board2017-07-02 11:39 PM
Any clue, please ?
2017-07-03 05:54 AM
Try to connect the ST
http://www.st.com/en/development-tools/flasher-stm32.html
to USART1 or 3 of the board (see AN2606 about how the bootloader works). Then try to start the bootloader (BOOT0 = 1 and BOOT1 = 0). The bootloader will not send out any character until it has received character 0x7F.Use flash loader demonstrator to change the protection option bytes. When protection level 1 is enabled then JTAG will be disabled on the hardware, so the only way to connect is to use the serial line used by the bootloader. However if you change the protection level back to 0 the flash will be mass erased.
2017-07-03 06:49 AM
Hi
Viale.Anthony
,Is this issue observed
with only one
chip on your custom board or with other devices?
-Nesrine-
2017-07-04 01:56 AM
I have already tried it. Once with DFU (through USB) and the other one with Flash Loader Demonstrator (through UART). In both cases it doesn't work, the MCU doesn't respond. I have tried the same procedures (DFU and Flash Loader) with my STM32F4-DISCOVERY and it works. I never tried it before though when the custom boards used to work, so I can't guarantee that it is not a wrong manipulation ftom me. But after all I tried I guess the MCUs have been damaged internally (is it possible to damage it a particular way that it is still detected by STM32 ST-Link Utility but can't do much more than that ?)
I used to supply my MCU with 3.3V directly (without using the voltage regulator I have integrated in my custom board because the 3.3V power rail is also use to supply others stuffs). The power supply used is a laboratory power supply (is supposed to). Is it possible that a 'bad power supply' may lead to this specific kind of failure ?
2017-07-04 01:57 AM
I have manufactured only two custom boards. Both of them worked for more than two weeks each. Both of them are now bricked. Take a look at the reply I gave to @ra hummel.
2017-07-04 02:41 AM
IMHO even a regulated dc power supply can produce spikes when you turn it on or off that can cause serious damage to connected devices. Connect an oscilloscope to the power supply and you will see if it produces spikes when you turn it on or off.