Skip to content

deadsy/pycs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7e262c7 · Feb 27, 2023
Aug 14, 2021
Jul 2, 2019
May 18, 2019
Aug 14, 2021
Jul 7, 2016
Feb 27, 2023
Feb 24, 2019
Jun 23, 2019
Feb 27, 2023
Feb 24, 2019
Jul 9, 2015
Jul 19, 2021
May 29, 2016
Jul 19, 2021
Apr 29, 2017
Jun 6, 2019
Jul 4, 2019
Apr 8, 2018
Jun 20, 2016
Dec 2, 2016
Jul 13, 2016
Feb 24, 2019
Feb 24, 2019
Aug 14, 2021
Oct 14, 2017
Feb 24, 2019
Jul 2, 2019
Oct 14, 2017
Feb 20, 2023
Jul 10, 2019
Feb 24, 2019
Sep 5, 2017
Sep 5, 2017
Jun 25, 2019
Jun 1, 2019

Repository files navigation

pycs

Python Based ARM CoreSight Debug and Trace Tools

  • PyCS is a python based JTAG/SWD debugger for ARM chips.
  • Its current focus is systems using Cortex-M ARM CPUs.
  • It reads the SoC SVD files to give full peripheral/register decodes for a wide variety of Cortex-M based chips.

What do I need?

Installing the tool

  • Run "make" - this will build the ARM disassembler library.
  • Run "./pycs" in the same directory you extracted the code to.
  • If you don't have permissions to access USB devices you can fix that (with a udev rules file) or run with "sudo ./pycs"

Current Targets

$ ./pycs -l
supported targets:
  axoloti       : Axoloti Synth Board (STM32F427xG)
  efm32lg       : EFM32 Leopard Gecko Starter Kit (EFM32LG990F256)
  frdm_k64f     : FRDM-K64F Kinetis Development Board (MK64FN1M0VLL12)
  mb1035b       : STM32F3 Discovery Board (STM32F303xC)
  mb1075b       : STM32F4 Discovery Board (STM32F429xI)
  mb997c        : STM32F4 Discovery Board (STM32F407xx)
  nRF51822      : Adafruit BLE USB dongle (nRF51822)
  nRF52dk       : Nordic nRF52DK Development Board (nRF52832)
  nucleo-l432kc : Nucleo-L432KC (STM32L432KC)
  saml21        : Atmel SAM L21 Xplained Pro Evaluation Board (ATSAML21J18B)
  tepo          : Teenage Engineering Pocket Operator (EFM32LG890F128)

Dependencies

  • sudo apt-get install python3-lxml
  • sudo apt-get install python3-hid

Using the Tool

$ ./pycs -t mb997c

pycs: ARM CoreSight Tool 1.0
STM32F407xx: compiling ./vendor/st/svd/STM32F40x.svd.gz
ST-Link usb 0483:3748 serial u"H\xffj\x06PuIU'3\x04\x87"
target voltage 2.889V

mb997c*>

It has an interactive CLI.

  • '?' for menu help
  • '?' for command completion/argument help
  • TAB for command completion
  • 'help' for general help

Features

  • display memory
  • disassemble memory
  • display system control registers
  • display peripheral registers
  • halt/go the cpu
  • program flash
  • Segger RTT client
  • measure counter frequencies
  • etc. etc.

Other Documents