User`s manual
4 rabbit.com
5.2.4 The Stack Segment .........................................................................................................................27
5.2.5 The Extended Memory Segment ....................................................................................................28
5.3 Separate I&D Space.................................................................................................................................29
5.3.1 Enable Separate I&D Space ...........................................................................................................31
5.3.2 Separate I&D Space Mappings in Dynamic C...............................................................................31
5.3.2.1 Compiling to RAM .........................................................................................................32
5.3.2.2 Compiling to Flash ..........................................................................................................33
5.3.3 Customizing Interrupts ...................................................................................................................34
5.4 How The Compiler Compiles to Memory...............................................................................................34
5.4.1 Placement of Code in Memory.......................................................................................................34
5.4.2 Paged Access in Extended Memory ...............................................................................................34
5.5 Memory Planning ....................................................................................................................................35
5.5.1 Flash ...............................................................................................................................................35
5.5.2 Static RAM.....................................................................................................................................35
Chapter 6. The Rabbit BIOS..........................................................................................................37
6.1 Startup Conditions Set by the BIOS .......................................................................................................38
6.1.1 Registers Initialized in the BIOS....................................................................................................38
6.1.2 Origins ............................................................................................................................................38
6.2 BIOS Flowchart.......................................................................................................................................39
6.3 Internally-Defined Macros.......................................................................................................................40
6.4 Modifying the BIOS ................................................................................................................................40
6.4.1 Macros that Affect the BIOS..........................................................................................................41
6.4.2 Advanced Options ..........................................................................................................................42
6.5 Memory Mapping in Dynamic C.............................................................................................................43
6.5.1 Origins Starting with Dynamic C 10.21 .........................................................................................43
6.5.1.1 Example of Origin Declarations .....................................................................................44
6.5.1.2 Origin Declaration Syntax ..............................................................................................47
6.5.1.3 Origin Declaration Semantics .........................................................................................47
6.5.1.4 Origin Declaration Start and End Syntax ........................................................................50
6.5.1.5 Origin Application Syntax ..............................................................................................50
6.5.1.6 Origin Macro Declaration Syntax ...................................................................................50
6.5.2 Origins Prior to Dynamic C 10.21..................................................................................................51
6.5.2.1 Origin Directive Semantics ............................................................................................51
6.5.2.2 Defining a Memory Region ............................................................................................52
6.5.2.3 Action Qualifiers .............................................................................................................52
6.5.2.4 I&D Qualifiers ................................................................................................................52
6.5.2.5 Follow Qualifiers ............................................................................................................52
6.5.2.6 Origin Directive Examples .............................................................................................54
6.5.2.7 Origin Directives in Program Code ................................................................................54
6.5.2.8 Origin Directive to Reserve Blocks of Memory .............................................................55
Chapter 7. The System Identification and User Blocks.................................................................57
7.1 System ID Block Details .........................................................................................................................58
7.1.1 Definition of SysIDBlock...............................................................................................................58
7.1.2 Reading the System ID Block ........................................................................................................60
7.1.2.1 Determining the Existence of the System ID Block .......................................................61
7.1.3 Writing the System ID Block .........................................................................................................63
7.2 User Block Details...................................................................................................................................63
7.2.1 Boot Block Issues...........................................................................................................................63