AN370
4.8. Files Needed for Building an Application
When building an application which will use ROM based API functions, there are several files needed. The
following table lists these files along with their descriptions.
File Name
si4010_types.h
si4010.h
si4010.inc
si4010_api_rom.h
startup.a51
si4010_rom_keil.a51
si4010_rom_all.a51
si4010_data.c
si4010_link.c
If the Si4010 revision B silicon (Si4010-B1-GS or Si4010-B1-GT) is used, then the following file is also
required:
si4010_fix_rom_keil.lib
These files are in the directory:
...\common\src\
in the Si4010 installation tree.
4.8.1. Device si4010.h and si4010.inc Headers
The C device header si4010.h and assembly si4010.inc header define the hardware registers in the device. They
16
Header file that declares type definitions used in the API. See Type Defi-
nitions section for more information.
Device header file that declares all SFR and XREG registers. It also
defines masks and bit indices which are to be used when accessing fields
within registers. This is a C header file. Must be included in all C files
using the Si4010.
Same as
si4010.h
, but for use with an assembler. This file should be
included in all assembly source files while using Si4010.
C header declaring all the API functions. Must be included to the applica-
tion which uses the API.
Simplified assembly startup file for Keil and Raisonance toolchains. Cus-
tomer may want to modify this file. It must be included in the application
build.
Assembly ROM symbol map that must be assembled and linked into the
application build if the API functions are being used. It tells the linker the
API functions are located in ROM. This file is tailored to Keil toolchain.
It also includes references to some of the Keil library functions.
Same as above, but for any other toolchain. It can also be used with Keil
toolchain if the user does not desire to use Keil library functions in ROM.
With Keil toolchain use either this one or the one above, but not both.
Data file related to the si4010.h defining the XREG register in XDATA
area. This file must be included in the application build.
File with dummy array variables to force linker to avoid DATA and IDATA
spaces used and reserved by ROM API. If this file is not used the linker
area avoidance directive must be used. User may want to augment this
file to notify the linker that the end of CODE/XDATA RAM is also reserved
for API use. A commented section showing how to achieve that is
included at the end of the file.
This file is needed only for Rev B. Keil library file containing fixed
vFCast_FskAdj function. Without it the frequency modulation will not
work.This file must be included in the application build if FSK modulation
is used (i.e., vFCast_FskAdj function is called). In that case, only the Keil
toolchain is supported.
Rev. 1.0
Description
Need help?
Do you have a question about the Si4010 and is the answer not in the manual?
Questions and answers