(noobie) USB device and MCF51JM128

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

(noobie) USB device and MCF51JM128

Jump to solution
4,415 Views
MrJK
Contributor I

Hello,

 

I need some help about the DEMOJM card ( and its ColdFire V1 MCF51JM128) . I would be able to control via my computer my DEMOJM card.

 

I saw this tutorial : http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=USBJM_TRAINING, but it use USBSimple.dll, which is not useable with LabView ( I don't want tu use VS C#). And the target is the old MC9s08JM60, not the CFv1.

 

I tried to make a Virtual COM port, but, I didn't find the good driver. But, It would be the easyest and preferred solution.I try to use hyperterminal, but, it does'nt work well. ( strange characters appearinstead what I would).

 

I tried the USB stack by CMX, but, I didn't understand how it works. It isn't easy it seems. HID works, but CDC didn't.

 

I saw that there was programs provided by PEMicro, but, they don't give the source code ( for hyperterminal, for example) nor code source for a target.

 

 

So, I'm blocked, I don't know how to make a comunication between my DEMOJM (in device mode) and my computer ( via a VI, or via LabVIEW (with VISA or a wrapped C DLL) ).

 

Can you help me ? I'm completly loosed and disapointed -_-" ( I'm searching and trying solutions since thursday )

 

Rob ( RIP XD )

Labels (1)
0 Kudos
Reply
1 Solution
1,219 Views
RichTestardi
Senior Contributor II

Hi,

 

The first thing you might try is loading the precompiled StickOS code onto your board, available from the same download page...  That uses the exact same sources and drivers and exposes the USB virtual COM port.

 

The baud rate, etc., is ignored for the virtual COM port.  You can see directions for connecting to it here: http://www.cpustick.com/stickos.htm#_Toc226454851 .

 

Then, to debug a USB connection problem, you want to open Device Manager and find the new (possibly unknown) device and extract its VID/PID.  To do this, right click on the new object that shows up when the USB is plugged in and select:

 

  Properties -> Details -> Device Instance ID

 
You should see VID 0x0403 (FTDI) and PID 0x6001 (USB Serial Port), like attached.  When Windows detects this, you should allow it to load a driver from the Internet and it will automatically download the correct signed driver from microsoft.com.  If you disallowed Windows from downloading the driver, you can give yourself another chance by plugging the USB into a physically different port and then allowing it to this time.
 
-- Rich

View solution in original post

0 Kudos
Reply
10 Replies
1,219 Views
mUbase
Contributor I

Hi MR JK. I have just discovered stickos.I am using a demojm board. Did you ever get stickos working??? if you did, could you tell me how you did it.. how you flashed the stickos onto the mcf51jm128, how you got it communicating with hyperterminal?

Thanks for any help you may offer (or anybody else that can help..)

tHANKS,

sTEVE.

 

0 Kudos
Reply
1,219 Views
RichTestardi
Senior Contributor II

Hi,

 

This might help...  You can unzip skeleton.zip from here:

 

  http://www.cpustick.com/downloads.htm

 

And then you can open flexis.mcp in CodeWarrior 6.2 and switch to the Skeleton 51JM128 project and build it...

 

When you run it, it will expose a virtual COM port to the PC, with a simple command line interface in skeleton.c that you can edit...  You can then interact with the program running on a PC talking to the COM port.

 

Alternately, you could just load StickOS (download from the same page) and interact with it, and take advantage of its pin and peripheral manipulation of the MCU, and scripting ability.

 

-- Rich

rich@testardi.com

0 Kudos
Reply
1,219 Views
zhouyj
Contributor I
I can not open the  http://www.cpustick.com/downloads.htm, can you send the code by email to me.thanks a lot . zhou.yj@163.com
0 Kudos
Reply
1,219 Views
MrJK
Contributor I

Hey,

 

"http://www.cpustick.com/downloads.htm,%20can" is not a valid link, but "http://www.cpustick.com/downloads.htm" is a valid link ...

 

Hum

 

++

0 Kudos
Reply
1,219 Views
MrJK
Contributor I

Re Hi.

 

So, I've done something absolutlely awfull to compile the skeleton under 6.2 : I gather most of files in the sources folder into only one file. And it's work well XD , but, not really debuggable.So, I passed troughput the CW free edition Limitation :smileyvery-happy:

 

So, I choose my target ( skeleton MCF51JM ... ), I build it and compile it ( no errors nor warnings). And, I put it on my target. All works well.

 

