beautypg.com

2 api/library and header files, Api/library and header files – Maxim Integrated 73S12xxF Software User Manual

Page 10

background image

73S12xxF Software User Guide

UG_12xxF_016

10

Rev. 1.50

2.2.2 API/Library and Header Files

The library files included in the software development kit are listed below (see

Figure 1: Software

Architecture Diagram

for the library partitions). The following nomenclature applies to the file names:

• ‘?’ is either ‘S’ (for Single-8010) or ‘M’ (for Multiple-8010)
• ‘xx’ is ‘BL’ (for Serial Boot Loader), ‘DFU’ for USB DFU Boot Loader or empty.
• There are other versions such as LAPI-MS1.LIB, LAPI-SLED.LIB, that are specific builds for specific

hardware setups and are typically NOT included in the sample application project files. For all
evaluation purposes, these files will NOT be used.

The High-level API library does not include a USB API. For the USB 2.0 Specification (specifically,
chapter 9 of the specification), the LAPI layer handles all endpoint 0 (or control endpoint) communications
with the host; thus a High-level API for USB is not necessary. An application can call the LAPI USB
functions directly for all of its bulk and interrupt endpoint communications.


 LAPI-?xx.lib

1

 I2C_SC-?xx.lib

Low-level API library containing control of both internal and external smart
card slots. This library should be included in an application that supports
an I2C interface via an 8010 IC.

Low-level API library containing all necessary core controls.

 ICC_API-?xx.lib

High-level Smart Card API library for Smart Card.


In addition, the following header (.h) and source (.c) files are included:

 API_12.h

Low-level header file. Include this file in all embedded applications.

 Api_struct_12.h

Low-level header file with all enumeration types defined.

 Reg12xx.h

Low-level header file specific to the 73S12xxF peripheral registers.

 LangIDs.h

Low-level header file. Include this file in all embedded applications for USB
communication.

 Portable.h

Low-level header file. Include this file in all embedded applications.

 Reg_banks_12.h

Low-level header file. Include this file in all embedded applications.

 ICCMgt.h

High-level ICC header file. Include this file when the ICC_API.lib is used.

 Allocate.c

High-level API common file that indicates the specific number of commands
that can be used for each High-level API library.

 Allocate.h

High-level API common header file used with allocate.c.

 Commands.h

High-level API common header file used with allocate.h.

 CCID Source

See the CCIDAP_73S12xx_V...pdf file under the CCID USB Firmware
folder.

 P-CCID Source

See the 12xxANPseudo-CCID-SerialProtocol…pdf file in the TSC-
12xxRS232\vx.xx\TSCP-CCID\Firmware\Doc folder.

1

When the low-level LAPI-?xx.LIB library is included in an application, the compiler requires that the

modules within the library be exclusively selected; otherwise, it will not be included. No error/warning will
be displayed during the build but when the hex file is downloaded and run, the intended function will not
operate as expected. To avoid this problem, right-click on the low-level LAPI-?xx.LIB library (after adding
it to the project), select ‘options for File LAPI-?xx.LIB’ – and under ‘Select Modules to Always Include’,
select the modules that the application uses, as listed. If program space permits, select all listed
modules. This setup can be optimized later (once the application code is stable) by deselecting unused
modules to reduce code space.