completely open source debugging, is this possible? - Page 1
Forum section: electronics / general

author: cdwijs
author_rank: Regular Contributor
timestamp: February 13, 2016, 09:24:26 am
content: Hi All,i have worked with PIC16, PIC18, PIc24, ATmega, and ATtiny chips. All those chips have in common that the protocol used to debug them is secret. Therefore it's impossible to debug them with anything other than the tools of the manufacturer.Is there a line of microcontrollers that have a documented way to debug them?Kind regards,Cedric

author: andersm
author_rank: Super Contributor
timestamp: February 13, 2016, 11:39:57 am
content: Anything Cortex-M. PIC32s also have standard MIPS EJTAG interfaces in addition to Microchip's proprietary interface. Atmel's debugWIRE protocol has beenpartly reverse-engineered.Edit: Freescale'sBDM protocolis public, and TI seems to have publishedsource codefor the MSP430 debug interface.

author: Maxlor
author_rank: Frequent Contributor
timestamp: February 13, 2016, 11:57:04 am
content: A few years ago, we usedOpenOCDto program and debug an ARM926 chip. Since OpenOCD is open source, I assume the debug protocol is public or has at least been suitably well reverse engineered.

author: Ian.M
author_rank: Super Contributor
timestamp: February 13, 2016, 12:07:36 pm
content: The classic PIC18F on-chip debug silicon has been reverse engineered.http://jaromir.xf.cz/hdeb/hdeb.html

author: Karel
author_rank: Super Contributor
timestamp: February 13, 2016, 12:41:52 pm
content: Quote from: cdwijs on February 13, 2016, 09:24:26 amPIC32 Family Reference Manual, Sect. 33 Programming and Diagnostics:http://ww1.microchip.com/downloads/en/DeviceDoc/61129F.pdf

author: legacy
author_rank: Super Contributor
timestamp: February 13, 2016, 12:45:08 pm
content: Quote from: andersm on February 13, 2016, 11:39:57 amexcluding 683xx

author: Brutte
author_rank: Frequent Contributor
timestamp: February 13, 2016, 09:48:41 pm
content: Quote from: cdwijs on February 13, 2016, 09:24:26 amThe JTAG for AVR8 is not very reverse-engineered but JTAGICEMk1 (m16+quartz) works with many AVR8s and avarice. At least for me. I have posted my findings on Avrfreaks but Atmel was not particularly happy about that and removed my posts and images..As mentioned, dW is reverse-engineered a bit but I do not know about any implementation.Also, theHappy Jtag 2dongle (closed source) does some debugging on some ATXmegas and ATMegas.Do not bother with AVRs.STM8 has full documentation on their debugging protocol (search ST)Same with ARM, both JTAG, SWD and even ETM.PIC32 works ok with PICKit2 (via ejtagproxy).

author: legacy
author_rank: Super Contributor
timestamp: February 13, 2016, 10:44:52 pm
content: "Intellectual Property", "Copyright", "Royalty", have you ever heard ?it's money to refund your effort

author: uncle_bob
author_rank: Unknown
timestamp: February 14, 2016, 03:35:00 am
content: Quote from: cdwijs on February 13, 2016, 09:24:26 amHiIn addition to published protocols and specs, most ARM devices (Freescale included) have open source firmware for driving the debug port. You can deal with the process from a fairly high level if you wish.All that said, the open source stuff is not as stable as the commercial products.Bob