USB - PS/2 Keyboard Interface for MC9S08JM series (DRM014)

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

USB - PS/2 Keyboard Interface for MC9S08JM series (DRM014)

4,957 Views
krashcraft
Contributor I
All,
I am trying to find the code for the DRM014 reference. It states in section 1.6 about the Firmware files.
Does anybody know where I can get these? I have checked P&E, but didn't have much luck.

I am trying to do this exact thing with the MC9S08JM32 part. (also under the assumption, that I can use or modify the ASM files for Codewarrior. Am I correct here?)

Any information would be helpful.

Thanks,
Keith

Labels (1)
0 Kudos
17 Replies

2,006 Views
dave5
Contributor I

Sadly, these links to the code are now dead. I'd like to do something with this project - where is the code nowadays?


0 Kudos

2,006 Views
kef2
Senior Contributor IV

Did you try USB Stack v4.1.1 NXP® bare metal (no OS) USB Stack (REV 4.1.1) ? You may check as well v5.0, but as I remember it has some protocols removed.

0 Kudos

2,006 Views
dave5
Contributor I

This only works on ARM devices, which require a voltage of 3.3 or less. I selected the processor family I did because it is current, not EOL or nor recommended for new designs, and 5V. It has just exactly the hardware resources I need. I could go a route that requires level translation, but....

I'm working with adding features to vintage hardware from the early through late 80s, and I can re-apply this circuit in a lot of cases - just need to locate the old code!


0 Kudos

2,006 Views
kef2
Senior Contributor IV

Not true! S08JM60, JM16, etc are listed in projects and sources. S08 is listed in audio_generator, audio_speaker, CDC, DFU, HID, MSD, etc. Here's a list of S08 boards supported:

HCS08

- TWR-S08MM128 Evaluation Board

- TWR-S08JE128 Evaluation Board

- DEMOJM Evaluation Board with MC9S0851JM16 Flexis daughter card

- DEMOJM Evaluation Board with MC9S0851JS16 Flexis daughter card

- DEMOJM Evaluation Board with MC9S0851JM60 Flexis daughter card

Edit: Unless NXP changed something which I really doubt, above applies to Freescale USB stack v4.1.1.

0 Kudos

2,006 Views
jebi123
Contributor I
HI,
I am also interisting in this project.
 
I already convert the the files from casm to cw and start to translate it from jb8 to JM60
 
What about your status , can we do something together.
 
Best regards
 
jebi123
0 Kudos

2,006 Views
krashcraft
Contributor I
Hi jebi123,
Well, you are farther along than I am. I have also been designing an eval board that basicly uses the JM daughter board from the DemoJM and then uses the hardware that the jb8 has. I am changing the keyboard input from 8x18 matrix to 12x20 matrix, so I am having to re-map all the I/O ports/pins.

My intentions are to program the JM60 using the DemoJM board, then, unplug the daughter board and plug it onto the new eval board and do my testing.

Later,
Keith
0 Kudos

2,006 Views
jebi123
Contributor I
Hi Keith,
 
do you need the converted casm to cw files?
 
But
 
or when you use the hardware that the jb8 has you have to do  re-map all the I/O ports/pins.
and
 
USB low level driver?
Timer ?
Interupts?
CLK?
What else do you thing.
 
I. MC68HC(9)08JB8 PS2/USB Keyboard -
II. MC68HSC(9)08JM60 PS2 ??/USB Keyboard - 
 I Controller MCU MC68HC908JB8FB Package 44-pin QFP
 II Controller MCU MC68HSC908JM60 Package 64-pin TQFP
 
I Description Lowl-speed(1.5Mbps) USB MCU for Keyboard 
 II Description High-speed(12Mbps) USB MCU for Keyboard 
 
 I Key Matrix 8 rows x 18 columns Key Scan Rate 40ms
 LEDs NUM/CAPS/SCROLL Lock Report Idle Rate 500ms(default)
 Misc. Ghost key detection, key press debounce
II ????

USB

I Speed 1.5Mbps(Low) Power Source Bus-powered
 Protocol Boot(Keyboard) EP1 Polling Rate 10ms
 IN Report 8 bytes(key press status) EP2 Polling Rate 255ms
 IN Report (ACPI) 1 bytes(ACPI key press) OUT Report 1 byte(LED status)
 Suspend/Resume Yes Run Current 50mA (maximum)
 Remote Wakeup Key press Suspend Current 250uA (typical)
     
 II CMX Stack

Please discuss about this.
 
Best regards
Jürgen
0 Kudos

2,006 Views
krashcraft
Contributor I
Jürgen,

do you need the converted casm to cw files?
Yes I would like the files, but I don't have anything to give you in trade  It seems like you have done most of the work so far.

or when you use the hardware that the jb8 has you have to do  re-map all the I/O ports/pins.
yes, I am planning on remapping the I/O pins, because I have to change to a bigger matrix.

USB low level driver?
Timer ?
Interupts?
CLK?
any current USB driver should work, or maybe include the CTX driver some how
 
I. MC68HC(9)08JB8 PS2/USB Keyboard -
II. MC68HSC(9)08JM60 PS2 ??/USB Keyboard - 
 I Controller MCU MC68HC908JB8FB Package 44-pin QFP
 II Controller MCU MC68HSC908JM60 Package 64-pin TQFP
