How-to Add missing derivatives to CodeWarrior Classic HCS12(X) 5.2 (Unofficial Method)

cancel
Showing results for 
Search instead for 
Did you mean: 

How-to Add missing derivatives to CodeWarrior Classic HCS12(X) 5.2 (Unofficial Method)

16,297 Views
Contributor IV

The Good and the Bad about CodeWarrior Development Studio for HCS12(X) Microcontrollers (Classic IDE) v5.2

  • Removed more than half of the supported chips for "market reasons" (see table below)
  • Updated P&E drivers for Windows 8 & 10 (but they are already out of date again)
  • Removed some other connections (SofTec, Serial monitor, Abatron, TBDML)
  • Includes all 5.1 updates
  • Updated ProcessorExpert to 3.06 (not in release notes)
    • Fixed Device Initialization issue for S12X clock initialization
    • Fixed API pre-scaler range in Timer Int component for MC9S12XE derivatives

 

The Unofficial Workaround – have your cake and eat it too

 

NOTE: This is NOT supported by NXP, but this article is how to make it WORK anyway . Do not contact Freescale support when you modify your installation files. Ask your questions here on the forum about this process. Also SofTec, TBDML, Abatron, etc... and the other older connection options will still NOT work because the makers of those devices have not wrote modern OS drivers. Serial debugger is also not currently available with my workaround.  Your options are P&E tools and USBDM for programmer/debuggers.

 

A. Install CW 5.2

If you have not already here is a link to the special edition of 5.2

https://cache.nxp.com/lgfiles/devsuites/HC12/CWS12v5.2_Win_b151201_se.exe

 

B. Download Missing Pieces

See attachment "cw 5 2 missing pieces v3.zip" at the bottom

(see hashes at the bottom; there is no .exe in zip, download from nxp community forum)

  • Includes the missing xml,c,h files from CW5.1 and service packs
  • Updated P&E prog files - dated 10 April 2018 (which is newer than what comes with CW5.2)
  • A few newer versions of derivative header files

Note: My zip includes some updated files. See the explanation in this video link

 

C. Merge files in CWS12v5.2 Program Files

Confirm CodeWarrior is closed and not running

You need administrator rights or login info to do these steps

Instructions for Windows Vista, Windows 7, Windows 8 / 8.1, Windows 10:

     Extract the attached zip (see bottom of post), so that you have three folders.

     Select and Drag the 3 folders (Bin,Lib,Prog) into the CWS12v5.2 folder probably in C:\Program Files...

         It will ask merge the files from the folders (overwriting some – answer yes)

     See the video to make sure you do this right (not for XP): Video Instructions (YouTube)

Instructions for Windows XP:

Note: In Windows XP the default behavior is to overwrite and delete folders NOT merge them, so we use the 7-zip method which actually works for all.

     Install and Open 7zip (as a Admin user)

     Navigate to and open attached zip file within the 7zip main interface (you should see the Bin,Lib,Prog folders)

     Click Extract and select your main CW5.2 installation folder eg C:\Program Files\CWS12v5.2 as the "Copy to:"

     7zip will prompt you to overwrite a few files (answer, yes)

 

D. Processor Expert (if needed)

See attachment (at the bottom of the post) "PE config older chips.zip"

Extract this zip and replace these four files in your C:\Program Files\CWS12v5.2\ProcessorExpert\Config folder overwriting the files.

E. Install latest P&E Drivers (if needed)

Install the latest P&E Hardware Interface Drivers, Version 12 (Win XP/Vista/7/8/10)

If you have issues read this FAQ

F. USBDM (if needed)

I am personally use a Wytec USBDM with the latest software and it works great . Consider it because they are a faction of the price of other programmers and are open source hardware and software. They are also available quite cheap on eBay, BUT do not use the software that comes with them, throw the CD away, and download the official latest software below.

https://sourceforge.net/projects/usbdm/files/  to get

USBDM_4_12_1_230_Win_i.msi or newer

And ONE of these:

USBDM_Drivers_4_12_3_Win_x64.msi or newer (for 64-bit 7 and 10)

or USBDM_Drivers_4_12_3_Win_x32.msi or newer (for 32-bit 7 and 10)

or USBDM_Drivers_4_12_3_WinXP_x32.msi or newer (for XP)

