TBLCF open source debugging cable

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TBLCF open source debugging cable

65,540 Views
DanielM
Contributor III
Hello everybody,

for the benefit of the ColdFire users community I am releasing an open-source debugging cable. The cable works with CodeWarrior version 6.3. You can download evaluation version of CodeWarrior 6.3 here:

 


https://www.freescale.com/lgfiles/updates/CWCF/CW_ColdFire_6.3_Update.exe


Cost of components for the cable is under $10.

Feedback on functionality and/or any problems is most welcome.

I will be updating this post with new releases in case of bug fixes or other improvements.

I have added a zip file with the PCB design in EPS and BMP formats.

Daniel

Message Edited by DanielM on 2006-10-13 11:03 AM

 

tblcf_v10.zip

eps_and_bmp_v2B.zip

Message Edited by t.dowe on 2009-09-02 04:58 PM
Labels (1)
0 Kudos
Reply
110 Replies

2,202 Views
ovf
Contributor I
Hi BlueHacker! Please, send site info for the chinese company that makes the TBLCF cable. I think it could work with old 68K processors as it seems they use the same BDM interface. Thanks.
0 Kudos
Reply

2,202 Views
bluehacker
Contributor III
I bought TBLCF from HuaHen tech. which is freescale's design alliance. they develop coldfire development board, and powerpc board. but I think they now focus on samsung and TI davinci. hh tech located in Hefei city. I am also in Hefei. I don't think its TBLCF is good, they just copy the open source design and have not deep understanding about BDM
0 Kudos
Reply

2,202 Views
bluehacker
Contributor III

sorry. I miss they website.

here is:http://www.hhcn.com/chinese/Coldfire.htm 

0 Kudos
Reply

2,202 Views
Dave_SC
Contributor I

Hi Folks,

 

I got a AxDBM usb BDM interface and installed the opensource BDM tools.

My Linux development machine recognizes the device as /dev/tblcf4.

The BDM is connected to my Coldfire 5475 board.

 

However, I get an error when running  ./bdm-chk  /dev/tblcf4

 

 

Output:

BDM Check for Coldfire processors.
Device: /dev/tblcf4
trying usb driver: /dev/tblcf4
Driver Ver : 2.13
Processor  : Coldfire
Interface: TBLCF USB Coldfire
Reading CSR failed: No response to BDM request

 

 

Anyone have any idea what I might be doing wrong?

Any help appreciated,

Dave 

 

0 Kudos
Reply

2,202 Views
ChrisJohns
Contributor I

Hi Dave,

 

The bdm-chk program will fail but it should get further than this.

 

 Can you add "-d 9" to the command line:

 

   ./bdm-chk -d 9 /dev/tblcf4

 

and send the output. Are you running as root or as a user ?

 

Regards

Chris

0 Kudos
Reply

2,202 Views
Dave_SC
Contributor I

Hi Chris,

 

Thanks for your suggestion.  

I moved my test to a pristine linux machine, compiled+installed m68k-bdm tools.  I tested bdm-chk on my 5485evb w/ onboard DBM interface, whereas my previous failed test was with a custom 5475 board with a wiggler-BDM interface.  I had some measure of success with the eval board.  I suspect there may be a difference between the two BDM interfaces.  I know the wiggler interface was tested and works with a cyclone-max debugger.  Do you know if the cyclone-max and the usb-tblcf have the same bdm interface?  I think I read somewhere that the tblcf has a simplified interface.

 

 

I detected my usb-tblcf device as /dev/tblcf2.

There still seem to be some errors, here is my output now (dots abbreviated due to msg length error):

 

