[SOLVED] i.MXRT1176: Reading from invalid memory address breaks all subsequent reads

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] i.MXRT1176: Reading from invalid memory address breaks all subsequent reads

    Hello,

    I built the following synthetic test case to illustrate my problem:
    - MIMXRT1170-EVK board set to boot mode "Serial Downloader", SW1-3=OFF, SW1-4=ON
    - ROM code is running, no custom firmware is running
    - From JLink commander, issue a single read from an invalid memory address 0xCCCCCCCC
    - Any subsequent read (from valid addresses) fails.

    Do you have any idea what blocks the subsequent reads?

    Attachments:
    Jlink commander: jlink_mem_read_failure.txt
    JLink DLL log: JLinkLogOverride.log

    Background info: The real problem happens during a gdb debugging session using optimized C code (-Og). For some reason (I'm still trying to understand the root cause), gdb interprets debug symbols in the wrong way and tries to read from 0xCCCCCCCC which fails of course. Gdb ignores the error and continues. However, because of the issue illustrated above, the debugging session is useless now. I would expect that an invalid read access can be tolerated.

    Thanks in advance for any comments.
    Udo
    Files
  • Actually, your expectation that accesses to invalid areas are tolerated, is not correct.
    I can mention a bunch of devices where accessing certain regions does not result in a HardFault / DataAbort but in an access that never finishes and that locks up the core completely (so it needs a reset or even a power-on reset).

    See here for more info and possible solutions:
    wiki.segger.com/IDE_accesses_illegal_memory_regions
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.