====== [hemmerling] Hardware Debugger and Software Debugger ====== ===== General Hardware Debuggers & Software ===== *[[http://www.isystem.com/|iSYSTEM AG für Informatiksysteme]]. *[[http://www.isystem.com/products/bluebox|iSYSTEM AG für Informatiksysteme "BlueBox"]]. *[[http://www.isystem.com/index.php/products/hardware/ic3000|iSYSTEM "iC3000"]]. *Blog [[http://embedded.typepad.com/isystems-smpo/|iSYSTEM AG für Informatiksysteme "iSystem News and Technical Blog"]]. *[[http://www.abatron.ch/products/bdi-family.html|Abatron AG "Abatron BDI Family"]]. *[[http://www.abatron.ch/products/debugger-support/gnu-support.html|Abatron AG "GNU Support. High-speed BDM/JTAG Interface for GNU Debugger"]]. ===== Hardware Debuggers & Software just for ARM ===== *"CMSIS DAP". *[[http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php|ARM "CMSIS - Cortex Microcontroller Software Interface Standard"]]. *[[http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm|KEIL "About CMSIS-DAP"]]. *[[http://mbed.org/handbook/CMSIS-DAP|mbed "CMSIS DAP"]] *"ST-LINK" & "ST-LINK/V2". *[[http://www.st.com/internet/evalboard/product/251168.jsp|STMicroelectronics "ST-LINK/V2"]] - "In-circuit debugger/programmer for STM8 and STM32", "STM32 applications use the USB full speed interface to communicate with ATOLLIC, IAR or KEIL Integrated Development Environments". *[[http://de.farnell.com/stmicroelectronics/st-link-v2/programmierer-icd-f-stm8-stm32/dp/1892523?in_merch=true&MER=i-9b10-00001422|Farnell "STMICROELECTRONICS - ST-LINK/V2 - PROGRAMMIERER,ICD,F. STM8,STM32"]]. *The outdated [[http://www.st.com/internet/evalboard/product/219866.jsp|STMicroelectronics "ST-LINK"]] - "In-circuit debugger and programmer for STM8 and STM32 MCUs", "STM32 applications use the USB full speed interface to communicate with ATOLLIC, IAR or KEIL Integrated Development Environments". *"J-Link" & "mIDAS-Link". *[[http://www.segger.com/jlink.html|SEGGER Microcontroller GmbH & Co.KG "J-Link"]]. *[[http://www.segger.com/j-link-edu.html|SEGGER Microcontroller GmbH & Co.KG "J-Link EDU"]] - "Inexpensive J-Link for educational purpose". *[[http://www.iar.com/en/Products/Hardware-Debug-probes/IAR-J-Link-Lite/|IAR J-Link Lite for Cortex-M]]. *[[http://www.analog.com/en/processors-dsp/analog-microcontrollers/aducrf101/processors/evaluation-boardstools/MicroConverter_Development_Tools/resources/fca.html|Analog Devices, Inc. "Development Tools. MicroConverter Products - Precision Analog Microcontrollers"]] - mIDAS-Link is bundled in the "QuickStart Plus System" edition of "ADuC7xxx Development Kits". *[[http://ez.analog.com/thread/4110|Analog Devices, Inc. "EngineerZone / Analog Microcontrollers / Diskussionen" Thread "mIDAS-Link"]] of 2010-07-22. *KEIL. *[[http://www.keil.com/ulink2/|Keil ULINK2 Debug Adapter]]. *[[http://www.keil.com/ulinkme/|Keil ULINK-ME Debug Adapter]]. *[[http://elmicro.com/de/cortex-m3-ulink-me.html|Elektronikladen "Cortex-M3 JTAG-Kit. KEIL Starterkit mit MCBTMPM330 und ULINK-ME"]]. *[[http://www.code-red-tech.com/red-probe-plus.php|Code Red Technologies Ltd. "Red Probe+"]] - "JTAG/SWD Debug Probe+ for ARM-based Microcontrollers". *The OpenSource [[http://openocd.sourceforge.net/|SourceForge "Open On-Chip Debugger. Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing"]], [[http://www.sourceforge.net/projects/openocd|SourceForge "OpenOCD - Open On-Chip Debugger"]] - "Provides JTAG access from GDB (or directly with TCL scripts) to processors with ARM, MIPS, and other cores". ===== Software Debugger ===== *[[http://www.gnu.org/software/gdb/|GDB: The GNU Project Debugger]]. ===== Resources ===== *For software development of embedded realtime applications ( e.g. motor control ), you need to have monitor data in realtime. *It is not suitable to work with a software debugger which stops the CPU/MPU at a breakpoint, to set a variable of the embedded software. If you do so, you might ruin your connected hardware by a system crash caused by uncontrolled device operation ( e.g. of a motor, motor control electronics based on IGBT, Thyristors,... ). *Tracing is a useful development technology to monitor embedded data and especially MCU data in realtime. *The CPU core must support tracing ( e.g. ARM Cortex M3 supports tracing, ARM Cortex M0 doesn't support tracing ). *The physical CPU as produced by the chip manufacturer ( e.g. Atmel, Freescale, TI,..) must support tracing. Especially there must be the right pins at the chip package which support tracing. *The physical ( evaluation ) board must support tracing, i.e. the trace signal from the MPU pins must be available on the board at a debugging connector. There are many affordable embedded evaluation boards and embedded demo boards, especially giftware by the MCU chip manufacturers, which doen´t support tracing :-(. *The physical interface connector of the board and of the hardware debugger must support tracing. The traditional 2x7 JTAG interface doesn't support tracing :-(. *See [[http://en.wikipedia.org/wiki/Joint_Test_Action_Group|EN.Wikipedia "Joint Test Action Group"]], [[https://de.wikipedia.org/wiki/Joint_Test_Action_Group|DE.Wikipedia "Joint Test Action Group"]] e.g for connector photos. *The hardware debugger must support tracing. *"J-Link", "ST-LINK" and most other affordable hardware debuggers don´t support tracing :-(. *[[http://www.isystem.com/index.php/products/hardware/ic3000|iSYSTEM "iC3000"]] supports tracing. {{tag>"hardware debugger" "hardware debuggers" "hardware debugging" "software debugger" "software debuggers" "software debugging" hardware software debugger debuggers debugging}}