$ sudo ./bdm-chk -d 9 /dev/tblcf2 
BDM Check for Coldfire processors.
Device: /dev/tblcf2
trying usb driver: /dev/tblcf2
Driver Ver : 2.13
Processor  : Coldfire
Interface: TBLCF USB Coldfire
CSR break set, target stopped.
Debug module version is 3, (5307)
Target status: 0x4 -- NOT RESET, NOT HALTED, STOPPED, POWER ON, CONNECTED.
Register test,    1 of    1 :
   D00 : ........................................
   D01 : ........................................
   D02 : ........................................
   D03 : ........................................
   D04 : ........................................
   D05 : ........................................
   D06 : ........................................
   D07 : ........................................
   A00 : ........................................
   A01 : ........................................
   A02 : ........................................
   A03 : ........................................
   A04 : ........................................
   A05 : ........................................
   A06 : ........................................
   A07 : ........................................
Read/Write SRAM Test, 1 loops
     1 : ........................................
Alignment SRAM Test, 1 loops
Byte Write alignment write,    1 of    1 :
................................
.
reading bytes :
................................
reading words :
................
reading long words :
........
Word (16bits) Write alignment verify,    1 of    1 :
................
reading bytes :
................................
reading words :
................
reading long words :
........
Long Word (32bits) Write alignment verify,    1 of    1 :
........
reading bytes :
................................
reading words :
................
reading long words :
........
Block Write alignment verify,    1 of    1 :
 reading bytes :
................................
reading words :
................
reading long words :
........
Coldfire execution test, loading code to SRAM.
Stepping code.
Stepping, pc is 0x20000000, csr = 0x01300000
Stepping, pc is 0x00000092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
Stepping, pc is 0x00120092, csr = 0x01300030
WARNING: PC is not in the SRAM, something is wrong.
A0: 80000000   D0: 80000000
A1: 80000000   D1: 80000000
A2: 80000000   D2: 80000000
A3: 80000000   D3: 80000000
A4: 80000000   D4: 80000000
A5: 80000000   D5: 80000000
A6: 80000000   D6: 80000000
A7: 7FFFFF70   D7: 80000000
        RPC:00120092
         SR:00002708
        VBR:00000010
       CACR:00000000
       ACR0:67FE6404
       ACR1:5FF76460
     RAMBAR:20000001
       MBAR:80000000
        CSR:01300030
       AATR:00000005
        TDR:00000000
        PBR:00000000
       PBMR:00000000
       ABHR:00000000
       ABLR:00000000
        DBR:00000000
       DBMR:00000000
CSR halt not set, target failed to halt, CSR = 0x00300000

 

Are the errors listed expected?

Thanks,

 

Dave
 

0 Kudos
Reply

2,202 Views
ChrisJohns
Contributor I

Hi Dave,

 

The output you showed is correct and it is working. The test that is failing is designed for a specific SRAM set up and I have not never updated it for this series of devices.

 

I do not not know why cyclone-max works and this does not with the custom board. The BDM interface is same. The only thing I can think of is related to the reset and period of time it is being held for. The use of PLLs means you need to wait a while but this seems to be working on the eval board. If you can hook up something and see the difference that would be great. The only other thing is something hardware related like the amount of drive on reset or a power supply and/or gounding issue.

 

Regards

Chris

0 Kudos
Reply

2,202 Views
pet_12
Contributor I

Hi jma

 

I think, Maybe you swap between row connector, row 1 and 2

It should work properly. 

0 Kudos
Reply

2,202 Views
jma
Contributor I
Hi Damiel,

Pls see post below, do you think it's a dll/7.1 or hardware problem?

Best...
 jma


Hi,

Below is a msg log printed while CodeWarrier 7.1 connects to the tblcf_gdi.dll
The IDE version is 5.9.0. File: CW_ColdFire_7.1_SE.exe

The messages are printed when you start the debugger.
The TBLCF is programmed and enumerates. Board rev 2B.

The TBLCF GDI is setup under remote connections, .dll and cfg.

I migrated to 7.1 as 6.3 would not build the Sw_Main_Board code for the web server.
Firmware in the TBLCF board,tblcf_gdi.dll (8/19/2006) and USB driver is from the file tblcf_v10.zip