only interested in the JM60 64-pin for my applications

I Description Lowl-speed(1.5Mbps) USB MCU for Keyboard 
my customer requirements are only for low-speed USB

LEDs NUM/CAPS/SCROLL Lock Report
Yes I need these 3-LED indicators outputs

Ghost key detection, key press debounce
I also need to have this capibility

Also need to have the ability to access Serial EEPROM


Suspend/Resume Yes Run Current 50mA (maximum)
Remote Wakeup Key press Suspend Current 250uA (typical)
it would be nice to incorporate these functions into the controller also
    
Keith

0 Kudos

2,006 Views
krashcraft
Contributor I
Jerbi123,
How have things been going? I haven't been able to work on this project for the last week or so. I am back to working on it now.
What else have you come up with?
Maybe you could send me the converted CW files if you wouldn't mind.

contact me offline

ch701builder@yahoo.com

Thanks,
Keith

0 Kudos

2,006 Views
echarry
Contributor I

Hi Krashcraft,

Been following this thread which also interests me. I'm trying to build my own PCB but using the MCF51JM, which also uses the BDM pin for ICP and ICDebugging.

Just wondering if you were successful hooking up those 6 pins out of the DEMOJM to your customized board to debug and program the flash.

Something else: were you interested also in using USB for your application? Did you have any problems with the USB lPCB layout specs?

Regards,

Edgar Charry

0 Kudos

2,006 Views
JimDon
Senior Contributor III



My intentions are to program the JM60 using the DemoJM board, then, unplug the daughter board and plug it onto the new eval board and do my testing.




Why not just put a 6-in header on the eval board so you can program/debug it using the JM?

0 Kudos

2,006 Views
krashcraft
Contributor I
But isn't more hardware needed for debugging, and doesn't ICP require some dedicated I/O pins?
Can the programming pins be dual purpose, used as an I/O and then used for In-Circuit-programming?
I'm not sure how the debugger works, I thought all the electronics on the bottom of the DEMOJM board was used for the debugging.

Educate me please!!!

Keith

0 Kudos

2,006 Views
JimDon
Senior Contributor III
The BDM is used to program HCS08 devices. Only one pin is actually required.



krashcraft wrote:
But isn't more hardware needed for debugging, and doesn't ICP require some dedicated I/O pins?

No, just connect the pins as shown in the DEMOJM schematic. You actually don't need to reset, but if you can spare the pin, hook that up too. 
(don't know what ICP means - I have not any 908 knowlege)

Can the programming pins be dual purpose, used as an I/O and then used for In-Circuit-programming?

Yes, but if you can leave them (it) dedicated. It is really only one pin. Well worth it.

I'm not sure how the debugger works, I thought all the electronics on the bottom of the DEMOJM board was used for the debugging.

The BDM is on the board, but if you pull the MCU board, it can debug another board. Solder in the 6-pin header and get a 6 pin flat cable. If your board takes less than 500ma, and uses 3.3v you can power it as well.

Educate me please!!!

Keith












Message Edited by JimDon on 2008-08-07 01:57 PM
0 Kudos

2,006 Views
krashcraft
Contributor I
AH-HA,
Now I understand about using the DEMO as the debuger. Also, ICP was to mean In-Circuit-Programming.

Thanks for the education!!!!
Little extra explainations can go a long ways!!!!!

Thanks again, (I'll be in touch)
Keith
p.s. if anybody needs pcb board layouts let me know. My preference tool is Protel/Altium, but I also use Target3001, (not by choice), high-speed, low-speed, digital, analog, mix, rf, etc...
single layer, multilayer, buried-vias, blind-vias,etc.......






0 Kudos

2,006 Views
J2MEJediMaster
Specialist I
Try this page which appears to have the software. I don't know how well the software can be adapted to CodeWarrior's assembler.

---Tom
0 Kudos

2,006 Views
krashcraft
Contributor I
Thanks,
I'll give it a try.
Keith

0 Kudos

2,006 Views
bigmac
Specialist III
Hello Keith,
 
To convert from CASM08 assembler to CW assembler, you will need to review all directives and macros within the assembly files.
  1. Conditional assembly directives will need to change to some degree.  Keep in mind that, for CW, a directive must never commence at the first position on a line, but does not require a prefix character, as used by CASM08.
  2. Macros, if used, will need to be re-written to CW format.
  3. Search for all instances of the directives DB and DW, and replace with DC.B and DC.W respectively.
  4. Search for instances of "curly brace" characters, and replace with parenthesis.
It is possible that the MCU register names used may differ from the CW names.  If this be the case, it is probably simpler to stay with the original include file for the MCU type, otherwise there may be many more changes required to match the CW names
 
It is likely that the CASM project assumes absolute assembly, with a single "main" file, and numerous other include files.  If this is so, and you wish to retain an absolute assembly project within CW, all the include files will need to be renamed with an extension other than .ASM.  There can only be a single .ASM file.
 
Of course, you can alternatively use a relocatable project within CW, but you would need to define the various sections into which the code will be placed (instead of ORG directives).  The various labels imported to, and exported from each file also need to be listed using XREF and XDEF directives.
 
I think this summarizes most of the differences, but there are probably others that I have missed.
 
Regards,
Mac
 


Message Edited by bigmac on 2008-07-09 01:44 PM
0 Kudos