Don't forget to update your USBDM firmware.

Here is a video for CW5.1, but the process is similar CodeWarrior HCS12(X) Install and Update USBDM - YouTube

 

Table of missing derivatives 


 

        Supported Derivatives

CodeWarrior S12(X) 5.1 (with all service packs)

and CW 5.2 after following STEPs above

 

        Supported Derivatives

CodeWarrior S12(X) 5.2  (default installation)

 

HC12

 

 

 

Automotive Family

 

 

 

MC68HC812A4

 

 

 

MC68HC912B32

 

 

 

MC68HC912D60

 

 

 

MC68HC912D60A

 

 

 

MC68HC912DG128

 

 

 

MC68HC912DG128A

 

 

 

MC68HC912DT128

 

 

 

MC68HC912DT128A

 

 

 

HCS12 9S12 S12 MC9S12

 

HCS12

 

HCS12A MC9S12A S12A Family

 

 

 

MC9S12A128B HCS12A128B S12A128B

 

 

 

MC9S12A256B HCS12A256B S12A256B

 

 

 

MC9S12A32 HCS12A32 S12A32

 

 

 

MC9S12A64 HCS12A64 S12A64

 

 

 

MC9S12A512 HCS12A512 S12A512

 

 

 

HCS12B MC9S12B S12B Family

 

 

 

MC9S12B64 HCS12B64 S12B64

 

 

 

MC9S12B128 HCS12B128 S12B128

 

 

 

HCS12C MC9S12C S12C 9S12C Family

 

HCS12C Family

 

MC9S12C32 HCS12C32 S12C32

 

MC9S12C32

 

MC9S12C64 HCS12C64 S12C64

 

MC9S12C64

 

MC9S12C96 HCS12C96 S12C96

 

MC9S12C96

 

MC9S12C128 HCS12C128 S12C128

 

MC9S12C128

 

HCS12D MC9S12D S12D 9S12D Family

 

 

 

MC9S12D32 HCS12D32 S12D32

 

 

 

MC9S12D64 HCS12D64 S12D64

 

 

 

MC9S12DB128A HCS12DB128A S12DB128A

 

 

 

MC9S12DB128B HCS12DB128B S12DB128B

 

 

 

MC9S12DG128B HCS12DG128B S12DG128B

 

 

 

MC9S12DG256B HCS12DG256B S12DG256B

 

 

 

MC9S12DJ128B HCS12DJ128B S12DJ128B

 

 

 

MC9S12DJ256B HCS12DJ256B S12DJ256B

 

 

 

MC9S12DJ64 HCS12DJ64 S12DJ64

 

 

 

MC9S12DP256B HCS12DP256B S12DP256B

 

 

 

MC9S12DP512 HCS12DP512 S12DP512

 

 

 

MC9S12DT128B HCS12DT128B S12DT128B

 

 

 

MC9S12DT256 HCS12DT256 S12DT256

 

 

 

MC9S12DT256B HCS12DT256B S12DT256B

 

 

 

HCS12E MC9S12E S12E 9S12E Family

 

 

 

MC9S12E32 HCS12E32 S12E32

 

 

 

MC9S12E64 HCS12E64 S12E64

 

 

 

MC9S12E128 HCS12E128 S12E128

 

 

 

MC9S12E256 HCS12E256 S12E256

 

 

 

HCS12G Family

 

HCS12G Family

 

MC9-S12G48

 

 

 

MC9-S12G64

 

 

 

MC9-S12G96

 

MC9S12G96

 

MC9-S12G128

 

MC9S12G128

 

MC9-S12G192

 

 

 

MC9-S12G240

 

 

 

MC9-S12GA48

 

 

 

MC9-S12GA64

 

 

 

MC9-S12GA96

 

 

 

MC9-S12GA128

 

 

 

MC9-S12GA192

 

 

 

MC9-S12GA240

 

 

 

MC9-S12GN16

 

MC9S12GN16

 

MC9-S12GN32

 

MC9S12GN32

 

MC9-S12GN48

 

 

 

MC9-S12GNA16

 

 

 

MC9-S12GNA32

 

 

 

HCS12GC Family

 

HCS12GC Family

 

MC9-S12GC16

 

MC9S12GC16

 

MC9-S12GC32

 

