Skip to content

Operation timed out when flashing, perhaps the writing is too quick? #103

@Filip52542

Description

@Filip52542

Hello!

I've stumbled upon this project while trying to design and develop my own CH32V203 board. Right now, I'm struggling trying to upload my code onto the chip. The CH32V203 is connected via USB interface and I can query it, but flashing a program hangs.

This is what I get when I attempt to flash:

$ ./wchisp flash -E -V -R ./blinky/blinky.bin 
18:47:10 [INFO] Opening USB device #0
18:47:10 [INFO] Chip: CH32V203C8T6[0x3119] (Code Flash: 64KiB)
18:47:10 [INFO] Chip UID: CD-AB-1A-35-E2-BD-C9-9E
18:47:10 [INFO] BTVER(bootloader ver): 02.70
18:47:10 [INFO] Code Flash protected: false
18:47:10 [INFO] Current config registers: a55a3fc000ff00ffffffffff00020700cdab1a35e2bdc99e
RDPR_USER: 0xC03F5AA5
  [7:0]   RDPR 0xA5 (0b10100101)
    `- Unprotected
  [16:16] IWDG_SW 0x1 (0b1)
    `- IWDG enabled by the software, and disabled by hardware
  [17:17] STOP_RST 0x1 (0b1)
    `- Disable
  [18:18] STANDBY_RST 0x1 (0b1)
    `- Disable, entering standby-mode without RST
  [23:22] SRAM_CODE_MODE 0x0 (0b0)
    `- CODE-192KB + RAM-128KB / CODE-128KB + RAM-64KB depending on the chip
DATA: 0xFF00FF00
  [7:0]   DATA0 0x0 (0b0)
  [23:16] DATA1 0x0 (0b0)
WRP: 0xFFFFFFFF
  `- Unprotected
18:47:10 [INFO] Read ./blinky/blinky.bin as ELF format
18:47:10 [INFO] Found loadable segment, physical address: 0x08000000, virtual address: 0x08000000, flags: 0x5
18:47:10 [INFO] Section names: [".text"]
18:47:10 [INFO] Found loadable segment, physical address: 0x080053e4, virtual address: 0x20000000, flags: 0x6
18:47:10 [INFO] Section names: [".data"]
18:47:10 [INFO] Found loadable segment, physical address: 0x20007800, virtual address: 0x20007800, flags: 0x6
18:47:10 [INFO] Section names: [".stack"]
18:47:10 [INFO] Firmware size: 402685952
18:47:10 [WARN] Skipping erase
18:47:10 [INFO] Writing to code flash...
Error: Operation timed out

The binary (ELF) file is 51.5 KB.

Since this is my first time designing a PCB (and one of my first times handling hardware), the issue might be me. I fear that maybe the USB interface is bad or something similar so my question is whether it is possible to limit the data rate over USB.

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