What may be wrong?

Best,
 jma



=================================================
GDI:   DiGdiOpen()
==> DI_OK
GDI:   DiGdiVersion()
==> DI_OK
GDI:   DiGdiAddCallBack(8192)
==> DI_OK
GDI:   DiGdiAddCallBack(16384)
==> DI_OK
GDI:   DiDirectCommand(USB_DEVNO 0)
==> DI_OK
GDI:   DiDirectReadNoWait()
==> DI_OK
GDI:   DiGdiInitIO()
GDI:      Callback(DI_CB_MTWKS_EXTENSION) kind=MTWKS_CB_REPORTONLYFATALERROR, Result=DI_OK
GDI:      Callback(DI_CB_MTWKS_EXTENSION) kind=MTWKS_LEGACY_CB_COLDFIREAUTOCONFIG, Result=DI_OK
==> DI_ERR_FATAL
GDI:   DiGdiClose(TRUE)
0 Kudos
Reply

2,202 Views
jma
Contributor I
Hi,

Below is a msg log printed while CodeWarrier 7.1 connects to the tblcf_gdi.dll
The IDE version is 5.9.0. File: CW_ColdFire_7.1_SE.exe

The messages are printed when you start the debugger.
The TBLCF is programmed and enumerates. Board rev 2B.

The TBLCF GDI is setup under remote connections, .dll and cfg.

I migrated to 7.1 as 6.3 would not build the Sw_Main_Board code for the web server.
Firmware in the TBLCF board,tblcf_gdi.dll (8/19/2006) and USB driver is from the file tblcf_v10.zip

What may be wrong?

Best,
 jma



=================================================
GDI:   DiGdiOpen()
==> DI_OK
GDI:   DiGdiVersion()
==> DI_OK
GDI:   DiGdiAddCallBack(8192)
==> DI_OK
GDI:   DiGdiAddCallBack(16384)
==> DI_OK
GDI:   DiDirectCommand(USB_DEVNO 0)
==> DI_OK
GDI:   DiDirectReadNoWait()
==> DI_OK
GDI:   DiGdiInitIO()
GDI:      Callback(DI_CB_MTWKS_EXTENSION) kind=MTWKS_CB_REPORTONLYFATALERROR, Result=DI_OK
GDI:      Callback(DI_CB_MTWKS_EXTENSION) kind=MTWKS_LEGACY_CB_COLDFIREAUTOCONFIG, Result=DI_OK
==> DI_ERR_FATAL
GDI:   DiGdiClose(TRUE)

0 Kudos
Reply

2,202 Views
gassettj
Contributor I
Hello,

Just wanted to drop a line to the group that we have some TBLCF boards available for sale. We have bare pcb's and fully assembled and tested boards at http://www.mondogadget.com/gf/project/tblcf/.

We have been using the tblcf to debug a ColdFire based project that we are currently developing with great results. Since we were doing a run of tblcf's for our own development needs we ran extra boards, we hope it is helpful to the community.

Thanks,
Jack Gassett.
0 Kudos
Reply

2,202 Views
MLCML
Contributor I
Hello Daniel,
I am sorry to trouble you with my problems, but I have bought the Elektor DigiButler board and a pcb of your TBLCF. The microcontroller is programed and Windows see the device
"Open Source BDM-JM60". The CodeWarrior compiler 7.1.1 can not connect to TBLCF. I get the message "Connect Failed.". Have you an idea what's wrong. I have the same situation under Windows XP and Vista.
Thanks for help
MLCML
0 Kudos
Reply

2,202 Views
hwn
Contributor I
Hello,

did you made in Codewarrior the Debugger Target Settings for TBLCF?

You must inform Codwarrior in the "Remote-Debugging" -"Connection-window" about the "GDI Remote Connection" and the driver "tblcf_gdi.dll".

Best regards Werner
0 Kudos
Reply