MC9S12GC32

 

MC9-S12GC64

 

MC9S12GC64

 

MC9-S12GC128

 

MC9S12GC128

 

HCS12H Family

 

 

 

MC9-S12H128

 

 

 

MC9-S12H256

 

 

 

MC9-S12HN64

 

 

 

MC9-S12HZ64

 

 

 

MC9-S12HZ128

 

 

 

MC9-S12HZ256

 

 

 

HCS12HA Family

 

 

 

MC9-S12HA32

 

 

 

MC9-S12HA48

 

 

 

MC9-S12HA64

 

 

 

HCS12HY Family

 

 

 

MC9-S12HY32

 

 

 

MC9-S12HY48

 

 

 

MC9-S12HY64

 

 

 

HCS12I Family

 

 

 

MC9-S12I32

 

 

 

MC9-S12I128

 

 

 

HCS12K Family

 

 

 

MC9-S12KC64

 

 

 

MC9-S12KC128

 

 

 

MC9-S12KG64

 

 

 

MC9-S12KG128

 

 

 

MC9-S12KG256

 

 

 

MC9-S12KL64

 

 

 

MC9-S12KL128

 

 

 

MC9-S12KT128

 

 

 

MC9-S12KT256

 

 

 

HCS12N Family

 

 

 

MC9-S12NE64

 

 

 

HCS12P Family

 

HCS12P Family

 

MC9-S12P32

 

MC9S12P32

 

MC9-S12P64

 

MC9S12P64

 

MC9-S12P96

 

MC9S12P96

 

MC9-S12P128

 

MC9S12P128

 

HCS12Q Family

 

 

 

MC9-S12Q32

 

 

 

MC9-S12Q64

 

 

 

MC9-S12Q96

 

 

 

MC9-S12Q128

 

 

 

HCS12T Family

 

 

 

MC9-S12T64

 

 

 

HCS12U Family

 

 

 

MC9-S12UF32

 

 

 

HCS12VR Family

 

HCS12VR Family

 

MC9-S12VR16

 

MC9S12VR16

 

MC9-S12VR32

 

MC9S12VR32

 

MC9-S12VR48

 

MC9S12VR48

 

MC9-S12VR64

 

MC9S12VR64

 

HCS12X

 

HCS12X

 

HCS12XA Family

 

 

 

MC9-S12XA256

 

 

 

MC9-S12XA512

 

 

 

HCS12XB Family

 

 

 

MC9-S12XB128

 

 

 

MC9-S12XB256

 

 

 

HCS12XD Family

 

 

 

MC9-S12XD64

 

 

 

MC9-S12XD128

 

 

 

MC9-S12XD256

 

 

 

MC9-S12XDG128

 

 

 

MC9-S12XDP512

 

 

 

MC9-S12XDQ256

 

 

 

MC9-S12XDT256

 

 

 

MC9-S12XDT384

 

 

 

MC9-S12XDT512

 

 

 

HCS12XE Family

 

HCS12XE Family

 

MC9-S12XEG128

 

 

 

MC9-S12XEP100

 

MC9S12XEP100

 

MC9-S12XEP768

 

MC9S12XEP768

 

MC9-S12XEQ384

 

MC9S12XEQ384

 

MC9-S12XEQ512

 

MC9S12XEQ512

 

MC9-S12XET256

 

MC9S12XET256

 

HCS12XF Family

 

 

 

MC9-S12XF128

 

 

 

MC9-S12XF256

 

 

 

MC9-S12XF384

 

 

 

MC9-S12XF512

 

 

 

MC9-S12XFR128

 

 

 

HCS12XHY Family

 

 

 

MC9-S12XHY128

 

 

 

MC9-S12XHY256

 

 

 

HCS12XHZ Family

 

 

 

MC9-S12XHZ256

 

 

 

MC9-S12XHZ384

 

 

 

MC9-S12XHZ512

 

 

 

HCS12XS Family

 

HCS12XS Family

 

MC9-S12XS64

 

MC9S12XS64

 

MC9-S12XS128

 

MC9S12XS128

 

MC9-S12XS256

 

MC9S12XS256

 

MM912

 

 

 

MM912x634

 

 

 

MM912F634xx1xx

 

 

 

MM912F634xx2xx

 

 

 

MM912G634xx1xx

 

 

 

MM912G634xx2xx

 

 

 

MM912H634

 

 

 

MM912x637

 

 

 

MM912I637

 

 

 

MM912J637

 

 

 

 

MD5 (cw-5.2-missing-peices-v3.zip) = 7a347a5b39a68da84e4a2870a4a6b55b

MD5 (PE-config-older-chips-v2.zip) = defbfba607f389a7191a63d8be513459

Labels (1)
37 Replies

1,249 Views
Contributor I

Hello,

I have downloaded CW5.2 a few days ago.  I found out that the derivative of 9S12D64 should have been in there but was not listed.  After finding this forum and posting a question yesterday, I was able to download the two zip files above and incorporate them in to my installation.  I was able to compile my old project from 12 years ago and can see PE is selecting the right derivative now in the IDE.  My problem now is in regards to the Debugger using a PEMicro Multilink Universal interface to a BDM port on my board.  It appears that when the debugging software is coming up, there is problems communicating with the processor and trying to erase it.  I do not see my derivative name showing up but it does say the undefined 03DE derivative is currently selected.  Any ideas on how to get the debugger working so I can make some code changes and flash the chip with my old project again?

Thanks,

Allen

0 Kudos

1,249 Views
Contributor IV

In the debugger what do you see under?

HC12MultilinkCylonePro -> Select Derivative 

When you dragged in the files from the zip, did you overwrite ALL existing files? 

What P&E debugger do you have, model and revision? 

Did you install the latest P&E USB driver? 

This is what mine looks like. 

Screen Shot 2020-08-12 at 5.57.03 PM.png

Screen Shot 2020-08-12 at 5.56.48 PM.png

If you goto 

HC12MultilinkCylonePro -> Connect what does it look like? 

Screen Shot 2020-08-12 at 6.02.43 PM.png

It should look like this including the text in the title bar of the subwindow.

If you can't get any of this working here is another option: 

USBDM. They are the fifth the price of other programmers and are open source hardware and software. You can also buy them on eBay for about $15 dollars US (white-ish box with three leds, black letters on the outside that says "USBDM" are the ones I have tested), but throw away the CD that comes with them. Follow the YouTube instructions below.  The project is currently hosted on https://usbdm.sourceforge.net/

Watch a video on the process: USBDM CodeWarrior 6.3 5.1 5.2 Windows 10 x64 Install and Update Firmware - YouTube 

Steps:

1. (Uninstall and re)Install latest USBDM software AFTER installing Codewarrior

2. (Uninstall the re)Install latest signed driver before plugging it in USB.

3. Use the firmware updater from the start menu to make sure the firmware is up to date

(TIP:  Try the verify button before trying to update to make sure all "update mode" drivers are installed; it may crash/hang the 1st verify, fail on the 2nd verify, but that is OK, thirdly do the update)

4. You'll need to select "USBDM" in the new project wizard in CW 6.3 or for an existing project you can change to USBDM in the dropdown in the code editor sidebar. 

0 Kudos

1,249 Views
Contributor II

Hello

I read the post well. This content was very helpful, but there is one problem.

As I tried to do Device Initialization, there is no device to use.

I will use MC9S12GNA16F0MLF device. Please refer to the image below and tell us how.

Thanks.

Screenshot_69.pngScreenshot_70.pngScreenshot_68.png

0 Kudos

1,249 Views
Contributor IV

Did you follow Step D? 

I do not have your problem after doing Step D. 

Screen Shot 2020-06-25 at 12.34.44 PM.png

1,249 Views
Contributor II

Fantastic! 

  Wow, when I started on the s12xep100 devkit and moved to an s12xeq384 and everything just worked I figured Hey this is easy!  So now moving from the s12g128 devkit to an s12g48 I run into the missing derivative stuff..

I downloaded and installed the v3 zip file and now I see a whole bunch more chips in CW5.2, but not the G48..

I see a .cfu file in /prog that mentions G48 but I don't see a .cfs file..When I bring up CW and try to set the derivative I see the G64, G96, G128, G192 and G240.. but not the G48.  Any ideas where I might find this?

