Forums

Arm7 or Freescale Coldfire?

Started by Roberto April 3, 2006
David Brown <david@westcontrol.removethisbit.com> wrote:

[...]

>connectivity testing rather than debugging). BDM is similar to JTAG in >many ways, but a bit more efficient since it is designed specifically >for debugging.
the main difference is IMO that BDM allows memory access without CPU intervention, IOW "non-intrusive". BDM can save you an emulator.
> If your budget stretches to high-end tools, the BDM >interface can be used for real-time debugging.
There should be also "cheap" BDM interfaces. Oliver -- Oliver Betz, Muenchen (oliverbetz.de)
Didi wrote:
>>I want to upgrade from 8 bit to 32 bit microcontrollers. >>Which is the best platform to invest on? > > > The real choice you should be considering is Power PC vs. the > rest. > Years ago I had to switch from CPU32 to something newer and > I considered the Coldfire, V4 was on its way to become soon > available.
Can you clarify what CPU32 is ? -jg
Jim Granville wrote:
> Didi wrote: > >>I want to upgrade from 8 bit to 32 bit microcontrollers. > >>Which is the best platform to invest on? > > > > > > The real choice you should be considering is Power PC vs. the > > rest. > > Years ago I had to switch from CPU32 to something newer and > > I considered the Coldfire, V4 was on its way to become soon > > available. > > Can you clarify what CPU32 is ? > -jg
Sure, Jim, perhaps I should have done so at the beginning. CPU32 is the processor core found in the 683xx products of Motorola (now Freescale); most basically, it is a 68020 minus the bitfield instructions and perhaps some other things (I think they never had the coprocessor interface implemented although the related instructions do trap properly for emulation etc., all that by memory - I wrote the FPU emulation stuff about 10 years ago...). Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------
> BDM can save you an emulator.
It certainly can, and probably does most of the time. The PPC products also have an equivalent of the BDM, but it is accessed through the JTAG port (that is, there are command registers which you can use via JTAG without activating the boundary scan facilities), which would be better than BDM since it uses a standard cable; however, those registers are kept secret... BDM was publically specified for at least some parts of the CPU32 line, but apparently for control purposes nowadays they do not publish the JTAG accessible debug port features (for the PPC, they call it COP - whatever this was supposed to mean, I know I knew it once :-). Dimiter (also known as "der Didi" .... :-) ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ Oliver Betz wrote:
> David Brown <david@westcontrol.removethisbit.com> wrote: > > [...] > > >connectivity testing rather than debugging). BDM is similar to JTAG in > >many ways, but a bit more efficient since it is designed specifically > >for debugging. > > the main difference is IMO that BDM allows memory access without CPU > intervention, IOW "non-intrusive". > > BDM can save you an emulator. > > > If your budget stretches to high-end tools, the BDM > >interface can be used for real-time debugging. > > There should be also "cheap" BDM interfaces. > > Oliver > -- > Oliver Betz, Muenchen (oliverbetz.de)
Thank you for all the replies.

Since my next designs will involve Ethernet and Can I think I will choose
Freescale with its
new MCF5223x (ethernet MAC+PHY, CAN, onboard 128Kb or 256Kb flash, 32Kb ram)

Roberto


