Cheetah12 HC12 CAN Bootloader Development Kit Description

Introduction: The Cheetah-12 bootloader is a small program that resides at the top of memory within an HCS12 processor. This program will allow a user program to be downloaded across a CAN network from a PC equipped with a Zanthic CAN-4-USB interface. Although this product is ready to run out of the box, all source code is provided so the user can modify for their specific requirements.
The Cheetah12 bootloader will check the state of a DIP switch at power up as well check if the user program vector is set to something other than 0xFFFF. If both tests pass, the Cheetah bootloader will jump to the user program and will not be active until the next time the processor is reset. Currently, if the user wants to change existing firmware, the DIP switch will be set and power toggled

 

to reset the processor. This will cause the Cheetah program to be run and will wait for further commands from the PC program. (details are provided to allow the user program to restart the bootloader)
User program interrupts are handled by the creation of a second interrupt table, identical to the one normally used but located within the user program space at 0xEF80-0xEFFF instead of the usual 0xFF80-0xFFFF. This requires one addition jump instruction that is executed when an interrupt occurs. This jump is handled within the Cheetah firmware and is transparent to the user program.

Included in this package:
  1. PC Cheetah program with VB6 source code (allows the download of S19 files across the CAN bus to the HC12 running the Cheetah boot-loader) Will scan the network and display all available Cheetah nodes and allow you to pick one to download to. After downloading, allows you to start the user program. Also provides memory read/write and display a block of memory.
  2. PC Cheetah DLL with MSVC++ source code. (handles the CAN routines to send and receive commands across the CAN bus)
  3. CAN-4-USB drivers. (Low level USB drivers)
  4. CAN-4-USB hardware interface. (Connects your USB port to the CAN bus)
  5. Connecting cable and termination connections for CAN bus. (Standard RJ45 connectors allow for the quick connection of additional boards)
  6. MC9S12C32 processor board with case and 16 I/O points (Analog port and Timer port) brought to terminal connections. Optional SPI expansion port and printed circuit board space for RS232 driver circuitry and D-9 connector.
  7. Processor board schematics
  8. Cheetah bootloader for HC12 with source code in C compiled under the Imagecraft ICC12 compiler.
  9. Sample user program. Demonstrates how a user program would be written to work under the Cheetah bootloader and includes a sample interrupt function. Compiled under Imagecraft ICC12 compiler.
  10. Documentation
Not included in this package:
  1. Suitable compiler for the HC12 for developing user programs
  2. Visual Basic 6 or MSVC++ for recompiling source code if changes are made
  3. Power supply to power processor board (requires 9-12vDC, 200mA)
Limitations:
  1. HC12 Cheetah bootloader does not include support for paged memory. Left to user to implement.
  2. No method of user code integrity verification is included such as CRC check etc. (Text does include methods of how to include this)
  3. No method of data encryption is included (text does include ideas on how to implement this as well as how to disable BDM support)
  4. Source code for the HC12 Cheetah bootloader was compiled under Imagecraft ICC12 compiler. Compiler changes are left as an exercise for the user.
  5. CAN bus protocol may not be compatible with other CAN higher level protocols and may need to be modified to suit the user's requirements. Documentation includes methods of accomplishing this.
  6. The CAN bus speed is currently fixed at 500kbps within the HC12 Cheetah bootloader with the option of changing to other speeds by reading DIP switches.(This was done to minimize hardware dependence. Other speed settings are included in the source comments)
  7. The HC12 Cheetah bootloader is hard-coded to a Node # value of 1. This is to minimize hardware dependence as the user application will have a unique way of defining a node # based on dip switches, non volatile memory etc.

FAQ: Where does "Cheetah" come from?
The very first commercial product developed at Zanthic Technologies Inc. (1996) was a monitor program that ran on the Motorola HC11E9 processor with the Intel 82527 CAN controller. It was (we believe) the first available CAN downloader for any processor (we were also the first to offer a parallel port CAN interface). It allowed the user to start/stop/download software as well as display and modify memory and even trapped un-initialized vectors and run away programs. This monitor program was successfully marketed and sold to companies around the world. To this day we have everything from remote controlled mining vehicles to industrial manufacturing equipment still running the original Cheetah monitor program. The name Cheetah itself came from the fact that Motorola had the B.U.F.F.A.L.O. monitor, well, everyone knows that cheetahs are much faster/smarter and better than a buffalo, right?


Purchase this Product

 


Zanthic Technologies Inc.
Copyright © 2006 Zanthic Technologies Inc. All rights reserved.