pyocd / pyOCD

Open source Python library for programming and debugging Arm Cortex-M microcontrollers
https://pyocd.io
Apache License 2.0
1.08k stars 472 forks source link

pyocd gdbserver crash #1662

Open cc-caixf opened 5 months ago

cc-caixf commented 5 months ago

what happened to this, do I need to set something?

Steps to Reproduce

Environment

$ pyocd gdbserver --port 50000 --telnet-port 50001 --target stm32f103rc -v
0001118 D Project directory: C:\MyselfDir\WorkDir\GitlabDir\Beijia\0_accessory_rfid_bd\0_software [session]
0001691 D Project directory: C:\MyselfDir\WorkDir\GitlabDir\Beijia\0_accessory_rfid_bd\0_software [session]
0001694 I Target type is stm32f103rc [board]
0001789 D Running task load_svd [sequencer]
0001790 D Running task pre_connect [sequencer]
0001790 D Running task dp_init [sequencer]
0001791 D Running task lock_probe [sequencer]
0001791 D Running task get_probe_capabilities [sequencer]
0001791 D Running task connect [sequencer]
0001804 D Default wire protocol selected; using SWD [dap]
0001806 I DP IDR = 0x1ba01477 (v1 rev1) [dap]
0001808 D Running task clear_sticky_err [sequencer]
0001809 D Running task power_up_debug [sequencer]
0001816 D Running task check_version [sequencer]
0001817 D Running task unlock_probe [sequencer]
0001817 D Running task unlock_device [sequencer]
0001817 D Running task create_discoverer [sequencer]
0001817 D Running task discovery [sequencer]
0001817 D Running task find_aps [sequencer]
0001893 D Running task create_aps [sequencer]
0001893 D Running task create_ap.0 [sequencer]
0001895 D AHB-AP#0 default HPROT=3 HNONSEC=0 [ap]
0001897 D AHB-AP#0 implemented HPROT=3 HNONSEC=0 [ap]
0001899 I AHB-AP#0 IDR = 0x14770011 (AHB-AP var1 rev1) [discovery]
0001900 D Running task find_components [sequencer]
0001900 D Running task init_ap.0 [sequencer]
0001909 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=020:ST part=410) [rom_table]
0001920 I [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=000> [rom_table]
0001925 I [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0001931 I [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=003> [rom_table]
0001937 I [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0001944 I [4]<e0040000:TPIU M3 class=9 designer=43b:Arm part=923 devtype=11 archid=0000 devid=ca1:0:0> [rom_table]
0001952 I [5]<e0041000:ETM M3 class=9 designer=43b:Arm part=924 devtype=13 archid=0000 devid=0:0:0> [rom_table]
0001952 D Running task create_cores [sequencer]
0001953 D Creating SCS component [discovery]
0001954 D selected core #0 [soc_target]
0001960 I CPU core #0: Cortex-M3 r1p1, v7.0-M architecture [cortex_m]
0001961 D Running task create_components [sequencer]
0001961 D Creating DWT component [discovery]
0001964 I 4 hardware watchpoints [dwt]
0001969 D Creating FPB component [discovery]
0001970 I 6 hardware breakpoints, 4 literal comparators [fpb]
0001972 D fpb has been disabled [fpb]
0001976 D Creating ITM component [discovery]
0001981 D Creating TPIU component [discovery]
0001982 D Running task check_for_cores [sequencer]
0001982 D Running task halt_on_connect [sequencer]
0001982 D halting core 0 [cortex_m]
0001983 D Running task post_connect [sequencer]
0001983 D Running task post_connect_hook [sequencer]
0001984 D Running task create_flash [sequencer]
0001984 D Running task notify [sequencer]
0001986 D Setting vector catch to 0x00000001 [cortex_m]
0001996 I Semihost server started on port 50001 (core 0) [server]
0002194 I GDB server started on port 50000 (core 0) [gdbserver]
0004236 D Starting GDB server packet I/O thread [packet_io]
0004236 D halting core 0 [cortex_m]
0004238 I Client connected to port 50000! [gdbserver]
0004251 D GDB received query: [b'Supported', b'multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-tagging+#ec'] [gdbserver]
0004252 D GDB general set: b'StartNoAckMode' [gdbserver]
0004252 D extended remote enabled [gdbserver]
0004253 D GDB received query: [b'Xfer', b'features', b'read', b'target.xml', b'0,7fb#4a'] [gdbserver]
0004253 D GDB query b'features': annex: b'target.xml', offset: 0, size: 2043 [gdbserver]
0004256 D GDB general set: b'NonStop:0' [gdbserver]
0004256 D GDB received query: [b'TStatus#49'] [gdbserver]
0004257 D Current thread 0 is no longer valid, switching context to target [gdbserver]
0004260 D no accesses [register]
0004261 D out of date run token; invalidating cache [register]
0004274 D Tresponse=b'T0507:58100020;0d:00280020;0e:01000020;0f:00000020;thread:1;' [gdbserver]
0004275 D GDB received query: [b'Xfer', b'threads', b'read', b'', b'0,7fb#d0'] [gdbserver]
0004275 D GDB query b'threads': annex: b'', offset: 0, size: 2043 [gdbserver]
0004284 D GDB received query: [b'Attached#8f'] [gdbserver]
0004285 D GDB received query: [b'Offsets#4b'] [gdbserver]
0004286 D GDB received query: [b'Xfer', b'threads', b'read', b'', b'0,7fb#d0'] [gdbserver]
0004286 D GDB query b'threads': annex: b'', offset: 0, size: 2043 [gdbserver]
0004289 D GDB received query: [b'Xfer', b'memory-map', b'read', b'', b'0,7fb#e9'] [gdbserver]
0004290 D GDB query b'memory-map': annex: b'', offset: 0, size: 2043 [gdbserver]
0004292 D no reads [memory]
0004292 D out of date run token; invalidating cache [memory]
0004294 D GDB getting register context [context_facade]
0004345 D GDB get_reg_context: r0 = 0x00000000 -> b'00000000' [context_facade]
0004346 D GDB get_reg_context: r1 = 0x40022000 -> b'00200240' [context_facade]
0004346 D GDB get_reg_context: r2 = 0x00000003 -> b'03000000' [context_facade]
0004346 D GDB get_reg_context: r3 = 0x00000010 -> b'10000000' [context_facade]
0004346 D GDB get_reg_context: r4 = 0x20001050 -> b'50100020' [context_facade]
0004346 D GDB get_reg_context: r5 = 0x20003A58 -> b'583a0020' [context_facade]
0004346 D GDB get_reg_context: r6 = 0x20000460 -> b'60040020' [context_facade]
0004346 D GDB get_reg_context: r7 = 0x20001058 -> b'58100020' [context_facade]
0004346 D GDB get_reg_context: r8 = 0xDEADBEEF -> b'efbeadde' [context_facade]
0004346 D GDB get_reg_context: r9 = 0x20000200 -> b'00020020' [context_facade]
0004346 D GDB get_reg_context: r10 = 0xDEADBEEF -> b'efbeadde' [context_facade]
0004346 D GDB get_reg_context: r11 = 0xDEADBEEF -> b'efbeadde' [context_facade]
0004347 D GDB get_reg_context: r12 = 0x00000000 -> b'00000000' [context_facade]
0004347 D GDB get_reg_context: sp = 0x20002800 -> b'00280020' [context_facade]
0004347 D GDB get_reg_context: lr = 0x20000001 -> b'01000020' [context_facade]
0004347 D GDB get_reg_context: pc = 0x20000000 -> b'00000020' [context_facade]
0004347 D GDB get_reg_context: msp = 0x20002800 -> b'00280020' [context_facade]
0004347 D GDB get_reg_context: psp = 0x200011E0 -> b'e0110020' [context_facade]
0004347 D GDB get_reg_context: primask = 0x00000000 -> b'00000000' [context_facade]
0004347 D GDB get_reg_context: xpsr = 0x41000000 -> b'00000041' [context_facade]
0004347 D GDB get_reg_context: control = 0x00000000 -> b'00000000' [context_facade]
0004347 D GDB get_reg_context: basepri = 0x00000000 -> b'00000000' [context_facade]
0004347 D GDB get_reg_context: faultmask = 0x00000000 -> b'00000000' [context_facade]
0004350 D GDB received query: [b'Symbol', b'', b'#5b'] [gdbserver]
0004350 I Attempting to load RTOS plugins [gdbserver]
0004350 D Attempting to load argon [gdbserver]
0004351 D Attempting to load freertos [gdbserver]
0004351 D Value for symbol uxCurrentNumberOfTasks = <none> [provider]
0004351 D Attempting to load rtx5 [gdbserver]
0004352 D Attempting to load threadx [gdbserver]
0004353 D Attempting to load zephyr [gdbserver]
0004354 D Value for symbol _kernel = <none> [provider]
0004356 D GDB received query: [b'Rcmd,72657365742068616c74#72'] [gdbserver]
0004356 D Remote command: reset halt [gdbserver]
0004356 D set reset catch, core 0 [cortex_m]
0004356 D halting core 0 [cortex_m]
0004359 D reset, core 0, type=SW_SYSTEM [cortex_m]
0004475 D Received POST_RESET event [gdbserver]
0004478 D clear reset catch, core 0 [cortex_m]
0004501 D flash op: b'FlashErase' [gdbserver]
0004501 D flash op: b'FlashWrite' [gdbserver]
0004501 D flash write addr: 0x8004000 [gdbserver]
0004502 D flash op: b'FlashWrite' [gdbserver]
0004502 D flash write addr: 0x80047e0 [gdbserver]
0004503 D flash op: b'FlashWrite' [gdbserver]
0004503 D flash write addr: 0x8004fa0 [gdbserver]
0004504 D flash op: b'FlashWrite' [gdbserver]
0004504 D flash write addr: 0x8005760 [gdbserver]
0004505 D flash op: b'FlashWrite' [gdbserver]
0004505 D flash write addr: 0x8005f20 [gdbserver]
0004506 D flash op: b'FlashWrite' [gdbserver]
0004506 D flash write addr: 0x80066d0 [gdbserver]
0004507 D flash op: b'FlashWrite' [gdbserver]
0004507 D flash write addr: 0x8006e80 [gdbserver]
0004508 D flash op: b'FlashWrite' [gdbserver]
0004508 D flash write addr: 0x8007640 [gdbserver]
0004508 D flash op: b'FlashWrite' [gdbserver]
0004509 D flash write addr: 0x8007e00 [gdbserver]
0004510 D flash op: b'FlashWrite' [gdbserver]
0004510 D flash write addr: 0x80085d0 [gdbserver]
0004511 D flash op: b'FlashWrite' [gdbserver]
0004511 D flash write addr: 0x8008d80 [gdbserver]
0004512 D flash op: b'FlashWrite' [gdbserver]
0004512 D flash write addr: 0x8009540 [gdbserver]
0004513 D flash op: b'FlashWrite' [gdbserver]
0004513 D flash write addr: 0x8009d00 [gdbserver]
0004514 D flash op: b'FlashWrite' [gdbserver]
0004514 D flash write addr: 0x800a4d0 [gdbserver]
0004515 D flash op: b'FlashWrite' [gdbserver]
0004516 D flash write addr: 0x800ac70 [gdbserver]
0004516 D flash op: b'FlashWrite' [gdbserver]
0004517 D flash write addr: 0x800b420 [gdbserver]
0004517 D flash op: b'FlashWrite' [gdbserver]
0004517 D flash write addr: 0x800bbe0 [gdbserver]
0004518 D flash op: b'FlashWrite' [gdbserver]
0004518 D flash write addr: 0x800c3a0 [gdbserver]
0004520 D flash op: b'FlashWrite' [gdbserver]
0004520 D flash write addr: 0x800cb60 [gdbserver]
0004521 D flash op: b'FlashWrite' [gdbserver]
0004521 D flash write addr: 0x800d320 [gdbserver]
0004522 D flash op: b'FlashWrite' [gdbserver]
0004522 D flash write addr: 0x800dad0 [gdbserver]
0004523 D flash op: b'FlashWrite' [gdbserver]
0004523 D flash write addr: 0x800e290 [gdbserver]
0004524 D flash op: b'FlashWrite' [gdbserver]
0004524 D flash write addr: 0x800ea50 [gdbserver]
0004525 D flash op: b'FlashWrite' [gdbserver]
0004525 D flash write addr: 0x800f210 [gdbserver]
0004526 D flash op: b'FlashWrite' [gdbserver]
0004526 D flash write addr: 0x800f9e0 [gdbserver]
0004527 D flash op: b'FlashWrite' [gdbserver]
0004527 D flash write addr: 0x80101a0 [gdbserver]
0004528 D flash op: b'FlashWrite' [gdbserver]
0004528 D flash write addr: 0x8010950 [gdbserver]
0004534 D flash op: b'FlashWrite' [gdbserver]
0004534 D flash write addr: 0x80110f0 [gdbserver]
0004535 D flash op: b'FlashWrite' [gdbserver]
0004536 D flash write addr: 0x80118b0 [gdbserver]
0004538 D flash op: b'FlashWrite' [gdbserver]
0004538 D flash write addr: 0x8012060 [gdbserver]
0004538 D flash op: b'FlashWrite' [gdbserver]
0004538 D flash write addr: 0x8012820 [gdbserver]
0004540 D flash op: b'FlashWrite' [gdbserver]
0004540 D flash write addr: 0x8012fe0 [gdbserver]
0004540 D flash op: b'FlashWrite' [gdbserver]
0004540 D flash write addr: 0x80137a0 [gdbserver]
0004542 D flash op: b'FlashWrite' [gdbserver]
0004542 D flash write addr: 0x8013f70 [gdbserver]
0004543 D flash op: b'FlashWrite' [gdbserver]
0004543 D flash write addr: 0x8014740 [gdbserver]
0004544 D flash op: b'FlashWrite' [gdbserver]
0004544 D flash write addr: 0x8014f10 [gdbserver]
0004545 D flash op: b'FlashWrite' [gdbserver]
0004545 D flash write addr: 0x80156d0 [gdbserver]
0004548 D flash op: b'FlashWrite' [gdbserver]
0004548 D flash write addr: 0x8015ea0 [gdbserver]
0004548 D flash op: b'FlashWrite' [gdbserver]
0004548 D flash write addr: 0x8016680 [gdbserver]
0004549 D flash op: b'FlashWrite' [gdbserver]
0004549 D flash write addr: 0x80166f4 [gdbserver]
0004550 D flash op: b'FlashWrite' [gdbserver]
0004550 D flash write addr: 0x80166f8 [gdbserver]
0004550 D flash op: b'FlashWrite' [gdbserver]
0004550 D flash write addr: 0x80166fc [gdbserver]
0004551 D flash op: b'FlashWrite' [gdbserver]
0004551 D flash write addr: 0x8016704 [gdbserver]
0004552 D flash op: b'FlashDone#ea' [gdbserver]
0004557 D halting core 0 [cortex_m]
0004558 D set reset catch, core 0 [cortex_m]
0004559 D halting core 0 [cortex_m]
0004564 D reset, core 0, type=SW_SYSTEM [cortex_m]
0004680 D Received POST_RESET event [gdbserver]
0004682 D clear reset catch, core 0 [cortex_m]
0004735 D resuming core 0 [cortex_m]
0004735 D added=[] removed=[] [manager]
0004736 D bps after flush={} [manager]
0004758 E Unhandled exception in handle_message (b'v'): argument 3: <class 'OverflowError'>: int too long to convert [gdbserver]
Traceback (most recent call last):
  File "D:\Python3.8\lib\site-packages\pyocd\gdbserver\gdbserver.py", line 426, in handle_message
    reply = handler(msg[msgStart:])
  File "D:\Python3.8\lib\site-packages\pyocd\gdbserver\gdbserver.py", line 708, in v_command
    return self.flash_op(data)
  File "D:\Python3.8\lib\site-packages\pyocd\gdbserver\gdbserver.py", line 827, in flash_op
    self.flash_loader.commit()
  File "D:\Python3.8\lib\site-packages\pyocd\flash\loader.py", line 291, in commit
    perf = builder.program(chip_erase=chipErase,
  File "D:\Python3.8\lib\site-packages\pyocd\flash\builder.py", line 515, in program
    sector_erase_count, page_program_time = self._compute_sector_erase_pages_and_weight(fast_verify)
  File "D:\Python3.8\lib\site-packages\pyocd\flash\builder.py", line 693, in _compute_sector_erase_pages_and_weight
    self._analyze_pages_with_crc32(fast_verify)
  File "D:\Python3.8\lib\site-packages\pyocd\flash\builder.py", line 673, in _analyze_pages_with_crc32
    crc_list = self.flash.compute_crcs(sector_list)
  File "D:\Python3.8\lib\site-packages\pyocd\flash\flash.py", line 333, in compute_crcs
    self.target.write_memory_block32(self.begin_data, data)
  File "D:\Python3.8\lib\site-packages\pyocd\core\soc_target.py", line 238, in write_memory_block32
    return self.selected_core_or_raise.write_memory_block32(addr, data)
  File "D:\Python3.8\lib\site-packages\pyocd\coresight\cortex_m.py", line 625, in write_memory_block32
    self.ap.write_memory_block32(addr, data)
  File "D:\Python3.8\lib\site-packages\pyocd\utility\concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
  File "D:\Python3.8\lib\site-packages\pyocd\coresight\ap.py", line 1192, in _write_memory_block32
    self._write_block32_page(addr, data[:n//4])
  File "D:\Python3.8\lib\site-packages\pyocd\coresight\ap.py", line 1142, in _write_block32_page
    self.dp.write_ap_multiple(self.address.address + self._reg_offset + MEM_AP_DRW, data)
  File "D:\Python3.8\lib\site-packages\pyocd\coresight\dap.py", line 948, in write_ap_multiple
    return self.probe.write_ap_multiple(addr, values)
  File "D:\Python3.8\lib\site-packages\pyocd\probe\jlink_probe.py", line 456, in write_ap_multiple
    self.write_ap(addr, v)
  File "D:\Python3.8\lib\site-packages\pyocd\probe\jlink_probe.py", line 442, in write_ap
    self._link.coresight_write((addr & self.A32) // 4, data, ap=True)
  File "D:\Python3.8\lib\site-packages\pylink\jlink.py", line 204, in wrapper
    return func(self, *args, **kwargs)
  File "D:\Python3.8\lib\site-packages\pylink\jlink.py", line 3424, in coresight_write
    res = self._dll.JLINKARM_CORESIGHT_WriteAPDPReg(reg, ap, data)
ctypes.ArgumentError: argument 3: <class 'OverflowError'>: int too long to convert
$ pyocd flash -t stm32f103rc -a 0x08004000 C:\MyselfDir\WorkDir\GitlabDir\Beijia\0_accessory_rfid_bd\0_software\build\accessory_rfid_bd_app.bin -v
0001760 I Target type is stm32f103rc [board]
0001862 I DP IDR = 0x1ba01477 (v1 rev1) [dap]
0001951 I AHB-AP#0 IDR = 0x14770011 (AHB-AP var1 rev1) [discovery]
0001960 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=020:ST part=410) [rom_table]
0001972 I [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=000> [rom_table]
0001979 I [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0001987 I [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=003> [rom_table]
0001993 I [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0002005 I [4]<e0040000:TPIU M3 class=9 designer=43b:Arm part=923 devtype=11 archid=0000 devid=ca1:0:0> [rom_table]
0002016 I [5]<e0041000:ETM M3 class=9 designer=43b:Arm part=924 devtype=13 archid=0000 devid=0:0:0> [rom_table]
0002025 I CPU core #0: Cortex-M3 r1p1, v7.0-M architecture [cortex_m]
0002031 I 4 hardware watchpoints [dwt]
0002038 I 6 hardware breakpoints, 4 literal comparators [fpb]
0002055 I Loading C:\MyselfDir\WorkDir\GitlabDir\Beijia\0_accessory_rfid_bd\0_software\build\accessory_rfid_bd_app.bin at 0x08004000 [load_cmd]
0002333 C Error: argument 3: <class 'OverflowError'>: int too long to convert [__main__]