Skip to content

Flashing AIR001 fails with “Memory transfer fault” on pyOCD > 0.36.0 but works on 0.36.0 #1856

@createskyblue

Description

@createskyblue

Describe the bug
When using pyOCD versions higher than 0.36.0, flashing AIR001 fails with a memory transfer error.
The same command works correctly on pyOCD 0.36.0.

Command:

pyocd flash --erase chip --target air001 fw.hex

Error message:

C Memory transfer fault (write) @ 0x20001000-0x2000107f [__main__]
Image

Using pyocd 0.36.0, the flashing completes successfully without any issues.

To reproduce

  1. Install pyOCD >= 0.37.0

  2. Run the command:

    pyocd flash --erase chip --target air001 fw.hex
    
  3. Observe the memory transfer fault error.

fw.zip

Expected behavior
The firmware should flash normally as it does in version 0.36.0.

Image

Actual behavior
Flashing fails with a “Memory transfer fault (write)” error.

Environment

  • pyOCD version: 0.36.0 (works), >0.36.0 (fails)
  • Target: AIR001
  • OS: Windows 10 22H2 19045.5737
  • Python version: 3.11.5
  • ST-Link:V2J45M30

Additional context
It looks like something changed after 0.36.0 that affects AIR001 memory writes (possibly RAM region config or flash algorithm behavior).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions