HC908 Application Note #1
Organize Your Files for Effective Use

This Resource Page presents a hierarchical folder structure that can logically organize the many software and reference files that will be accumulated when developing and using projects based on the the HC908 Daughtercard.

Recommended Folder Hierarchy for File Organization & Software Development

The folder hierarchy shown at the left is a snapshot from File Explorer on my system, illustrating what I've found to be the most convenient and organized way to arrange files for the HC908 Daughtercard-based  projects. Right now only  some of the files are available, but you'll soon be adding others we make available, as well as files you collect from various Internet locations.

I use the standard Windows File Explorer application to navigate through files on my computer. By selecting the given directory, I can double-click the desired PDF documentation file, or text file, or html file that I have saved from some Internet site and it pops up for near-instant access. In this way, I consider and use my hard drive as a large file cabinet containing folders of all my project files. There are two ways to put this folder structure in place on your computer.

The first way is to manually create these folders and sub-folders. First launch your File Explorer application (right-click the Start button and select Explore) and click on the root of a given disk drive.  I usually place all my personal projects and folders on the D: drive, but you could actually put it on C: or anywhere desired. With the root of the disk selected (highlighted), chose the menu item FileNewFolder and enter "HC908 Daughtercard" in the prompted new folder. Then select this new folder and do the FileNewFolder operation again to add the folder "Documentation". Continue with this process until all the folders shown on the left are entered.

You may instead just download the zip file we have containing this directory structure already set up. Just download the HC908 Daughtercard.zip file to a temporary folder and extract the files to the root of your hard drive. (If you happen to do this several times, just reply "yes to all" when asked if you wish to replace a file with another of the same name.) When the unzip operation is complete you'll have the folder structure shown at the left.

Folder Descriptions

HC908 Daughtercard -- This top-level folder could actually be named anything you like.  I work with numerous projects on my computer and find it helpful to group them together by generic type.  In this case, all projects we'll be talking about involve the HC908 Daughtercard, so that's the name I use.

Documentation -- This first-level sub-folder contains the numerous documentation files you'll be collecting along the way for the project. You could just place the PDF files, HTML files, Text files, Word files and PowerPoint files into one big folder, but you'll soon find it rather difficult to locate a specific file among so many others.  Using a bunch of sub-folders beneath Documentation is a very organized way to keep your "documentation library".

68HC908 App Notes -- This 2nd-level sub-folder will contain the scores of PDF-format application notes that you can download from the Motorola support website. These files are so very important, I recommend you you do this right away.  Just point your browser at that site and download each of the app notes to this folder.  (Right-click each one and Save as to this folder on your local computer.)  Due to copyright restrictions, we could not supply these Motorola files on a distribution CDROM or even in a zip file for your download.

68HC908AB32 Manuals-- This 2nd-level sub-folder will contain the very important reference manuals for the M68HC908AB32 MPU chip. You can download the following PDF manuals from the Motorola support website. I recommend that you download these files right away.  Just point your browser at that site and download the respective PDF file to this folder.  (Right-click each one and Save as to this folder on your local computer.)  Due to copyright restrictions, we could not supply these Motorola files on a distribution CDROM or even in a zip file for your download.

MC68HC908AB32.pdf -- This file is the Technical Data Manual, the definitive source for all hardware and register information on the HC908 MPU itself.  You will often reference this manual to determine how to put specific capabilities into your HC908 Daughtercard software applications.

CPU08RM - CPU08 Reference Manual.pdf -- This manual is of equal value to the Technical Data Manual above, providing clear and in-depth description and example for using the HC08 software instruction set and addressing modes. You'll often reference this document when it comes time to modify existing programs or when developing your own custom applications.

TIM08 Timer Interface Module Reference Manual (tim08r1).pdf -- This short manual provides some additional information (beyond that contained in the Technical Data Manual) concerning programming and behavior of the Timer module on the MPU.

DMA08 Direct Memory Access Reference Manual (dma08r1).pdf -- This short manual provides some additional information (beyond that contained in the Technical Data Manual) concerning programming and behavior of the DMA module on the MPU.

M68HC08RG - HC08 Family Reference Guide.pdf -- This manual describes the HC08 software instruction set and addressing modes.  I've found the CPU08 manual to be more useful than this one for software instruction set purposes..

Addendum to HC08 Family Reference Guide (hc08rgad).pdf -- This short manual contains some updates to the HC08 Family Reference Guide described above.  This one is not too useful after you've noted the corrections.

Antenna Analyzer II -- This 2nd-level sub-folder will contain the documentation for the "AntAnal" project: articles, spec sheets, schematics, picture files, the user's manual, and more. The Antenna Analyzer is a major project (and NJQRP Club kit) coming out in the summer of 2003 that uses the HC908 Daughtercard as the basis for an intelligent reflectometer that measures and siplays antenna system performance.

Blink -- This 2nd-level sub-folder will contain the documentation for the "Blink" software program. Blink is a minimalistic application that illustrates one of the simplest ways the HC908 Daughtercard may be used.

Commander -- This 2nd-level sub-folder will contain the documentation for the "Commander" project: articles, schematics, spec sheets, picture files, the user's manual, and more. Commander is the application that instructs the HC908 Daughtercard to remotely control an HF transceiver.

