We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello
I’ve been using my STM32L053 DISCOVERY board for a few months. It worked until yesterday. I wrote a program to write a 4 char array to eeprom, under my lecturers supervision, and suddenly my and four of my student mates boards “crashed“ during debugging session. I am using KeilV5.28.0.0 version, toolchain is MDK-ARM Cortex-M0/M0+ 256K.
Those are the errors that we are getting:E310 : Debug access failed - cannot read address 0xF0000FE4 (accsize ‘4’, AP ‘0’)Error: Flash download failed - Target DLL has been cancelled
We tried reinstalling the drivers and restarting our computers. We also tried reflashing firmware with STM32CubePrg, changed debug connecting settings in project options - neither of the above works to solve our problem.
Anyone has any ideas how to solve this?
Adding a picture of the errors I am getting:
Sadly, asking the lecturers seems to be the last thing most students posting here think of!
Have you tried using the STLink Utility ?
No, I've only tried reinstalling and runing STSW-LINK009. Let me try it
I managed to erase all of EEPROM memory and the board seems to be working like it used to. I still can't write to eeprom what I want, but at least it is working. Thank you!
Do you really mean the EEPROM (2K - for data storage) or the Flash (program storage)?
Either way, this suggests that there was something in your code that "blocks" the debugger; eg, disabling the pins used for the debug connection.
Or, perhaps, you had "accidentally" set some protection bits ?
Yes, I do really mean the EEPROM, I used flash to name it in my previous message because flash is a type of EEPROM, if I am not mistaken
And yes, something must have been in my code as it works now up to a point. Anyway, thank you!
And if talking about protection bits, I haven't learnt about those so I can't comment on that
Aikuka said:flash is a type of EEPROM, if I am not mistaken
That is true: EEPROM = Electrically-Eraseable, Programmable, Read-Only Memory
However, the term "EEPROM" is often used to mean specifically the type of EEPROM designed for data storage - as opposed to the "Flash" used for program storage.
ST make this distinction in their datasheets:
EDIT
I suspect the reason for this is historical - "EEPROM" for non-volatile data storage probably predates the (common) use of Flash for program storage.
IIRC, we had "EEPROM" for non-volatile data storage in the days of UV-EPROMs for code storage ?
Yes, I'm going to grind on my knowledge of certain definitions regarding memory and other things that go into microprocessors as a whole package
You are probably right
It's idiomatic, rather than strict, literal meaning of the words.
Like "RAM" is always taken to mean "volatile, read/write memory" - even though Flash also has random access!
good information, it helps me.