Advanced: Creating Customized OSIs : Customizing API Definitions : Customizing Memory Management : Data—Declaration Section

Data—Declaration Section
 
Sample Definition
Declaration Section [.c] Header
#if defined __HC12__ || defined __HC08__
#pragma DATA_SEG DEFAULT
#pragma CONST_SEG DEFAULT
#pragma STRING_SEG DEFAULT
#elif defined(COSMIC12)
#pragma section []
This line will be added at the beginning of 'glob_dat.c'
This line will be added at the beginning of 'glob_dat.c'
Declaration Section [.c] Footer
#if defined __HC12__ || defined __HC08__
#pragma DATA_SEG DEFAULT
#elif defined(COSMIC12)
#pragma section []
This line will be added at the end of 'glob_dat.c'
This line will be added at the end of 'glob_dat.c'
Extern Declaration Section [.h] Header
This line will be added at the beginning of 'glob_dat.h'
This line will be added at the beginning of 'glob_dat.h'
Extern Declaration Section [.h] Footer
This line will be added at the end of 'glob_dat.h'
This line will be added at the end of 'glob_dat.h'
8-bit Declaration Begin Section
#pragma PRGM_8_BIT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for 8-bit data declaration begin section */' defined in 'type_declare_order.txt'
These APIs enable insertion of user code into the data declaration and extern declaration section in the files glob_dat.c and glob_dat.h.
The order in which the data is generated can be defined by adding a file named type_declare_order.txt into the OSI.
This file is a list of names of types, which defines the order in which they will be generated.
Data of types not included in this file will be generated last.
The file type_declare_order.txt may also include a set of keywords that identifies the location in which the definition of the corresponding APIs are inserted.
1. APIs referring to the declaration file (glob_dat.c)
2. APIs referring to the extern declaration file (glob_dat.h)
For file type_declare_order.txt with the following content:
/* Key word: for 8-bit data declaration begin section */
/* Key word: for 8-bit data extern declaration begin section */
unsigned char
char
uint8
/* Key word: for 8-bit data declaration end section */
/* Key word: for 8-bit data extern declaration end section */
/* Key word: for 16-bit data declaration begin section */
/* Key word: for 16-bit data extern declaration begin section */
/* Key word: for 16-bit data declaration end section */
/* Key word: for 16-bit data extern declaration end section */
#pragma PRGM_8_BIT_BEGIN_SEC
unsigned char
char
uint8
#pragma PRGM_8_BIT_END_SEC
#pragma PRGM_16_BIT_BEGIN_SEC
unsigned short int
uint16
#pragma PRGM_8_BIT_EXT_BEGIN_SEC
unsigned char
char
uint8
#pragma PRGM_8_BIT_EXT_END_SEC
#pragma PRGM_16_BIT_EXT_BEGIN_SEC
unsigned short int
uint16
#pragma PRGM_16_BIT_EXT_END_SEC
8-bit Declaration End Section
#pragma PRGM_8_BIT_END_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for 8-bit data declaration end section */' defined in 'type_declare_order.txt'
16-bit Declaration Begin Section
#pragma PRGM_16_BIT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for 16-bit data declaration begin section */' defined in 'type_declare_order.txt'
16-bit Declaration end Section
#pragma PRGM_16_BIT_END_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for 16-bit data declaration end section */' defined in 'type_declare_order.txt'
32-bit Declaration Begin Section
#pragma PRGM_32_BIT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for 32-bit data declaration begin section */' defined in 'type_declare_order.txt'
32-bit Declaration End Section
#pragma PRGM_32_BIT_END_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for 32-bit data declaration end section */' defined in 'type_declare_order.txt'
Record Declaration Begin Section
#pragma PRGM_REC_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for record data declaration begin section */' defined in 'type_declare_order.txt'
Record Declaration End Section
#pragma PRGM_REC_END_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for record data declaration end section */' defined in 'type_declare_order.txt'
Other Types Declaration Begin Section
#pragma PRGM_OTHER_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for other types declaration begin section */' defined in 'type_declare_order.txt'
Other Types Declaration End Section
#pragma PRGM_OTHER_END_SEC
Defines the code that will be generated to 'glob_dat.c', relating to the key-word '/* Key word: for other types declaration end section */' defined in 'type_declare_order.txt'
8-bit Extern Declaration Begin Section
#pragma PRGM_8_BIT_EXT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for 8-bit data extern declaration begin section */' defined in 'type_declare_order.txt'
8-bit Extern Declaration End Section
#pragma PRGM_8_BIT_EXT_END_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for 8-bit data extern declaration end section */' defined in 'type_declare_order.txt'
16-bit Extern Declaration Begin Section
#pragma PRGM_16_BIT_EXT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for 16-bit data extern declaration begin section */' defined in 'type_declare_order.txt'
16-bit Extern Declaration End Section
#pragma PRGM_16_BIT_EXT_END_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for 16-bit data extern declaration end section */' defined in 'type_declare_order.txt'
32-bit Extern Declaration Begin Section
#pragma PRGM_32_BIT_EXT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for 32-bit data extern declaration begin section */' defined in 'type_declare_order.txt'
32-bit Extern Declaration End Section
#pragma PRGM_32_BIT_EXT_END_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for 32-bit data extern declaration end section */' defined in 'type_declare_order.txt'
Record Extern Declaration Begin Section
#pragma PRGM_REC_EXT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for record data extern declaration begin section */' defined in 'type_declare_order.txt'
Record Extern Declaration End Section
#pragma PRGM_REC_EXT_END_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for record data extern declaration end section */' defined in 'type_declare_order.txt'
Other Types Extern Declaration Begin Section
#pragma PRGM_OTHER_EXT_BEGIN_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for other types extern declaration begin section */' defined in 'type_declare_order.txt'
Other Types Extern Declaration End Section
#pragma PRGM_OTHER_EXT_END_SEC
Defines the code that will be generated to 'glob_dat.h', relating to the key-word '/* Key word: for other types extern declaration end section */' defined in 'type_declare_order.txt'