HC908 Software Tool
ICS08 Windows Development Environment
Downloading, Installing and Using the ICS08 WinIDE
This page describes the software tool called the "ICS08 Windows IDE", from P&E Micro. This Windows-based software package provides a convenient Integrated Development Environment, or 'IDE', for developing our HC908 Daughtercard assembly language software programs. P&E Micro provides this tool free of charge -- all you need to do is register your name and email address on their web page (for notification of updates, etc.) and you'll then be able to download the WinIDE package to your computer, install it and start using it right away.
Downloading ICS08 WinIDE
The WinIDE development environment (editor, compiler, debugger) is still available for free, but they make it harder and harder to find it these days …. http://www.pemicro.com/products/product_viewDetails.cfm?product_id=147&menu_id=details&CFID=3215646&CFTOKEN=a000491e065adc87-092D184F-1E67-4D2B-C93616E43D63B4A2 … Just click on the PKG08SZ item (second down in right column), then do the simple registration and you’ll be cleared to download the whole package.
Installing ICS08 WinIDE
After the WinIDE installation executable file has been downloaded to your local computer, you'll need to actually run it to install the program and various constituent files into your Windows operating system. First make sure no other programs are running on your computer (e.g., close Word, Internet Explorer, etc.). Click the Start button and select Run... and then enter the location and filename of the program you just downloaded. For example, this might be "D:\\temp\ics08abz_version_1_05A_020402.exe. An even easier way may be to use File Explorer (as I always do), navigate to the Temp directory and double click the file.
Once you start the installation program just follow the various directions presented in the series of window dialogs presented on the screen. It's best to just accept all the default options presented and let the install process place the files into the Program Files folder on your C: drive. You won't need to access them again this way, so it really doesn't matter, as long as you have sufficient disc space available there.
When the installation process is complete, I find it convenient to go back to the Temp directory and delete the install program in order to save space on my drive.
Running ICS08 WinIDE
Now that the the development environment is installed, you'll want to know how to start it up when it comes time to actually do some development. You'll do this operation here every time you want to make changes to some software programs for trial on your HC908 system. The most convenient way I find to start up ICS08 WinIDE is to use the Windows Start button. Using this standard method, select StartèProgramsèICS08ABZ In-Circuit SimulatorèWinIDE Development Environment. These directories and filenames are those installed on my system; yours may be different in some regard, but basically you need to get to the WinIDE program and run it.
Once loaded, the WinIDE displays the main window, similar to the one shown below. (The snapshot I provided here happens to have the Exerciser source file loaded.)
Typical Use of the ICS08 WinIDE
1) Close Down Unused Files -- The first thing you'll want to do is close any sample or release note files that likely opened up automatically in the main window. (It's been a while since I've installed mine so I can't recall what file is initially displayed!) Close that file by clicking the lower close box icon (x) in the upper right corner. If you click the upper one you'll close down the WinIDE and need to start over.
2) Open A Source File for Editing -- You should next open up one of the source files for our HC908 Daughtercard project. Select the FileèOpen menu and navigate to the development folder to which you downloaded all the software we provide on the HC908 Resource web page. (See Application Note #1: Organize Your Files for Efficient Use for detail on this.) A real convenient feature of this WinIDE is that the file opening sequence "remembers" where you last loaded or save files, so once you've pointed the WinIDE into our HC908 Daughtercard Code folders, you'll always be there and you can easily load other related files in your projects.
3) Make the Desired Edits -- Now that you've opened up a source file (e.g., the Exerciser_v1.asm shown here) you'll be able to browse through it using standard and common Windows operations and edit the source code as needed.
4) Assemble the Program -- Assuming you've made all the changes needed, you'll want to invoke the built-in assembler program that will convert all the text instructions written into this source file (*.asm), and produce the following files: a listing file (*.lst), a map file (*.map) and an S-record binary file (*.s19). These three files will be of use you you a little downstream, as you'll soon see. So for now, run the assembler by clicking the left-most icon along the top of the screen. If you didn't make any errors while typing in your changes during the editing process, a window will be displayed proclaiming your success. However if you typed an incorrect instruction, forgot to put in a semicolon for a comment or any other possible errors, the assembler will highlight the errant line for you to correct. For help, you may need to open up the Motorola HC908 reference manuals, as described in Application Note #3. You should make the required correction and try assembling again ... and again, and again until you get to the success window. As you programming skills get better, the number of iterations should get smaller in achieving a successful assembly.
5) Save the Program Changes -- When comfortable with changes made to the source file, and typically after a successful assembly has been done, you should save your new program, preferably under a different name or with an increased version number, which is basic software development practice to help you keep track of changes. Instead of using the FileèSave menu to save your program, you can use the shortcut "Save icon" along the top of the screen. This is shown above the "R" in the "EXERCISER" text of the sample window above.
Normal operation of the WinIDE ends here with a successful assembly and saving of your program. The assembly operation produced a listing file (*.lst) and an S-record binary loadable file (*.s19) that will be used by the terminal program you're using to talk to the H908 Daughtercard. (See the note describing TeraTerm operation and Application Note #6 for debugging techniques using the files that the assembler produces.
Extended Use of the ICS08 WinIDE
Although most homebrewers' use of the WinIDE will end with the assembly operation above, some intrepid souls may have purchased some special hardware accessories that allow them to perform some in-circuit debugging (using the ICS08 development board from P&E Micro), or program the flash memory of blank HC908 chips (using the Mon08 flash programmer dongle from P&E Micro). Since these operations are slightly beyond the needs/capabilities of most homebrewers, I'll describe the steps only briefly below.
In-Circuit Debugger -- The WinIDE contains a powerful feature that allows the developer to use hardware debugging and breakpoint mechanisms built into a speacial board called the M68ICS08ABUM Development Board. (You can find more information about this ~$200 board on the P&E Micro website.) Your computer connects to the development board via a standard serial cable and the WinIDE communicates with the board to control the debugging session for the M68HC908AB32 chip plugged into the socket. This debugging technique is very powerful in that you could have a cable to then connect to your specific hardware and thus have a fully connected actual target application under real-time hadrware conrol of the debugger. P&E Micro provides good documentation for using this development tool and you and interested develops can refer to it for more detail.
Flash Programmer -- Although the HCmon program we developed for the Daughtercard project provides the ability for the user to burn new programs into the area of flash memory we designate as "user space", it doesn't allow burning of the upper memory area ($EFF0-$FFFF) which is where our monitor actually resides. Further, if this area of memory gets corrupted in some way (see Application Note #9 for these cautions), the HC908 Daughtercard will need to be returned to the NJQRP for re-programming of the HCmon program. That is, unless you have your own flash programming capability! Once again the folks at P&E Micro have provided a programmer cable called the MON08 CYCLONE. This tool plugs in between the serial port on the PC and the pinheader connector described in our HC908 Daughtercard Test Fixture. The WinIDE program has a flash programming module that talks to the Mon08 programming cable and allows the user to program any area of the memory space on the chip, or even on a blank chip. The In-Circuit Debugger development board described above also provides this same capability, as do several other products from third party vendors.