However, The Virtual COM Port didn't appear like as you previously said. Just an unknow device into the Windows XP Device Manager. I have installed all sort of different drivers taht I found on the net ( Jungo,  CDM ... ), so I don"t understand what's appened, and why I don't see this VCP ... Moreover, I didn't find any driveron your website ...

 

 

 Ok,I think I'm slowly progressing, but, it's very slow ...

Thx again :smileyhappy:

 

0 Kudos
Reply
1,220 Views
RichTestardi
Senior Contributor II

Hi,

 

The first thing you might try is loading the precompiled StickOS code onto your board, available from the same download page...  That uses the exact same sources and drivers and exposes the USB virtual COM port.

 

The baud rate, etc., is ignored for the virtual COM port.  You can see directions for connecting to it here: http://www.cpustick.com/stickos.htm#_Toc226454851 .

 

Then, to debug a USB connection problem, you want to open Device Manager and find the new (possibly unknown) device and extract its VID/PID.  To do this, right click on the new object that shows up when the USB is plugged in and select:

 

  Properties -> Details -> Device Instance ID

 
You should see VID 0x0403 (FTDI) and PID 0x6001 (USB Serial Port), like attached.  When Windows detects this, you should allow it to load a driver from the Internet and it will automatically download the correct signed driver from microsoft.com.  If you disallowed Windows from downloading the driver, you can give yourself another chance by plugging the USB into a physically different port and then allowing it to this time.
 
-- Rich
0 Kudos
Reply
1,219 Views
MrJK
Contributor I

It works !!!!! :smileyvery-happy:D

 

Thanks a lot Rich T, you're wonderfull :smileyvery-happy:

 

And StickOS is nice, I think, I will keep it to developp my application !!!

 

Thanks again ( and, for me, I don't know what were wrong :/ )

0 Kudos
Reply
1,219 Views
RichTestardi
Senior Contributor II

Let me add one more thing, which is equally terrible...

 

Before someone at freescale generously gave me an education license for CodeWarrior, what I used to do to get by the file number limit was just uninstall and reinstall, and restart my 60 day clock.  I'm not sure if that trick still works.

0 Kudos
Reply
1,219 Views
MrJK
Contributor I

Arf, I've a restriction of 32 files for my CW version. There is an other way to do ?? -_-

 

thx

0 Kudos
Reply
1,219 Views
MrJK
Contributor I

Hello Rich T !

 

Tanks for your help. However, I've a little problem:

 

I try to compile flexis.mcp under 6.2, but I've only a free version, and it tell me that I can't compile it because the version which I used was free and limited.

 

So I tried under 6.1. CW ( free edition too) ask me if I want to downgrade the project - I must answer yes. After choosing the target and compiling the project, I've an error, about one line in ASM ( I don't understand ASM ). I paste you the problematic code section:

 

    // early C initialization, and compatible upgrade (page0)
    Q2(jsr,     p0_c_startup)

    // set up the real stack pointer
    Q3(lea,     _SP_INIT,a7)

#if ! BADGE_BOARD && ! DEMO_KIT
    // late C initialization, post-upgrade (init(), page1 indirect)
    Q3(lea,     VECTOR_OLD_INIT,a0)  // This is the line 295 !!!!!  
    Q3(move.l,  (a0),a0)
    Q2(jsr,     (a0))
#else
    Q2(jsr,      init)
#endif

The error of the compilator is :

Error   : ',' expected
startup.c line 295   {(asm macro expansion):1}    lea (0+0x0808),a0
Project: flexis.mcp, Target: Skeleton 51JM128, Source File: startup.c

I don't know how to solve it. If the  project is preprocessed, It's getting:

jsr p0_c_startup
lea _SP_INIT,a7
lea (0+0x808),a0 // This is the line 295 !!!!!
move.l (a0),a0
jsr (a0)
nop
halt
}

 To solve, it, I tried to comment it ( ooops, but, it has worked well ). But, when the skeleton is loadedinto the MCU, the program doesn't run continuesly ( I must clic on the green flesh, because the program stop itself after 1 or 2 seconds of running). :c

 

 How to solve it ? Must I go under 6.2 ?

 

 

 

 Okay, and, if I understand you well, I can set a comunication with HyperTerminal, for example ? But what are the settings ? ( beaud rate, parity, number of bytes etc ...)

 

Thanks again for your help

 

0 Kudos
Reply