Also.. this might be a dumb question but how do I get USBDM support on these other parts?  It shows up as an option on G96 and G128 (the ones that were in there before I installed the zip file).  I'm not clear how this works.. How would I add USBDM support for a project or chip that doesn't have it listed?

Thanks!

0 Kudos

1,249 Views
Contributor II

I think I've answered my 2nd question... reinstalled the latest USBDM drivers and that seems to have updated all the chip options including G64.. but still no sign of G48 even though I see mentions of it in that .cfu file.. (chip 01c5?)

I downloaded V5.1 on an old XP machine and downloaded the G64 service pack.. But when I bring it up and check project->Change MCU/Connection I still see G64-G240 but no G48!  Argh.. Perhaps I should have just used the G64.

Both my V5.2 installation and V5.1 on the XP machine say "build 5294 V5.9" ???

Starting to get frustrated here..even tried the PE updates even though not using Processor Expert.. any ideas?

0 Kudos

1,249 Views
Contributor II

I think there's something wonky in my setup.. Still don't see G48 in the IDE but it is acknowledged by processor expert and more importantly by the Select Derivative option in the Hiwave debugger.  I have been able to flash my G48 board and the clocks seem to be running as anticipated.  So it seems I'm on the right track.

0 Kudos

1,249 Views
Contributor IV

Glad you got it figured out.

I have found it it’s OK to use the nearest next derivative flash size under some conditions. The important thing is that PRM file is limited to not use more flash than you have, and that you’re not using peripherals that don’t exist or your chip. 

0 Kudos

1,249 Views
Contributor I

Doug,

I followed all the instructions from Rodney and had the same problem you have now. My solution was to uninstall CodeWarrior v5.2 and install v5.1 with its SPs. Works well now.

0 Kudos

1,249 Views
Contributor I

Hello, I followed the instructions and was able to get CodeWarrior to correctly build my derivative again (S12XDT) However, the hiwave debugger appears to still be missing this derivative. Is there any way to add the derivatives back into hiwave? I am using an older P&E USB Multilink. 

thanks

0 Kudos

1,249 Views
Contributor IV

Can you send a screenshot of the issue? 

I want to try to recreate myself. 

0 Kudos

1,249 Views
Contributor I

Hi Rodney,

I followed your instructions and worked well on Codewarrior IDE, but I use Hiwave to load programs on the MC9S12DB128 and I can't find its derivative. I have a Windows 10, 64 bit PC with Codewarrior v5.2 and a BDM Universal Multilink pod. Any ideas for getting Hiwave to recognize the new derivative? Thanks.

0 Kudos

1,249 Views
Contributor IV

Sounds like a driver issue.

Did you follow Step E?

Did you overwrite files in Step C? 

I would also try to buy a USBDM (white box) on eBay ... they are very cheap.

You can also try the Standalone HSC12 Programmer Software that is part of the USBDM. 

0 Kudos

1,249 Views
Contributor I

Hi Rodney,

I am trying to get Processor Expert to recognize a S12G240 derivative I am using. I am running CW5.2. I downloaded your missing pieces and older configs folders and copied them over. When I start a new project, I can select the correct G240 derivative, but as the project boots up Process Expert I get a "Derivative not supported" message from Processor Expert. Any ideas that I may be missing? I can clearly see the G240 files in the processor expert folder in my C:/.

Thanks

-Matt

0 Kudos

1,249 Views
Contributor IV

Did you follow Step D?

0 Kudos

1,249 Views
Contributor I

Hey Rodney,

I follow your steps to merge all files, I think everything is fine, but when I run IED, it didn't word. When I run IDE, the error message is showed below. I also run regservers.bat, it still didn't work. Could you tell me what should I do now? Looking foward for your reply. Thank you.

pastedImage_1.png

pastedImage_2.png

0 Kudos

1,249 Views
Contributor I

Hi Rodney,

I have fixed this problem. thanks for your post. It really helps me!

0 Kudos

1,307 Views
Contributor III

Hi!

About the attached file "PE-config-older-chips.zip".

Does any know what we have to do with it?

Thank you

0 Kudos

1,307 Views
Contributor IV

See Part D of the instructions. 

What you need to do this written there. 

0 Kudos

1,249 Views
Contributor III

Hi Rodney,

I didn't realize thatPE is for processor expert.

For some reason I thought that was for pemicro.

Thank you

0 Kudos