2018-12-10 06:09 AM
I'm running into the Cortex M7 r0p0, r0p1 bug where single-stepping is impossible due to the processor handling an interrupt instead.
i.e.
http://www.keil.com/support/docs/3778.htm
I'm using OpenOCD and it is reporting:
Warn : Silicon bug: single stepping will enter pending exception handler!
As per title, this is with an STM32F746Z on a Nucleo 144 which has the bug. STM32F769N worked as expected.
Are there any plans from ST to release a fixed ARM core in the 746 or 745?
regards
James
Solved! Go to Solution.
2018-12-10 07:23 AM
>>Are there any plans from ST to release a fixed ARM core in the 746 or 745?
This topic has been discussed before, and no, they don't plan on updating the core. The debugging case is a ppm/ppb use case, and doesn't impact product level functionality.
The F722 has a newer core, as do the F76x/77x and H7 parts.
2018-12-10 07:23 AM
>>Are there any plans from ST to release a fixed ARM core in the 746 or 745?
This topic has been discussed before, and no, they don't plan on updating the core. The debugging case is a ppm/ppb use case, and doesn't impact product level functionality.
The F722 has a newer core, as do the F76x/77x and H7 parts.
2018-12-10 08:35 AM
Thanks for the answer, I did try searching, but perhaps not hard enough.
Shame that the chip won't be fixed as it currently makes debugging very difficult.
James
2018-12-10 09:08 AM
2018-12-19 05:38 PM
SEGGER have implemented a workaround for this hardware core bug in their J-Link debuggers. On-board ST-LINK can be converted to J-Link OB.
https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
2020-10-15 05:59 PM
It does not work in Segger J-Link OB either...Seems once again ST Sold a $70 dollar board without single stepping ability so shifting blame to Segger is a poor implementation of a joke without re-spinning the Silicone...It only works by using the ST Link Utiliy in a special tweaked mode...Open OCD does not work using ST Link or upgrading to Segger. It cannot step as specified above...Single Stepping fails completely in Segger J-Link OB by jumping steps because it cannot stop on a breakpoint and runs hay-wire...Same deal with ST-Link...Sad as it looked like a promising board! Unfortunately it is Junk in any debug mode and I have tried them all...
2020-10-15 06:37 PM
It is an ARM issue, which they resolved in subsequent spins of their deliverable IP. ST was one of the first companies to get ARM CM7 silicon for them to work with.
ST isn't going to do-over the chip layout and validation, the design team(s) rotated into the next products, it is out of the design cycle, and into the fab/production cycle, and it will be there until end-of-life. Its not a process of constant introspection and correction of a design that's already left the factory.
If you really need to single step your code to understand flow/dynamics then you'll need to pick a part which is a close proxy or use more classical analysis methods.
2020-10-17 05:29 PM
Clive1 - I would love to agree with you but it is a sad manufactured crisis, the story that you concatenated for the unexpected core reset happening suddenly and very unacceptable. The code breaks fine on simple tasks till we get to audio codec work...Then it does not break at all...Do you Mind re-thinking your ugly explanation for selling a broken platform for mass production answer and blaming ARM and perhaps blaming it on work via Audio Codecs ? What IP are you guys protecting exactly and why ???
2020-10-18 03:48 PM
I have a workaround that allows me to use breakpoints on STM32F745 with the on-board STlink and OpenOCD.
When you hit the breakpoint:
Step
(lands in an interrupt)
Set Registers -> primask to 1
Run (seems like it didn't do anything)
Step
Continue stepping like normal.
But it is indeed a PITA.
James
2020-10-18 03:55 PM
Just to clarify, do you mean F76x/77x or F7x6/7x7 ?
The latter is more in line with the product page: https://www.st.com/en/microcontrollers-microprocessors/stm32f7-series.html (Which I find illogical, the sub-family number would make a lot more sense as the middle number not the final one.)
e.g. F746, F756, F767, F777
James