C6808 Product News
The following sections describe new features in Byte Craft Limited Products.
As of 1 September 2005, Byte Craft Limited's corporate address will be:
Byte Craft Limited
A2-490 Dutton Drive
Waterloo, Ontario, Canada
N2L 6H7
phone: +1 519.888.6911
fax : +1 519.746.6751
<support@bytecraft.com>
C6808 now supports the RS08 core. Code generation now extends across HC08, HCS08, and RS08 parts.
To target an RS08 part, choose the correct header file for your target part from Include\dev folder.
RS08 code generation is enabled with a #pragma has directive. This directive is present in the device header files, and can be added to custom headers. See the product documentation for more information.
The Code Development System supports a new threading architecture. Threads are C functions declared with a C expression that governs their dispatch.
#pragma threadnamecontext(expression);
For more information, see the printed or online documentation, or the tutorial.
C6808 fully supports the HCS08 family.
-
Device header files for HCS08 parts are present in the
include\devsubfolder. -
The compiler accepts the #pragma has S08 directive. This configures the compiler to use the new instructions and additional addressing modes offered by the HCS08 parts.
-
The compiler features numerous built-in functions that map to machine instructions not otherwise provided for in the compiler. For more information see the product documentation.
#pragma fill =list,...;
#pragma fill [size] @location=list,...;
#pragma fill @location=list,...;
This directive causes the compiler to fill program memory (ROM or otherwise) with elements of a list. Valid list items are any values or strings, defined as constant data or preprocessor definitions. Separate list items with commas.
If you do not specify the size, the compiler will place the list in memory once. Otherwise, the compiler will fill size words of memory with the data. The compiler will truncate the list to fit size, or repeat it to fill size words completely. If size is 0, no memory will be written.
Strings will be filled with a zero terminator. The compiler will truncate a string to meet size.
If you do not specify location, the compiler will place the list at the current program counter location.
#pragma MotorolaS19; /* S19 file contents */ ; // terminates the S19 image
#pragma MotorolaS19 sets the compiler to use the contents of a Motorola S19 hex file in the generated program. This command effectively merges the S19 file with the executable generated by the compiler.
The compiler preserves address information in the file. This means that program data previously allocated to those areas may be overwritten by the S19 file, and program data generated subsequently may overwrite the S19 file. Ensure that the S19 data does not conflict with the program or constants generated by the compiler.
S0 records (descriptive headers) are ignored. A S9 record terminates the S19 image. A single semicolon on a line also terminates the image.
The S19 records must appear in the file itself, but you can use the #include statement to read in the records from an external S19 file.
You can set the value stored in unused ROM locations with the #pragma option fillrom statement:
#pragma option fillrom value;where value is an 8-bit integer expression.
The default integer size of Code Development Systems is 8 bits. If the symbol __INT16 is defined, it indicates that the default integer size is 16 bits.
The __INT16 preprocessor symbol is defined by the compiler when either the +i is set on the command line, or the #pragma option +h directive appears in a source file.

July 2008: