Debugging with FreeMaster/PCMaster - How to get started?

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

Debugging with FreeMaster/PCMaster - How to get started?

Jump to solution
2,576 Views
tomnai
Contributor I


I'd like to debug my SPI-sommunications (between an embedded PC and  a MC9S12X, the latter as slave) .
For debugging I use a B&E BDM Multlink interface.

Is it  a good idea to use FreeMaster in order to debug SPI communications, timing issues etc.?

I found very little information on how to debug a codewarrior project with FreeMaster, so I have a few questions on how to get started with FreeMaster:

  • Are there any good tutorials to get started?
  • Any alternatives to Freemaster?
  • How to export a codewarrior project to run with Freemaster?
  • Do I have to run Freemaster and Codewarrior in parallel?
  • Do I need to include Freemaster commands in the C source code?
  • How does FreeMaster find the variables I like to watch, which Codewarrior files to I have to load (in the Freemaster manual its stated ELF or map files, however I couldn't find any appropriate files in my Codewarrior project)

Best regards

Tom

Labels (1)
0 Kudos
1 Solution
638 Views
jimtrudeau
Senior Contributor I

Tom,

 

There is a good tutorial, but it's hiding on my desk. I taught an Intro course in FreeMASTER at our Technology Forum last month (June, so 6 weeks ago now). I need to get it posted. I'll do that RSN. I'll contact you directly to get it to you ASAP. It was build on Kinetis. There are examples in the FreeMASTER installation. IN a standard install, look here for S12

 

C:\Program Files\Freescale\FreeMASTER Serial Communication V1.5\examples\HC12

 

Alternatives... depends on what you want to do, but if you want to see data real time, not for free, not from Freescale, not that I know of.

 

You do not need to run FreeMASTER and CodeWarrior in parallel. In fact, you can't. You build your code using CodeWarrior (or another tool). You then run it, and connect over a communication channel using FM. Typically you only have one wire down to your board. You can EITHER debug using your development tool OR talk to it with FM. Not both at the same time.

 

Do you need to include FM commands in your C code? Depends. For the most basic things that FM can do, no. But for anything other than the basic things, yes. For example, FM on th etarget can store data in a buffer and flush that data out to the desktop on demand. You can't do that without modifying your app on the target, and having a communication driver on the target. In which case you need to have a target-side driver that is built into your code. 

 

BUT... FM also has a mode that communicates via OSBDM - no target driver required, and simply reads global/static variables real time. This is an almost zero-interference real time debug monitor, and no modification is required to your code. It finds the variables by reading the dwarf data created by the development tool debugger. You point to this data in the FM setup, by pointing to the appropriate file. This will vary depending on the target. I actually haven't done this on an S12, so off the top of my head, I don't know where this is. But... shouldn't be hard to figure out.  

 

View solution in original post

0 Kudos
3 Replies
639 Views
jimtrudeau
Senior Contributor I

Tom,

 

There is a good tutorial, but it's hiding on my desk. I taught an Intro course in FreeMASTER at our Technology Forum last month (June, so 6 weeks ago now). I need to get it posted. I'll do that RSN. I'll contact you directly to get it to you ASAP. It was build on Kinetis. There are examples in the FreeMASTER installation. IN a standard install, look here for S12

 

C:\Program Files\Freescale\FreeMASTER Serial Communication V1.5\examples\HC12

 

Alternatives... depends on what you want to do, but if you want to see data real time, not for free, not from Freescale, not that I know of.

 

You do not need to run FreeMASTER and CodeWarrior in parallel. In fact, you can't. You build your code using CodeWarrior (or another tool). You then run it, and connect over a communication channel using FM. Typically you only have one wire down to your board. You can EITHER debug using your development tool OR talk to it with FM. Not both at the same time.

 

Do you need to include FM commands in your C code? Depends. For the most basic things that FM can do, no. But for anything other than the basic things, yes. For example, FM on th etarget can store data in a buffer and flush that data out to the desktop on demand. You can't do that without modifying your app on the target, and having a communication driver on the target. In which case you need to have a target-side driver that is built into your code. 

 

BUT... FM also has a mode that communicates via OSBDM - no target driver required, and simply reads global/static variables real time. This is an almost zero-interference real time debug monitor, and no modification is required to your code. It finds the variables by reading the dwarf data created by the development tool debugger. You point to this data in the FM setup, by pointing to the appropriate file. This will vary depending on the target. I actually haven't done this on an S12, so off the top of my head, I don't know where this is. But... shouldn't be hard to figure out.  

 

0 Kudos
638 Views
tomnai
Contributor I

Hello Jim,

thanks for the helpful information and the FTF material. Actually, I already knew your nice power point presentation (small world :smileywink: and I've tried to apply it to my project.
It looks as if the codewarrior version for the K60 is quite a bit different from mine.

 

I found a presentation showing how to get it running  with the S12 (didn't get a proper link, just google for :  codewarrior freemaster "variables monitoring"). It seems to be working now.

Best regards

Tom

0 Kudos
638 Views
BlackNight
NXP Employee
NXP Employee

Hi Thomas,

this might at least answer some of your questions:

Tutorial: FreeMASTER Visualization and Run-Time Debugging | MCU on Eclipse

Erich

0 Kudos