Releases: Marus/cortex-debug
Preview Release - v0.1.10
This is a preview release before deploying to the Visual Studio Code Marketplace for the next release - which has some fairly substantial changes/additions.
- Significant refactoring of the code to make the large number of GDB servers now supported more feasible to maintain
- As a result of this launch.json files should be updated (we attempt to map existing ones, but this may not be perfect). Instead of separate debug types for each server (e.g. jlink-gdb) there is now one debug type (cortex-debug) and a servertype (e.g. jlink)
- Added support for viewing disassembly for functions (accessible through the command pallet)
- Will automatically show a disassembled version if the source is not found
- Ability to force disassembly view through the command pallet (you cannot currently set breakpoints through the disassembly views).
- Fixed bugs in the Cortex Peripherals & Cortex Registers views that caused them to not function properly after the first debug session.
- Improved formatting of the Raw Memory View
- Initial support for the Black Magic Probe (No SWO through the probe); The Black Magic Probe functions significantly different that most other GDB servers - so there may be issues which have not been detected yet.
- Improved SWO decoding:
- Will now automatically configure the ITM, DWT and TPIU based upon the settings provided - so this does not need to be done in code
- You must still configure the SWO output pin in your code - as this is microcontroller dependant
- SWO output can be captured through a separate serial port; this is useful for servers that either do not support SWO capture (PyOCD and St-Util); it may also be preferable for OpenOCD as the OpenOCD SWO output tends to have more jitter
- SWO decoding configuration has changed - you may need to edit your launch.json files
Testing release for v0.1.9 - with support for the texane/stlink Utils GDB server
This release has basic support for the texane/stlink (https://github.com/texane/stlink) GDB server (st-util).
- SWO output is not supported.
RTOS Support Preview Release
This is a preview release of RTOS support. Currently has only bee tested with FreeRTOS, but should in theory work with the other other RTOS's supported by the chosen debug server.
If you are using FreeRTOS with OpenOCD you will need to need to include the appropriate RTOS helper file from OpenOCD (no modifications are needed for J-Link) - see https://github.com/arduino/OpenOCD/blob/master/contrib/rtos-helpers/FreeRTOS-openocd.c
It should be noted that attempting to step through code before the RTOS has been initialized tends to result in unpredictable behaviour. For example:
- OpenOCD will tend to behave erratically if you try to do anything before vTaskStartScheduler() is called in FreeRTOS (I expect there will be some similar point for other RTOS's)
- The J-Link GDB server will hard crash if you attempt to step through your startup code (initialization of bss, static data, etc. - likely because of random data in device memory); although you can usually step through your FreeRTOS task initialization.
If you need to debug your startup code you should disable the RTOS support, only using RTOS support once tasks are actually running within the RTOS.
Preview Release - 0.1.2
This version has fixed bugs with the OpenOCD GDB Server support. Fixes a bug with SWO output, and not finding the correct programs even if they were on the path. This also has an experimental version of SWO support on Windows Environments.
Additionally there are improvements in the SWO graphing functionality:
- Real-Time graphs now show annotations for pauses and resumption of execution (vertical red and green lines - this may look like a brown line when single stepping through execution)
- Graphs will temporarily be paused when execution is paused.
- Graphs stop when debugging is terminated
- A summary view of a real time graph is displayed below the main graph
Preview Release - 0.1.1
Updated some documentation and replaced icon.
Preview Release
Initial Test Release for Cortex-Debug Visual Studio Code Extension.
This is not currently available through the Visual Studio Code Extension Marketplace - to install you will need to download the cortex-debug-0.1.0.visx file and install into Visual Studio Code using the "Extensions: Install From VSIX..." command.
Please also make sure you have the following required external tools installed:
- GCC arm toolchain
- J-Link and/or OpenOCD GDB servers (depending on Debug Probe in use)