HEL Library comes in different forms. This sections provides an overview of the available libraries and their meanings.
The debug library contains functions to output debug messages (HEL_DEBUG_MSG) as well as assertion evaluation mechanisms (HEL_ASSERT) and heavily uses the latter. Because almost every function in HEL Library uses HEL_ASSERT to check the incoming parameters, the debug library is rather slow, but provides useful information when functions get called with incorrect values.
Add the following lines to your project makefile to use the debug library:
CFLAGS += -DHEL_DEBUG
ADD_LIBS += $(GCCARM)/lib/libhel2_d.a
This library has all the features of the regular Debug Library plus support for a call stack trace. The stack strace is displayed in the assertion screen. This library is very slow!
Add the following lines to your project makefile to use the debug library with call stack trace support:
CFLAGS += -DHEL_DEBUG
CFLAGS += -DHEL_DEBUG_CALLSTACKTRACE
CFLAGS += -mpoke-function-name
CFLAGS += -finstrument-functions
ADD_LIBS += $(GCCARM)/lib/libhel2_dcs.a
The checked library of HEL contains functions to output debug messages (HEL_DEBUG_MSG) as well as assertion evaluation mechanisms (HEL_ASSERT) but does not use them in library code. A lot of functions get replaced with macros which increases performance. This library is as fast as the release library.
Add the following lines to your project makefile to use the checked library:
CFLAGS += -DHEL_CHECKED
ADD_LIBS += $(GCCARM)/lib/libhel2_c.a
This library has all the features of the regular Checked Library plus support for a call stack trace. The stack strace is displayed in the assertion screen. This library is very slow!
Add the following lines to your project makefile to use the check library with call stack trace support:
CFLAGS += -DHEL_CHECKED
CFLAGS += -DHEL_DEBUG_CALLSTACKTRACE
CFLAGS += -mpoke-function-name
CFLAGS += -finstrument-functions
ADD_LIBS += $(GCCARM)/lib/libhel2_ccs.a
The release library of HEL does not contain any function to output debug messages or assertion evaluation mechanisms. This library is the smallest and fastest one.
Add the following line to your project makefile to use the release library:
ADD_LIBS += $(GCCARM)/lib/libhel2.a
When you switch between libraries, make sure to rebuild the entire project. You can force recompilation of all source files with this command: If the -B parameter won't work, perform a "make clean" and then a "make".
Due to the fact that several modules in HEL are almost entirely replaced with macros in release and checked mode, you can get an error that the linker cannot find a symbol (function) in the library. This error occurs when you use the release or checked library but you did not remove the HEL_DEBUG
define.
Typical errormessages are:
main.o(.text+0x1f4): In function `main': undefined reference to `hel_PalBgLoad256'
main.o(.text+0x5dc): In function `ScrollMap': undefined reference to `hel_PadQuery'
Generated on Sat Aug 12 13:54:07 2006 for HEL 2 Library by
1.4.7