HCS_C INDEX
7/2/2005:
HCS_C SOFTWARE AND UPDATES
HCS_Software (1.05a bugfix)
PC_BOARD A.02 to A.03 update list
Here are the various HCS_C pages.
HCS_C Main Board Block Diagram
HCS_C Bill of Materials parts list HCS_C_schematics
HCS_C: 1.09b SOFTWARE AND UPDATING TO NEW SOFTWARE
updated 8/27/2008 (1.09b hcsnet bug, WAIT/events save bug, change special escapes, exclusive OR op, other miscellaneous)
Bob Morrison (c) 2008
Index
FAQ: HCS_C_FAQ
Page 1: Getting Started building HCS_C
Page 2: Hardware Parts
Page 3: Software
Page 4: Known Bugs
Version 1.09b 080827 New Escape Formats, HCSNET
WARNING:: These files and contents are protected by copyright
Robert D. Morrison Copyright July 2008 All rights reserved.
This may not be used in whole or part except by express written consent
of the author. Commercial use of this code is prohibited. The author
may not be held liable in any way for any consequences or misuse of this
file or any portion thereof.
CONTENTS:
a: SUMMARY OF INSTRUCTIONS TO UPDATE NEW FIRMWARE
b: HCS_COMBO Card New Version 1.01 FPGA bits
b: BUG REPORTING
c: FILES NEEDED TO DO A FIRMWARE AND/OR FPGA CIRCUITRY UPDATE:
d: UPGRADE_PROCEDURE FOR UPGRADING YOUR HCS_C
e: COMPILING USING THE HCS_C XPRESS COMPILER to compile your Events.hcs file into an Events.bin file
f: RUNNING YOUR Events.bin FILE ON HCS_C
g: SOURCES (1.06 uploaded)
THIS IS A MAJOR UPDATE.
Get the new FW bits: hcs_xpress_080827.txt . Get the new compiler: hcs comp_080827.exe. Get the new host: host_080827.exe
You do not need the new FPGA bits (hcs_c_fpga_022808.pof ) if you have already installed 1.08b.
Sources are in the sources section below. I did an update of the hcs_c_xpress_user_manual that has the new string escape codes, new HCSNET support, the ALERT capability, and lots of other improvements and fixes. Use this flash loader: hcs_flash_061507.txt .
PLEASE NOTE--Writing firmware, compiler changes, etc, is a *lot* of work--this is definitely preliminary. Please send bug reports and feature requests to zeta (zetaengineering.com), but I'm pretty snowed under getting boards out. I'll try to get updates as fast as I can. The most important hot item for implementation is to get the special character support in the string commands (right now you cannot put embedded special characters into the hcsnet string commands, that will get fixed very soon).
UPDATING YOUR HCS_C FIRMWARE INSTRUCTIONS:
Get this flash loader, hcs_flash_040708.txt it is the newest one and includes a little more help text. Don't forget--you use mttty.exe, not hyperterm, to download this file to the HCS_C (make sure the DIP switch near the edge is set to open so it will run from download rather than flash). You can find this in the Windows system32 directory. If you are running Linux, or a Mac, an equivalent buffered terminal program should work also. When the download finishes displaying a few rows of dots, hit the space or return key to run it.
Here are the new HCS_C Flash firmware bits. NOTE: This is version 0.03a--it has passed regression testing and other testing, but because I wanted to get this out quickly, this is still in an alpha test stage. hcs_xpress_050707.txt You must not erase the Flash memory, this iteration will program over the older HCS_C version 0.03 bits. You can follow the normal flash procedure described below, just be sure you do not do a flash erase.
GENERIC HCS FIRMWARE INFORMATION (Has references to older files)
12/3/05 An important bugfix is here. This is an incremental change from 0.03, but all users should update to this version.
The HCS_C Xpress compiler application for Windows PC: hcs_c_comp_120305.exe fixes the Voice syntax, adds the special character escape sequence %Nnn so you can output the "%" and other special characters, and changes HCS_BYTE to HCS_FPGA and fixes the syntax problem it has.
Here is a non-verbose version--this is a pre Alpha version (meaning it ain't tested much yet!) hcs_c_comp_nv_120606.exe
Get this flash loader, it is the newest one and includes a little more help text. hcs_flash_040708.txt Don't forget--you use mttty.exe to download this file to the HCS_C (make sure the DIP switch near the edge is set to open so it will run from download rather than flash). When the download finishes displaying a few rows of dots, hit the space key to run it.
Here are the new HCS_C Flash firmware bits. NOTE: This is version 0.03a--it has passed regression testing and other testing, but because I wanted to get this out quickly, this is still in an alpha test stage. hcs_xpress_120605.txt You must not erase the Flash memory, this iteration will program over the older HCS_C version 0.03 bits. You can follow the normal flash procedure described below, just be sure you do not do a flash erase.
Older Version 0.03: Please be patient with me if I make mistakes getting everything so it works for you--this whole thing is getting complicated beyond my ability to effectively manage it. But I'll do my best. Send a post to the HCS bbs web site or send me an email if I goofed somewhere. I really need you all to help find bugs, be sure to send those to me with a detailed list of what versions you are using (version and serial number of the board, version of FW, version of the FPGA config file, version of the compiler and the host program). Please be careful to describe in detail the problem (I can't help much if you tell me "it locks up"!!) Here is what I would like to see in your bug report:
Here is the version 1.01 FPGA configuration file hcs_combo_1_01.mcs. You must use the Xilinx FPGA Web Software and the Xilinx Parallel Cable IV programming adapter (III should also work but be prepared for programming retries, it's a passive programmer and not very reliable). Sources for the Combo card are below in the Sources section.
a: version of host (you can see it on the startup banner. Currently I am releasing version 0.03)
b: version of the HCS_C Xpress compiler (Currently I am releasing version 0.03)
c: version of the HCS_C firmware in flash memory (Currently I am releasing version 0.03)
d: Your name, email address, date of bug found, and what computer and OS you are using (some problems are host speed related)
e: The events.hcs file causing the failure
e: Description of bug, including any error messages, description of where the failure occurs in the events.hcs file, and other symptoms
f: Frequency of the bug--every time the program is run, occasional, once in a long while
g: Severity of the bug--have you figured out a workaround and what is it
h: It would be especially nice if you included an actions log dump file. Put a LOG MODE ACTIONS in your if-reset statement, followed by a LOG MODE OFF. Then, at the start of the if statement that has the problem, put a LOG MODE ON, then a LOG MODE OFF at the end of the if statement block (just before the last end statement of that if statement).
Thank you for helping make HCS_C the best it can be!
Note--you can't skip any of these steps--all of the files are dependent on the others! Sources for all of these are available in the following section (scroll down past the update procedure section).
FILES NEEDED TO DO A FIRMWARE AND/OR FPGA CIRCUITRY UPDATE (SUBSTITUTE LATEST FILES):
FPGA version 0.04 configuration EPROM programming file hcs_c_top_020307.pof older version 0.03 hcs_c_top_073105.pof
downloadable flash programming executable bits: hcs_flash_040708.txt
The HCS_C Xpress ROM FW executable bits: hcs_xpress_050707.txt older version 0.03 hcs_xpress_073105.txt
The HCS_C Xpress compiler application for Windows PC: hcs_c_comp_020307a.exe older version 0.03 hcs_c_comp_073105.exe
The HCS_C Host Windows program application for real-time interaction with your HCS_C: host_020307.exe older version host_073105.exe
A customized events.hcs file. Here is a simple sample: events_hello.hcs
A regression test will be coming soon.
PROCEDURE FOR UPGRADING YOUR HCS_C
FPGA configuration EPROM programming file:
First, pick up the FPGA Config Eprom file: hcs_c_top_040807.pof . You need to use your JTAG adapter in the Altera connector with the little cable--be absolutely sure that you don't also plug it into the emulation JTAG connector on the left of the board at the same time! Use the free Altera Quartus Webpak programming software. Click the "tools' menu, then programmer. When the dialog box comes up, clear any default entries (click and delete), then double click on the blank window area. It will come up with a window asking you to select a programming file. Select the pof file you downloaded, then select the program/configure and the verify check boxes. Make sure the HCS_C board is powered up, and push start. It should take about a minute or so.
Using the HCS_FLASH program to download and flash program your EPROM with the HCS_C ROM Firmware:
Now you need to program your flash memory. Since most of you already have stuff in flash, you will need to erase your flash first--UNLESS the download file is described as "Linking Loader Compatible". This is described as follows (in either case, whether programming or erasing, you must first download the flash program, then the target source program).
If the FPGA configuration programming went well, then pick up the flash loader hcs_flash_040708.txt Also pick up the new HCS_C Xpress 1.05a firmware hcs_xpress_050707.txt. This is linking loader compatible, so you do NOT need to erase--just over-program your existing bits. If you are running on Windows XP, you can run the terminal program mttty.exe that comes with WinXP (you have to go find it, I think it's in the Windows/System32 directory). If you are running another OS, any good terminal program should work (but not that dumb hyperterm program, it wont work). Now, make sure you have your PC set for 115200 baud no handshake, and run the mttty program. Specify 115200 baud, and select connect to connect to your serial port. Make sure the left most DIP switch is set open (toward you), and push the reset button. You should see "OK" (NOT OKF, which indicates HCS_C booted from flash). Now click the "transfer" then "sendfile" (or you can just hit the F5 key). Choose the hcs_flash.txt file. It will download and show a few lines of dots, then just pause. Assuming you see no errors, hit the space key and it will tell you it is initializing memory. When that completes, you then download the HCS_C Xpress firmware. Select the "transfer" then "sendfile" (or hit F5), and choose the hcs_xpress.txt file. This will show about 10 lines of dots, then just pause. If there is no error, hit the space bar to continue. You now will have the option of either programming your flash (hit the y key) or erasing it (hit the n key). If you say no, you will be given the option of erasing your flash memory. If you already have stuff in your flash memory, you must erase it first IF the new bits are not linking reloadable (NOTE: this version 0.04 IS linking reloadable, you do not need to erase the chip first). This will erase the entire chip, but not the other three chips on HCS_C. When it asks you if you are sure, note you must type a CAPITAL y, otherwise it will abort.
NOTE: for some screwball reason that I need to track down, the erasing process doesn't terminate. Just wait at least 7 minutes, then you will be ready to program your flash memory. Note also, that you must reset and re-load the flash program every time you erase or program.
Using the HCS_C Xpress Compiler to compile your Events.hcs file into an Events.bin file
Now, if that all went well, flip the left most DIP switch to the on position (away from you) and turn off the power. Now you need the HCS_C Xpress Compiler: hcs_c_comp_010707.exe. You also will need the new host program--sorry, it's the old DOS thing we used to use, modified for HCS_C. I'm hoping somebody wants to make a lot better one, but for now this will do: host_122806.exe. You will also need an events.hcs file--this is where you get to do your customization, just like in the old HCS2 days. But first try this to make sure evrything is working: events_hello.hcs. The procedure is the same as the HCS2 way: copy your events file to events.hcs. Run the compiler on this, it will create an events.bin file. I currently have verbose syntax reporting turned on, so be prepared to see a LOT of information which you can ignore unless there are errors.
RUNNING YOUR Events.bin FILE ON HCS_C
Now you are ready to roll--run the host executable (note, it runs at 9600 baud, I will fix this to run at 115200 soon). You should see the time update continuously. Type C, then T, to set the correct time. Then type F, then L to load your events.bin file. You should see "!Hello World" on your console window. If this all works, then do the same thing with the regression test: events_regression_073105.hcs NOTE this is old--a new one will be coming.. If THAT works, I would say you are ready to conquer the world! Note that I don't have any of the other console commands running yet, I'll get working on that soon.
SOURCES (1.09 Escape codes/ new HCSNET support is now uploaded)
Here are the Version 1.09 sources:
Since this thing is fresh out of the oven, don't get too frustrated if things don't work as planned, I'll help get you going as best as I can. Send detailed bug reports to the HCS bbs website or send me email. I will put put up all of the source in a few days--but this should get you started. Have fun!
Sources for the HCS_C Xpress firmware for HCS_C flash memory:hcs_c_fw_080818.zip
Source for the HCS_C Compiler:hcs_comp_080818.c Use Visual C++, I used an old version 1.5!. But I think newer versions will work)
Source for the HCS_C Host program host_080820.c Use ONLY Borland C++ 3.0--it uses the term vs library. A new version of host not dependent on this non-supported compiler is coming soon.
Here are the older Version 1.08 sources:
Since this thing is fresh out of the oven, don't get too frustrated if things don't work as planned, I'll help get you going as best as I can. Send detailed bug reports to the HCS bbs website or send me email. I will put put up all of the source in a few days--but this should get you started. Have fun!
Sources for the FPGA circuitry: hcs_c_fpga_020308.zip
Sources for the HCS_C Xpress firmware for HCS_C flash memory:hcs_c_fw_020308.zip
Source for the HCS_C Compiler:hcs_comp_020308.c Use Visual C++, I used an old version 1.5!. But I think newer versions will work)
Here are the Version 1.06 sources:
Sources for the FPGA circuitry: hcs_c_fpga_060207.zip
Sources for the hcs_boot program that is in the FPGA boot ROM: (not done yet)
Sources for the hcs_flash program that enables downloading to HCS_C flash memory: hcs_flash_060207.c
Sources for the HCS_C Xpress firmware for HCS_C flash memory--has bug, fix version sources coming soon:hcs_c_fw_060207.zip
Source for the HCS_C Compiler:hcs_comp_060207.c Use Visual C++, I used an old version 1.5!. But I think newer versions will work)
Source for the HCS_C Host executable (requires Borland C++ 3.1): hcs_host_040907.c
These are the Version 1.05 sources:
Since this thing is fresh out of the oven, don't get too frustrated if things don't work as planned, I'll help get you going as best as I can. Send detailed bug reports to the HCS bbs website or send me email. I will put put up all of the source in a few days--but this should get you started. Have fun!
Sources for the FPGA circuitry: hcs_c_fpga_040907.zip
Sources for the hcs_boot program that is in the FPGA boot ROM: (not done yet)
Sources for the hcs_flash program that enables downloading to HCS_C flash memory: hcs_c_flash_020307.zip
Sources for the HCS_C Xpress firmware for HCS_C flash memory--has bug, fix version sources coming soon:hcs_c_fw_040907.zip
Source for the HCS_C Compiler:hcs_c_comp_040807.c Use Visual C++, I used an old version 1.5!. But I think newer versions will work)
Source for the HCS_C Host executable (requires Borland C++ 3.1): host_040907.c
Source for the HCS_Combo card FPGA: hcs_combo_source_1_01.zip
These are the OLDER Version 1.04 sources:
Since this thing is fresh out of the oven, don't get too frustrated if things don't work as planned, I'll help get you going as best as I can. Send detailed bug reports to the HCS bbs website or send me email. I will put put up all of the source in a few days--but this should get you started. Have fun!
Sources for the FPGA circuitry: hcs_c_fpga_020307.zip oldhcs_c_fpga_080805.zip
Sources for the hcs_boot program that is in the FPGA boot ROM: hcs_c_boot_020307.zip old hcs_c_boot_070905.zip
Sources for the hcs_flash program that enables downloading to HCS_C flash memory: hcs_c_flash_020307.zip old hcs_c_flash_070905.zip
Sources for the HCS_C Xpress firmware for HCS_C flash memory:hcs_c_xpress_fw_020307a.zip old hcs_c_xpress_fw_080805.zip
Source for the HCS_C Compiler:hcs_c_comp_020307a.zip old hcs_comp_080805.zip Use Visual C++, I used an old version 1.5!. But I think newer versions will work)
Source for the HCS_C Host executable (requires Borland C++ 3.1): hcs_host_020307.c old hcs_host_080805.c
These are the Version 0.02 sources, I will post the 0.03 sources soon:
Since this thing is fresh out of the oven, don't get too frustrated if things don't work as planned, I'll help get you going as best as I can. Send detailed bug reports to the HCS bbs website or send me email. I will put put up all of the source in a few days--but this should get you started. Have fun!
Sources for the FPGA circuitry: hcs_c_fpga_070905.zip
Sources for the hcs_boot program that is in the FPGA boot ROM: hcs_c_boot_070905.zip
Sources for the hcs_flash program that enables downloading to HCS_C flash memory: hcs_c_flash_070905.zip
Sources for the HCS_C Xpress firmware for HCS_C flash memory: hcs_c_xpress_fw_070905.zip
Source for the HCS_C Compiler: hcs_comp_070905.c include file constants: xpress_token_data_070905.h (use MicroSoft Visual C++, I used an old version 1.5!. But I think newer versions will work)
Source for the HCS_C Host executable (requires Borland C++ 3.1): hcs_host_070905.c
NEXT >> Page 1 Page 2 Page 3 Page 4
mail to: zetaengineering