Digital Breadboard -- This 2nd-level sub-folder will contain the documentation for the "Digital Breadboard" project: articles, schematics, spec sheets, picture files, the user's manual, and more. The Digital Breadboard is project at the core of my Digital QRP Homebrewing series of columns in QRP Quarterly magazine over the last 1-2 years. This project will be available in kit form from the NJQRP in the latter half of 2003, and will serve as a precise, performance-oriented and reconfigurable instrument and QRP accessory for the radio shack.  You can read more about the Digital Breadboard in the Digital QRP Homebrewing web pages.

Exerciser -- This 2nd-level sub-folder will contain the documentation for the "Exerciser" software program. Exerciser is a software program for the HC908 Daughtercard that, in conjunction with some simple hardware (e.g.,  the Test Fixture), demonstrate basic use of the available drivers and utility software routines. 

HC908 Daughtercard -- This 2nd-level sub-folder will contain the documentation for the "HC908 Daughtercard" project: articles, spec sheets, schematics, picture files, the Reference Manual, and more. The HC908 Daughtercard is a root project (and NJQRP Club kit) that serves as the heart and brains of all the projects in this section.

HCmon-- This 2nd-level sub-folder will contain the documentation for the "HC908 Monitor" software program: HCmon is loaded in upper memory of every daughtercard that is shipped.  It provides a low-level interface to the registers and memory on the MPU, and provides a very useful debugging capability with an ability to set breakpoints and single-step through programs loaded in user space. Lastly, but most important, HCmon provides a capability to download new user programs from the RS-232 serial port of the host PC and "Load" (burn) that program into the user space flash memory of the MPU.

Keyer -- This 2nd-level sub-folder will contain the documentation for the "Keyer" software program. Keyer is a simple software program that instructs the HC908 Daughtercard to work as an iambic keyer with settable controls for speed, dot/dash weighting and memories.

Template -- This 2nd-level sub-folder will contain the documentation for the "Template" software program. Template is the bare-bones shell of a program that one can use as a starting point for creating custom software programs.

VFO -- This 2nd-level sub-folder will contain the documentation for the "VFO" project: articles, schematics, spec sheets, picture files, the user's manual, and more. VFO is the application that instructs the HC908 Daughtercard to use some simple hardware (LCD, shaft encoder and DDS Daughtercard) to perform as a flexible RF signal source on your workbench or with your radios.

Software -- This first level sub-folder contains the source code and other related files (listings, maps, and loadable binaries) for each of the projects being used or developed for the HC908 Daughtercard. As other programs become available fro download from the HC908 Daughtercard web pages, the software for each will be contained in a separate new sub-folder under Software.

Several important "common" files are contained directly within the Software folder.  These common files are used by all of the software projects we develop and they expect to see them located here.  This is the only file organization technique you must follow.  By having all the project sub-folders "look up" one folder for these common files,  all can efficiently use the drivers, libraries and definition files we've developed for the HC908 Daughtercard projects.

The common files are located directly within the Software folder and include:

        ab_regs.inc -- This is the main definition file for all registers on the 68HC908AB32 MPU.

        local.inc -- Defines common areas of memory and common variables used on our HC908 Daughtercard project

        macros.inc -- Defines the macro "instruction shortcuts" used in the programs

        drivers.s -- Contains the routines used to control the various hardware components used in the projects

        utils.s -- Contains common I/O and math routines used by many of the software projects

AntAnal -- This 2nd-level sub-folder contains the software for the "Antenna Analyzer" project.
antanal_v1.asm -- The main source file.  This is the one you "assemble"
antanal_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
antanal_v1.lst -- The listing file. This is one you reference a lot when debugging.

Blink -- This 2nd-level sub-folder contains the software for the "Blink" software program. 
blink_v1.asm -- The main source file.  This is the one you "assemble"
blink_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
blink_v1.lst -- The listing file. This is one you reference a lot when debugging.

Commander -- This 2nd-level sub-folder contains the software for the "Commander" project.
commander_v1.asm -- The main source file.  This is the one you "assemble"
commander_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
commander_v1.lst -- The listing file. This is one you reference a lot when debugging.

Exerciser -- This 2nd-level sub-folder contains the software for the "Exerciser" software program. 
exerciser_v1.asm -- The main source file.  This is the one you "assemble"
exerciser_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
exerciser_v1.lst -- The listing file. This is one you reference a lot when debugging.

HCmon -- This 2nd-level sub-folder contains the software for the debug monitor program.
hcmon_v1.asm -- The main source file.  This is the one you "assemble"
hcmon_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
hcmon_v1.lst -- The listing file. This is one you reference a lot when debugging.

Keyer -- This 2nd-level sub-folder contains the software for the "Keyer" software program.
keyer_v1.asm -- The main source file.  This is the one you "assemble"
keyer_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
keyer_v1.lst -- The listing file. This is one you reference a lot when debugging.

Template -- This 2nd-level sub-folder contains the softwrae for the "Template" software program. 
template_v1.asm -- The main source file.  This is the one you "assemble"
template_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
template_v1.lst -- The listing file. This is one you reference a lot when debugging.

VFO -- This 2nd-level sub-folder contains the software for the "VFO" project:
vfo_v1.asm -- The main source file.  This is the one you "assemble"
vfo_v1.s19 -- The S-record file.  This is the one you "Load" using HCmon L command
vfo_v1.lst -- The listing file. This is one you reference a lot when debugging.

       

 

Last Modified:  April 27, 2003