User`s manual

Dynamic C Users Manual digi.com 329
17. HINTS AND TIPS
This chapter offers hints on how to speed up an application and how to store persistent data at run time.
17.1 A User-Defined BIOS
Before discussing a user-defined BIOS, we will review the history of the Rabbit BIOS. Dynamic C 9.30
introduced a reorganization of the BIOS. Prior to 9.30, RabbitBIOS.c contained all the BIOS code and
a variety of configuration macros. Now, RabbitBIOS.c is a wrapper that permits a choice of which
BIOS to compile. In addition, a more modular design has been implemented by moving many of the con-
figuration macros to separate configuration libraries. The new BIOS file and configuration libraries are
located in LIB\BIOSLIB. Table 17-1 lists the new files and gives a brief description of their content.
To create a user-defined BIOS prior to Dynamic C 9.30, begin with a copy of RABBITBIOS.C. Starting
with Dynamic C 9.30, begin with a copy of STDBIOS.C. Modify the BIOS file. It is prudent to save
RABBITBIOS.C or STDBIOS.C as is and rename the modified file.
The Dynamic C GUI offers an option for hooking a user-defined BIOS into the system. See the description
of the “Advanced... Button” in Section 14.2.7 for details on using this GUI option. Prior to Dynamic C
9.30, this GUI option was the easiest way to accomplish the goal. If you are using Dynamic C 9.30 or later
and if you use the GUI option to hook in your BIOS, you will need to consider the configuration files and
associated macros described in Table 17-1.
Table 17-1. BIOS File and Configuration Libraries
File Name Description
STDBIOS.C Most of the code from RabbitBIOS.c was
moved here.
CLONECONFIG.LIB Macros for configuring cloning.
DKCONFIG.LIB Macros for configuring the debug kernel
ERRLOGCONFIG.LIB Macros for configuring non-RabbitSys error
logging. RabbitSys has its own error logging
method.
MEMCONFIG.LIB Macros for configuring memory organization.
SYSCONFIG.LIB Macros for other system-level configuration
options, such as the clock doubler and the
specturm spreader.
TWOPROGRAMCONFIG.LIB Macros for configuring split memory for the old-
style DLM/DLP.
FATCONFIG.LIB Macros for configuring the FAT file system.