D-BUG12 No longer Supported?

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

D-BUG12 No longer Supported?

5,965 Views
JimDon
Senior Contributor III
I am just wondering if D-BUG12 is still supported.

CW does not support it, and I actually don't use it, but I am wondering what the "official" freescale position is on D-BUG12

Thanks....
Labels (1)
Tags (1)
0 Kudos
14 Replies

2,012 Views
harlenChen
Contributor I
It's a old debug tools
Now, we all use BDM tool...
0 Kudos

2,012 Views
imajeff
Contributor III
I think it a bad idea to suggest that D-Bug12 is too old, so now we use a BDM tool instead. Here are the facts:

  1. D-Bug12 is still being developed (even with S12X support)
  2. It is a BDM tool, in case you did not know
  3. Don't miss this important one: It is a dual mode BDM tool it two ways. It can be used both as a POD (exactly like any other BDM tool), or as a ROM-resident monitor (education & cheap development).
  4. The second dual mode usage is that it can be used in BDMDB mode (good for GUI interfaces like hiwave and NoICE), or in the default mode, which lets me work out in the field using a dumb terminal, and no need to install anything on a remote PC. I don't even see these dual-mode features on any other BDM tool.
  5. There may be a few things where old is bad (i.e. old tomatoes). Please note in the case of software that old is best for users. It means it is tried and proven (unless of course it was dropped because it proved a bad design). In this case, the fact that D-Bug12 is old and is still maintained is excellent.
So why is D-Bug12 not extremely popular? I suppose because FSL doesn't get as much out of it as the end user does (it is free).

2,012 Views
JimDon
Senior Contributor III
Interesting. Can you down load new versions?

My only use for it has been pod mode, but my version does not support 512 or DX.
Now that the new version of NOICE knows how to burn the protection bytes, I probably don't need it any more, but it would be interesting to know how to get an update.

Last I checked, CW no longer supports D-BUG12 as a debugger, but maybe I missed something.
In 4.6 you don't even have the option to use a POD, but I suppose if you have an older version
it would still work.


As for it's usefulness for students, it's ok for just testing, but in the end they need to flash their project,
and with D-BUG12 you really only can use RAM. It doesn't seem to use the breakpoint registers, not
to mention it does not leave much flash left. Students don't have two boards, so sermon is a better
solution.

Please correct any misunderstandings I may.

0 Kudos

2,012 Views
imajeff
Contributor III
It is available from Freescale, search keyword "DB12S12". Also I learned about the S12X support from TechnologicalArts, although I admit I haven't used it with XGATE to see what kind of support.

What target... S12? What old version of D-Bug12 do you have? I got DB12S12FW.zip 4.0.0b32 a while ago.

Wrong about only loading to RAM:  With D-Bug12 I mostly Flash my targets (don't fool around with RAM-only unless you have a RAM extention pack, or are doing a small quick test). The command I used in older versions for hardware breakpoints was "USEHBR". Now I don't need to because it is default.

I will check about CW if nobody answers. There is maybe just a different way to configure it? Anyway, NoICE debugger does a good job supporting it.

0 Kudos

2,012 Views
JimDon
Senior Contributor III
I'll check tonight, but it looks like the same version.

As far as I can tell it does not mention anything about the 512 - and how the "half baked" linear to page register value should work. Maybe it figures it out. BTW this is where my comment about half baked paging came from - on the 08QE the banked paging scheme is much more sensible (I realize that part of the problem is that pages 00-2f are reserved for external memory). Also note the linear addressing mentioned in db12rg4 is just made up, as far as I can tell (and they don't define the linear address mapping for the 512, which is why I say the 512 does not appear to be supported).


What I meant about ram is if you only have one board - trying to use dbug12 leaves you no choice but to only use ram - which is the case of students,and which is pretty much useless..

I agree on NOICE - best 99.00 I've spent.


0 Kudos

2,012 Views
imajeff
Contributor III
Well have you tried DP512? I don't have one to test, but would not expect FSL to keep updating the description every time they release another build. They've done an aweful lot including add new devices between b24 and b32, yet the description only says "4.0.0". I hate to tell you but they are all 4.0.0 yet they are different. The 4.x means basically that they run on a DP256 at least.

Anyway, I am experienced with D-Bug12 and I program in both C and Asm. I have no trouble when using banked and linear notations in S-records, but I don't know what you mean about a "linear to page register value". Can you be more specific or give an example?

0 Kudos

2,012 Views
JimDon
Senior Contributor III
If you look in the db12rg4.pdf on page 84, there is a table that defines the translation from a "linear" address to a page register value. For example $C0000 - $C3FFF maps to a page regsister value of $30. The wierdest one is the linear address range of $F8000 - $FBFFF maps to unpaged address range of $4000 - $7FFF (which actually is page $3E $8000 - $BFFF).

$FC000 - $FFFFF mapping to unpaged $C000-$FFFF is not too bad.

But, it does look like DeviceInfo.Dat has parameters for the 512 and XD so perhaps you are able to convert and burn these chips, and there for presumably debug these chips, if dbug12 knows about the differences in the XD debug registers.




PS Don't confuse XD with Dx. ANother unfortate choice of terms, but there it is.





Message Edited by JimDon on 2007-08-13 04:09 PM
0 Kudos

2,012 Views
imajeff
Contributor III
I'm glad you're bringing out all these questions. I think FSL just wanted to ignore me because they indicated I was the only one who thought it was stupid...

The linear notation is, of course, made up (all address mapping is man-made). D-Bug12 does indeed translate it when loading. It is only used for loading S-records into a Flash-only realm, which turns out to mean only banked addresses [If you want to load in banked notation with D-Bug12 just add ";b" to the fload command line]. Linear notation began when Motorola long ago was able to load to the ROM array independent of the MCU so that address went from 0 to whatever, and was not yet mapped into the MCU where it might start at D000 or someplace.

Nutshell:
Linear is easier to understand than banked. 00:8000 is the first byte in banked notation, and 00000 is the same location given in linear notation. With linear, however, you cannot address any non-banked location. I'll point out also that determining the address is only a matter of where the bits are inserted in the representation. For banked, lower 16 bits are the non-banked part and upper 6 bits (before the ':') are the PPAGE (we also call bank). For linear, lower 10 bits are the address within the bank window (bank offset) and upper 6 bits are the PPAGE.

Note that the ppage offset (not using [00..2f]) has nothing to do with D-Bug12, but I do see a good reason why Flash in S12 MCU should all end at the same point, not start at same point. The start vector is at the end.

The DP512 is one of many specific devices not documented there in the reference guide. All supported targets have never been documented there. That's not real bad after we learn how it works. There is no difference in the mapping from one to another. DJ64 starts at much higher ppage than DP256, and so DP512 starts at a much lower ppage. To find out where, just used the same formula. DP512 Flash would begin at linear address 0x80000 (ppage 0x20).



Message Edited by imajeff on 2007-08-13 03:25 PM

P.S.  I forgot to address your claim that db12 can only debug in RAM if you have only one board. First, of course you can debug in Flash. Just not as easy to reflash. The new db12 has a command to erase only certain sectors, or you can include db12 monitor as part of your download (but I'd rather use AN2548 serial monitor in that case). Well if you have only one board then you do not have a BDM tool at all, so what were you planning to use? Either way you'll have to buy some hardware if you want to have more than only one board. I suggest getting a BDM POD from evbplus.com because they are the cheapest I found that is all ready to use.




Message Edited by imajeff on 2007-08-13 03:40 PM

Message Edited by imajeff on 2007-08-13 03:44 PM
0 Kudos

2,012 Views
JimDon
Senior Contributor III
Well, in general it is true that linear addressing is easier, however this mcu does not use linear addressing, so the contrived linear address just adds more confusion, in my opinion. 

While it is true you could flash some sectors with DBUG12, typically students aren't up to that and end up just using RAM when they go the DBUG-12 route. There is also the issue of ram vectors, where as with sermon your code is built with the vectors in there native places (of course sermon relocates them under the covers, but you can flash a sermon project to me the only software and it will work).

Will DBUG12 erase it self, or does it protect it self like sermon?

As I said, CW no longer supports the POD, but it is a handy flashing tool to have, in case you do overwrite the monitor.

 I have been using serial monitor and it works as well as my PE BDM.

All the evb plus boards support it. For what it's worth, OEMs need to adapt it their boards which is why FSL publishes the source code.

They just came out with a new Dragon12-Plus has some cool stuff on it, at a good price for what you get. Wayne is a good guy and will support you very well. Dragon12-PLUS


Message Edited by JimDon on 2007-08-14 11:11 AM

Message Edited by JimDon on 2007-08-14 11:14 AM
0 Kudos

2,012 Views
imajeff
Contributor III
Agreed; linear mapping ends up being useless in most cases, since physically mapping makes the memory space non-continuous anyway. It does confuse more people, from what I've seen (fortunately to me, but let's face it: Memory banks are confusing enough. Overflowing the "window" means running into an entirely different ppage location which may or may not be in Flash, and is confusing. Either one, in my opinion, is not a more harmful confusion, and is easy to overcome by learning.

It's too bad I didn't see this early 2003, or I could have influenced the author of GCC (gnu-m68hc11 toolchain) to base memory mapping on something more updated. The Motorola S-record document thew me off and I thought linear S-records were preferred and would give advantage. Still, since linear is more compatible with db12's "fload", GCC and db12 go together well.

I do, however, wish someone was working on remaking GCC so it runs with the banking scheme because of the confusion. Anyone interrested to help me? (Oh sorry, won't be many GCC buffs in this forum)

What's wrong with students using RAM before they learn to use Flash? It worked great for me, especially since DP256 has 12K RAM. I've never even used more than 8K Flash or 2K RAM yet in my commercial applications, so why would I need so much Flash just to learn? And I use db12's bootloader to load flash. Neither part allowes accidental erasure, but the bootloader can easily erase and reload the serial monitor part of db12. I erase the monitor part and load my final application to show it fully working in ROM. The bootloader can easily re-load the monitor part when ready to debug more. Of course that's when I moved on to a BDM pod since it's so cheap now days [especially evbplus.com]. I'm not saying db12 is as good as AN2548 when not using BDM. It's just that db12 BDM instead of AN2548 was definately worth it for real environment. I actually should design my own BDM pod like TBDML but using S08. It could be easy to build as TBDML but have near-db12-compatible serial interface.

I guess you are mixing up your terminology. Is your "sermon" a specific serial monitor? I'm confused because you talk as if there is only one "serial monitor", also suggesting that db12 is not??

You suggest that your "sermon" is just as good as a BDM POD, but it is not. Why would you think no app will need to actually use the same resources (i.e. serial port) that the sermon is using? I think your whole argument is only circumstantial, only going by what you need. My whole point is that D-Bug12 gives enough of everything (except maybe speed of loading Flash)... making it good for everyone! It's good with or without a support application like NoICE.

When students "go the DBUG-12 route", They tend to learn more (that's my experience). That's more important than

Yester morning I was just finally daring to try to evaluate CW 4.6, having given up on CW 4.5 (I've posted about the night mares with that). Now you say that CW has made the unintelligent decision to no longer support the "popular" D-Bug12 [That's right, Freescale themselves acknowledged that db12 is very popular].  So then,forget CW again. Too bad I went through all the trouble to download and install it. I should have guessed that FSL would drop their most stable and versatile debugger, most valuable to the smarter users.

You are right: evbplus.com (Wytec) is excellent, and Wayne is very good. That's why I support him as much as possible. I am confused because, why are you bringing up him while trying to argue that D-Bug12 is out? It is a small detail that has improved support for the AN2548 sermon (of course it was supported a little even before Dragon12-Plus). It's just that his product collection is the primary thing I am trying to preserve!  What did you think those products are based on? What do you think is pre-installed in the Dragon12-Plus? Did you think it was even possible to use AN2548 or anything else on the excellent DragonBDM, except D-Bug12 ?  So WRONG, all his boards do not support it. Besides, how do you expect to get AN2548 on there without a BDM pod?

I think you just don't realize how valuable it is to have option of debugging with this hardware-only solution, in an environment where you have nothing more than a dumb terminal.
SAVE THE TERMINAL DEBUGGER!  --I say.

Well I hope Freescale gets this message, but then never seem to get it. And it is us small customers (BTW there are many thousand more small customers than there are huge Automotive customers).  :smileysad:
0 Kudos

2,012 Views
JimDon
Senior Contributor III
- sermon = AN2548
- Of course the POD BDM must use DBUG-12
-If you only have one board (like a student) and want to use code warrior or noice for that matter,
POD mode is meaningless, and AN2548 is a better choice.
-Wytec now supplies an optional AN2548 (but not for a POD BDM).
- It's all well and fine as a student to play with ram, but a senior project needs to be burned in.
- Most apps don't need two serial ports Dragon12 brings out both of them.
- I don't know what applications you program, but there are many uses for reasonably large data structures in RAM and/or tables in flash. It's true that code wise I doubt a student would actually write even 8K.
- When students get a real job, they will be expected to be familiar with a commercial IDE. While I don't know how CW stacks up against P&E or other available commercial IDE's,  it has a very good feature set and so far has worked well for me. And it is free for the student to learn with.

Like I said maybe CW has it faults, but I thank freescale for making it available for free. I'll put it up against GNU/Some IDE/No debugger(NOICE doesn't count - university's won't pay) any day. While I fully realize that fsl did it to sell chips, it was a very wise move, and a great chance for students.

Hey, I came with stuff like buffalo and command line compilers - the temptation is to insist that these sorts of things are required, but honestly for todays students I doubt they will ever need to do that. It is really much easier to figure things out with a GUI tool like HIWAVE. (BTW Hiwave has a very nice command line too) When I went to school, we flipped in programs off the front panel, but of course that is a useless skill now - and good riddance it was a pain in the butt. .
0 Kudos

2,012 Views
imajeff
Contributor III
''
Like I said maybe CW has it faults, but I thank freescale for making it available for free. I'll put it up against GNU/Some IDE/No debugger(NOICE doesn't count - university's won't pay) any day. While I fully realize that fsl did it to sell chips, it was a very wise move, and a great chance for students.
''

I see that you are missing some things, but there is no point in repeating myself if you didn't catch it all the first time. It is complicated to try to see everything. Like why do you keep saying that CW is free? "Oh gee, I'm a misinformed student and I'm so blessed to get a limited CW edition when I could have been learning on the real GNU with no limitations"... You call a limited version free? I call GNU free. Of course it is commercial, or I would not be using it (I mean it is for commercial use). And why do you act like there is no debugger for it? Do you know GCC at all? Never heard of gdb with Insight? It only takes people adapting GCC as their own, and suddenly it gains all the benefits and more than CW, yet will still be free. That is the capability that I'm talking about.

You sound biased or blinded in a way that I would not be able to get my point across, whether I am right or not.

I'm done with this conversation; have fun.



Message Edited by imajeff on 2007-08-15 07:45 AM
0 Kudos

2,012 Views
JimDon
Senior Contributor III
I don't think that 32K and 32 files is very much of a limitation.

You did mention that you have only used 8K of flash, so you have only used 25% of that limit.
I can't see many projects for a student or hobbyist going over that limit.

You can't really use c++, but then EE students don't have the need for that either.
You can't use advanced beans in PE, but since student don't need to port the code
that is not relevant.

Not sure why GNU is "real" and CW is not.

Also not sure why you seem to get emotionally upset over this.
It's just a forum of opinions.




Also, thank you jedimaster for the infomation.





Message Edited by JimDon on 2007-08-15 10:27 AM
0 Kudos

2,012 Views
J2MEJediMaster
Specialist I
I've been checking with the FSL engineers here and D-BUG12 has not been supported by CodeWarrior since version 4.1.

---Tom

0 Kudos