Oliver Betz wrote:
> David Brown <david@westcontrol.removethisbit.com> wrote: > > [...] > >> connectivity testing rather than debugging). BDM is similar to JTAG in >> many ways, but a bit more efficient since it is designed specifically >> for debugging. > > the main difference is IMO that BDM allows memory access without CPU > intervention, IOW "non-intrusive". >
The ColdFire BDM gives access to the memory even while the CPU is running code, if that's what you mean. Yes, that's a very nice feature, which the original CPU32 BDM did not have.
> BDM can save you an emulator. >
Undoubtedly. I don't know if there are any emulators for the ColdFire, but I'd hate to have to buy one!
>> If your budget stretches to high-end tools, the BDM >> interface can be used for real-time debugging. > > There should be also "cheap" BDM interfaces. >
There are cheap BDM interfaces, but only the expensive ones give you real-time tracing (i.e., they track the timing of every executed instruction). With the cheap ones, you can start and stop execution, set breakpoints (hardware or software, including a few hardware data breakpoints), read and write registers and memory, etc. But only a high-end device will be able to give you an instruction backtrace after a breakpoint (something you can't do at all with jtag debugging solutions).
> Oliver
Didi wrote:
>> BDM can save you an emulator. > > It certainly can, and probably does most of the time. > The PPC products also have an equivalent of the BDM, but > it is accessed through the JTAG port (that is, there are command > registers which you can use via JTAG without activating > the boundary scan facilities), which would be better than > BDM since it uses a standard cable; however, those registers > are kept secret... BDM was publically specified for at least some > parts of the CPU32 line, but apparently for control purposes > nowadays they do not publish the JTAG accessible debug > port features (for the PPC, they call it COP - whatever this was > supposed to mean, I know I knew it once :-). >
JTAG debuggers do not, in practice, use standard cables. For some reason, known only to those making money from selling JTAG debuggers for sometimes huge sums of money, every different CPU target has its own incompatible JTAG debugger, often several depending on your choice of debugging software. The BDM is a better interface for debugging than JTAG, because it is specifically made for debugging, and has additional signals that JTAG does not. Thus Freescale's MPC5xx line of PPC-based microcontrollers have a BDM interface for debugging, and a JTAG interface for boundary scanning. I don't know about any other Freescale PPC devices. The BDM is, as far as I know, fully publicly specified. Sometimes it is not always easy to understand the details of the information, but certainly for the ColdFire and the CPU32 BDM interfaces, I have not seen any indication of information being hidden or kept back. I know jtag debugging information is restricted for some processors (like the msp430 and the AVR), but I have no idea about jtag debugging of PPC cores. If my memory serves me right, what Freescale call "COP" is what everyone else calls a watchdog (it stands for "Computer Operating Properly"), and has nothing to do with debugging. But I could well be mixing that up with another manufacturer. mvh., David
> Dimiter (also known as "der Didi" .... :-) > > ------------------------------------------------------ > Dimiter Popoff Transgalactic Instruments > > http://www.tgi-sci.com > ------------------------------------------------------ > > Oliver Betz wrote: >> David Brown <david@westcontrol.removethisbit.com> wrote: >> >> [...] >> >>> connectivity testing rather than debugging). BDM is similar to JTAG in >>> many ways, but a bit more efficient since it is designed specifically >>> for debugging. >> the main difference is IMO that BDM allows memory access without CPU >> intervention, IOW "non-intrusive". >> >> BDM can save you an emulator. >> >>> If your budget stretches to high-end tools, the BDM >>> interface can be used for real-time debugging. >> There should be also "cheap" BDM interfaces. >> >> Oliver >> -- >> Oliver Betz, Muenchen (oliverbetz.de) >
Didi wrote:
> Jim Granville wrote: >> Didi wrote: >>>> I want to upgrade from 8 bit to 32 bit microcontrollers. >>>> Which is the best platform to invest on? >>> >>> The real choice you should be considering is Power PC vs. the >>> rest. >>> Years ago I had to switch from CPU32 to something newer and >>> I considered the Coldfire, V4 was on its way to become soon >>> available. >> Can you clarify what CPU32 is ? >> -jg > > Sure, Jim, perhaps I should have done so at the beginning. > CPU32 is the processor core found in the 683xx products of > Motorola (now Freescale); most basically, it is a 68020 minus > the bitfield instructions and perhaps some other things (I think > they never had the coprocessor interface implemented although > the related instructions do trap properly for emulation etc., all that > by memory - I wrote the FPU emulation stuff about 10 years ago...). > > Dimiter >
The CPU32 also has a couple of additions compared to the 68020, such as a fast loop mode, and a bit more optimised division (the 68020 has a large hardware division unit - the CPU32 uses a microcode software loop, which turns out to be faster!). But basically it's the core used in most of Freescale/Motorola's 68k microcontrollers. The ColdFire core is basically a completely new implementation of the same CPU32 instruction set and programmer's model. They dropped a few of the more expensive (in terms of hardware) addressing modes and opcodes, and produced a new implementation that is very much more efficient (in terms of power, space, and work per clock cycle). Later ColdFire cores have added functionality (including some of the instructions originally dropped). mvh., David
Roberto wrote:
> Thank you for all the replies. > > Since my next designs will involve Ethernet and Can I think I will choose > Freescale with its > new MCF5223x (ethernet MAC+PHY, CAN, onboard 128Kb or 256Kb flash, 32Kb ram) > > Roberto >
I haven't heard anything about the pricing and availability of these chips yet, but they look *very* nice.
>Thus Freescale's MPC5xx line of PPC-based microcontrollers > have a BDM interface for debugging, and a JTAG interface for boundary > scanning. I don't know about any other Freescale PPC devices.
None of the newer ones (8xxx, 5xxx etc.) have separate BDM, all has gone JTAG - which is good enough an interface, my sole issue with it is the data secrecy. They claim to keep it secret because it would be a great support effort, which is of course nonsense. Some people do get enough data to make debugging equipment.
> If my memory serves me right, what Freescale call "COP" is what everyone > else calls a watchdog (it stands for "Computer Operating Properly"),
This is correct, I believe they introduced the term with the HC11 back in the 80-s. Or perhaps even earlier than the HC11 - anyone remember?
> and has nothing to do with debugging.
Well for reasons I do not remember (I am pretty sure I knew once, but I may be wrong on that :-) they call COP also the JTAG debug port, which is exactly the interface they keep secret. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ David Brown wrote:
> Didi wrote: > >> BDM can save you an emulator. > > > > It certainly can, and probably does most of the time. > > The PPC products also have an equivalent of the BDM, but > > it is accessed through the JTAG port (that is, there are command > > registers which you can use via JTAG without activating > > the boundary scan facilities), which would be better than > > BDM since it uses a standard cable; however, those registers > > are kept secret... BDM was publically specified for at least some > > parts of the CPU32 line, but apparently for control purposes > > nowadays they do not publish the JTAG accessible debug > > port features (for the PPC, they call it COP - whatever this was > > supposed to mean, I know I knew it once :-). > > > > JTAG debuggers do not, in practice, use standard cables. For some > reason, known only to those making money from selling JTAG debuggers for > sometimes huge sums of money, every different CPU target has its own > incompatible JTAG debugger, often several depending on your choice of > debugging software. > > The BDM is a better interface for debugging than JTAG, because it is > specifically made for debugging, and has additional signals that JTAG > does not. Thus Freescale's MPC5xx line of PPC-based microcontrollers > have a BDM interface for debugging, and a JTAG interface for boundary > scanning. I don't know about any other Freescale PPC devices. > > The BDM is, as far as I know, fully publicly specified. Sometimes it is > not always easy to understand the details of the information, but > certainly for the ColdFire and the CPU32 BDM interfaces, I have not seen > any indication of information being hidden or kept back. I know jtag > debugging information is restricted for some processors (like the msp430 > and the AVR), but I have no idea about jtag debugging of PPC cores. > > If my memory serves me right, what Freescale call "COP" is what everyone > else calls a watchdog (it stands for "Computer Operating Properly"), and > has nothing to do with debugging. But I could well be mixing that up > with another manufacturer. > > mvh., > > David > > > > > > Dimiter (also known as "der Didi" .... :-) > > > > ------------------------------------------------------ > > Dimiter Popoff Transgalactic Instruments > > > > http://www.tgi-sci.com > > ------------------------------------------------------ > > > > Oliver Betz wrote: > >> David Brown <david@westcontrol.removethisbit.com> wrote: > >> > >> [...] > >> > >>> connectivity testing rather than debugging). BDM is similar to JTAG in > >>> many ways, but a bit more efficient since it is designed specifically > >>> for debugging. > >> the main difference is IMO that BDM allows memory access without CPU > >> intervention, IOW "non-intrusive". > >> > >> BDM can save you an emulator. > >> > >>> If your budget stretches to high-end tools, the BDM > >>> interface can be used for real-time debugging. > >> There should be also "cheap" BDM interfaces. > >> > >> Oliver > >> -- > >> Oliver Betz, Muenchen (oliverbetz.de) > >