9/317
Table of Contents
8.1 C LANGUAGE EXTENSIONS FOR MICROCONTROLLERS . . . . . . . . . . . . . . . 221
8.2 DESCRIPTION AND INSTALLATION OF THE HICROSS TOOL CHAIN . . . . . . 222
8.3.1.1 Read-only constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
8.3.1.2 EEPROM non-volatile storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
8.3.1.3 Page Zero variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
8.3.1.4 Far and near pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
8.3.3
Inputs and outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
8.4.1.1 Single-statement assembler block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
8.4.1.2 Multiple-statement assembler block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
8.7 PROJECT DIRECTORY STRUCTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
8.8 HINTS ON C WRITING STYLE FOR THE ST7 . . . . . . . . . . . . . . . . . . . . . . . . . . 242
8.8.4.1 Define a function when a group of statements is repeated several times . . . . . .247
8.8.4.2 Use shifts instead of multiplication and division . . . . . . . . . . . . . . . . . . . . . . . . . . 247
8.8.4.3 Limit the size of variables to the very minimum . . . . . . . . . . . . . . . . . . . . . . . . . . 248