This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Arm M33 FVP - Failed to read bytes from address

Hi,

I am trying to port some Keyword spotting code that I found from: https://github.com/ARM-software/ML-KWS-for-MCU to Arm DS and have it run on an Arm M33 FVP. Although the code builds successfully without any errors, at some point I am getting the following error within a for loop :

Failed to read 4 bytes from address 0xEFFFFE6E

Failed to read 2 bytes from address 0xEFFFFFFE

I don't understand why the compiled code is trying to access memory at these addresses. I am using the default scatter file and the RAM address range is from 0x20000000 to 0x20020000.

What could I be missing?

Parents
  • Hi Fanis

    My name is Stephen and I work at Arm.

    I suspect that some kind of exception is occurring at run-time, that is resulting in a fault condition, but the fault is then not being trapped, and so your code crashes.  Possible exceptions might include an unaligned data access (load/store instruction), stack or heap overflow (or underflow), an attempt to execute a floating point instruction but floating point is not enabled, etc.

    I suggest you single-step through the code to identify the culprit instruction.  You can also use the "trace" support provided in the Cortex-M33 FVP, to capture the history of instruction execution, to help reveal unexpected run-time issues.  To capture trace from the FVP, see
    See developer.arm.com/.../Capture-trace-output-from-a-Fixed-Virtual-Platform

    Hope this helps,

    Stephen

Reply
  • Hi Fanis

    My name is Stephen and I work at Arm.

    I suspect that some kind of exception is occurring at run-time, that is resulting in a fault condition, but the fault is then not being trapped, and so your code crashes.  Possible exceptions might include an unaligned data access (load/store instruction), stack or heap overflow (or underflow), an attempt to execute a floating point instruction but floating point is not enabled, etc.

    I suggest you single-step through the code to identify the culprit instruction.  You can also use the "trace" support provided in the Cortex-M33 FVP, to capture the history of instruction execution, to help reveal unexpected run-time issues.  To capture trace from the FVP, see
    See developer.arm.com/.../Capture-trace-output-from-a-Fixed-Virtual-Platform

    Hope this helps,

    Stephen

Children