2,202 Views
MLCML
Contributor I
Hello,
 
yes I do this settings. I have new problem on the ethernet site. The hub don't recognize the board. Between the pins 1 & 2, 1 & 3 I can measure 0 ohms. Is that okay?
 
Thanks
 
ML
0 Kudos
Reply

2,202 Views
beanhauler
Contributor I
I have the TBLCF board that Daniel designed working OK with the DIgi butler board.
It took me 6 m onths to get it working based on my lack of understanding and being led into a false sense
of ability after using the pic devices....they just work.
The side track was developing my own board while waiting for the digibutler ...which failed to work...because of my poor board reproduction!!
Currently i am not using the digibutler code as part of that but have managed to compile it.
I have used Eric's http code as published on the code warrior site and it compiles fine under codewarrior 6.3.
You have to be very careful with the connections from the TBLCF and the settings in codewarrior have to match the capabilities of the board.
Watch very carefully the flash settings ie code start and finish
Most of your problems will be if you fail to flash the board correctly.
It looks like it flashes but you have a situation where the code writes over itself and crashes.
Particularly if you try and upload some web pages
 
Unless anyone is a whizz witht he soldering iron I woul dsuggest that you buy the full blown demo board from freescale.I believe it has the larger flash chip on it and they give you more pins out of the device
ie the spi pins are not brought out on the digibutler board.And it should work out of the box.
 
Never the less it will work as long as you start living the device.
Once you understand the topology and realise just how to program it then it all makes sense.
It is tough though if its your first experirnce of freescale.
 
It gets easier.....now i can concentrate on getting some code working
0 Kudos
Reply

2,202 Views
JimDon
Senior Contributor III
Well, my experience has been for the most part, Freescale parts just work too.

It is not entirely fair to compare a part that is orders of magnitude simpler.  It would be expected that a more complicated part would be, well more complicated.

I am interested in "Eric's http code " and the  "code warrior site". Where is this?




0 Kudos
Reply

2,202 Views
beanhauler
Contributor I
 
 
The interniche stack is a freebie from this site
 
Search under interniche and http stack etc all on the freescale main website and it turns up quite a lot.
Ive downloaded much of erics code and examples test etc
Also checkout "UTasker" on the web.Mark has written a superb program for http access
Its free to test but chargeable if you use commercially.
 
Ther are links to codewarrior etc here too
 
 
 
 
BRgds Beanhauler
0 Kudos
Reply

2,202 Views
hwn
Contributor I
Hello,

i dont know your Coldfire Board. I only have experience with Daniels TBLCF and my own Coldfire MCF5213-Board.

This work well with my own TBLCF-Board (my own Layout based on Daniels Schematic and Software).

Sorry!

Best regards Werner

0 Kudos
Reply

2,202 Views
freegeek
Contributor III
All, the JB16 is still on the free sample program and is still a suported product, sometimes when it goes out of stock the "free sample" button will dissapear, but will reapper when there is new stock.
 
The JB16 is one of the most requested items on the "free sample" programme!
 
Sometimes when it goes out of stock it may say it is on a 10 week delivery time, this is also incorrect, for instance the next batch is due in on the 10th October.
0 Kudos
Reply

2,202 Views
safir123
Contributor I
HI everybody,

I am very new to coldfire. I wish to build the debug cable to begin experimenting with it, but it seems MC68HC908JB16JDWE is off the production. The PCB layout that i found here was for MC68HC908JB16JDWE and freescale even does not have a replacement part for this one.

The distributor i talked to asked to migrate to MCF51JM series which are all in LQFP packages and the PCB is not build around them. So could somebody here help me with the alternative board layout or with any of the replacement part that is available.

Regards
safir
0 Kudos
Reply

2,202 Views
MrBean
Contributor I
@safir123:
 
Partnumbers have changed from MC68HC908...  to MC908...
Look for MC908JB16JDWE
0 Kudos
Reply