IriverNavigation ---+!! BDM interface construction %TOC% ---++ Status ---+++ Who is working on the BDM? The Rockbox project has bought a [[http://www.pemicro.com/products/product_view.cfm?product_ID=105&menu_id=details P&E Wiggler]], and LinusNielsenFeltzing has connected it to both H100 and H300. Documentation on the wiggler in Microsoft Word format: [[http://www.pemicro.com/downloads/tech_summary/PE3309%20-%20Technical%20summary%20for%20ColdFire%20CABLE%20Rev%20F.doc P&E BDM connection]] 2005-08-24: *Newsflash!* The H300 BDM interface is working!!! <verbatim> linus@linus:~/rockbox-all/iriver$ ./d GNU gdb 6.1.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=m68k-bdm-elf"... trying kernel driver: /dev/bdmcf0 trying bdm server: localhost:/dev/bdmcf0 Detected V2 core Coldfire debug module version is 0 (5206(e)/5272/5282) (gdb) </verbatim> 2004-10-01: *Newsflash!* The BDM interface is working!!! <verbatim> linus:/home/linus/iriver/build-bdm> m68k-bdm-elf-gdb GNU gdb 6.1.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=m68k-bdm-elf". (gdb) target bdm /dev/bdmcf3 CPU type: 1 Interface type: 1 Status 0x2 Driver version: 2.c CPU type: 1 Write system register TDR: 0x40000000 Read system register CSR: 0x1000000 Read system register RPC: 0x1260 Read system register VBR: 0x358 Read system register MBAR: 0x40000000 Detected V2 core Set delay 0 GDB target bdm connected to /dev/bdmcf3 Coldfire debug module version is 0 (5206(e)/5272/5282) (gdb) </verbatim> DaveHooper: Am I right in thinking the coldfire bdm support in gdb does not actually support the registers of the 5249 (MBAR2, RAMBAR2, ...)? I guess those are not so important but that's something else that probably needs addressing at some point (and giving back to the community) LinusNielsenFeltzing: Correct. It doesn't have support for the 5249 control registers. Some day, I might send them a patch... ---++ Connectors StephanNielsen: P&E Wiggler Pinout (which also corresponds to the Motorola recommended BDM pinout in the [[http://www.freescale.com/files/netcomm/doc/ref_manual/COLDFIRE2UM.pdf][User's Manual]] p.178) http://www.pemicro.com/images/products/coldfire/cable_cf/CF_pinout.gif ---+++ Clarification regarding the TEA/TA signal The TEA signal in the BDM connector is used for terminating a hung bus access, i.e a bus error. The 68xxx family has a TEA signal to terminate a bus cycle when TA isn't asserted by the Chip Select logic. This generates a Bus Error on the 68xxx family. However, the 5249 doesn't have a TEA signal. Instead, the watchdog timer (SWT) takes care of the bus termination by asserting TA if the software doesn't respond to the IACK cycle of the watchdog timer interrupt. The debugger has to be able to terminate a hung bus cycle. It does so by asserting the TEA/TA signal, which generates a bus error on the 68xxx and terminates the bus cycle normally on the 5249. StephanNielsen: P&E Wiggler Pinout (which also corresponds to the Motorola recommended BDM pinout in the [[http://www.freescale.com/files/netcomm/doc/ref_manual/COLDFIRE2UM.pdf User's Manual ]] p.178) | http://www.pemicro.com/images/products/coldfire/cable_cf/CF_pinout.gif | ---++ Debugging with BDM/GDB This is not exactly for the MFC5249, but it may still help: [[http://www.ucdot.org/article.pl?sid=03/07/01/0630204&mode=thread Using gdb/bdm for hardware testing a 5272 board]] ---++ KEEPACT and PW_EN On the H1xx, the power is kept on by setting PW_EN (H1xx) / KEEPACT (H3xx) high. This is done by setting GPIO51 high, or by pulling up the signal with a 100K resistor. Both H1xx and H3xx has an unmounted resistor for this purpose. On the H1xx it is R118 and on the H3xx it is R170. |*Placement of R118 on the iriver H1x0*|*Placement of R170 on the iriver H3x0*| |<a href="%ATTACHURLPATH%/h1xx_r118.jpg"><img src="%ATTACHURLPATH%/h1xx_r118.jpg" alt="h1xx_r118.jpg" width='165' height='308' /></a>|<a href="%ATTACHURLPATH%/h300_r170.jpg"><img src="%ATTACHURLPATH%/h300_r170.jpg" alt="h300_r170.jpg" width='165' height='308' /></a>| ---++ Links MCF5206e BDM design: http://www.fortunecity.com/campus/psychology/493/bdm/bdm.htm (broken link, [[http://www.google.com/search?q=cache:kGsTXTv_mKYJ:www.fortunecity.com/campus/psychology/493/bdm/bdm.htm+High-Speed+BDM+Pod+for+ColdFire+CPU Google cache]] is still available)%BR% This "article" is based on this BDM design which seems like a good design for fast-speed BDM: http://www.cvs.cx/Documents/CFPOD.pdf Chip used in this design is a 20-pin [[http://thayer.dartmouth.edu/~engs031/databook/palce16v8.pdf PALCE16V8-25LNC]] Flash Erasable, Reprogrammable CMOS PAL Device. Can anyone confirm if it will work for the Coldfire 5249? The old [[http://cmp.felk.cvut.cz/~pisa/m683xx/bdm_driver.html Pisa BDM for m683xx]]: (will not work on the Coldfire, but contains interesting info anyway) Nice, free hardware, open software etc. etc. BDM pod for Coldfire designed by Daniel Malik: http://forums.freescale.com/t5/68K-ColdFire-reg-Microprocessors/TBLCF-open-source-debugging-cable/m-p/7543. Works with CodeWarrior as well as with GDB (using m68k-bdm-gdbserver from http://bdm.sourceforge.net) Additional BDM info: ftp://ftp.cybertec.com.au/pub/bdm/ , http://sourceforge.net/projects/bdm/
r24 - 25 Feb 2013 - 11:20:08 -
Copyright © by the contributing authors.