- 1.1 Summary of Design Conventions
- 2.1 Design Conventions
- 2.1.1 Rabbit Programming Connector
- 2.1.2 Memory Chips
- 2.1.3 Oscillator Crystals
- 2.2 ESD Design Guidelines
- 2.3 Operating Voltages
- 2.4 Power Consumption
- 2.5 Through-Hole Technology
- 2.6 Moisture Sensitivity
- 3.1 Clocks
- 3.2 Floating Inputs
- 3.3 Basic Memory Design
- 3.3.1 Memory Access Time
- 3.3.2 Interfacing External I/O with Rabbit 4000 Designs
- 3.4 PC Board Layout and Memory Line Permutation
- 3.5 PC Board Layout and Electromagnetic Interference
- 3.5.1 Rabbit 4000 Low EMI Features
- 4.1 How the Cold Boot Mode Works In Detail
- 4.2 Program Loading Process Overview
- 4.2.1 Program Loading Process Details
- 5.1 Physical Memory
- 5.1.1 Flash Memory
- 5.1.2 SRAM
- 5.1.3 Basic Memory Configuration
- 5.2 Memory Segments
- 5.2.1 Definition of Terms
- 5.2.2 The Base (or Root) Segment
- 5.2.2.1 Types of Code Best-Suited for the Base Segment
- 5.2.3 The Data Segment
- 5.2.4 The Stack Segment
- 5.2.5 The Extended Memory Segment
- 5.3 Separate I&D Space
- 5.3.1 Enable Separate I&D Space
- 5.3.2 Separate I&D Space Mappings in Dynamic C
- 5.3.2.1 Compiling to RAM
- 5.3.2.2 Compiling to Flash
- 5.3.3 Customizing Interrupts
- 5.4 How The Compiler Compiles to Memory
- 5.4.1 Placement of Code in Memory
- 5.4.2 Paged Access in Extended Memory
- 5.5 Memory Planning
- 5.5.1 Flash
- 5.5.2 Static RAM
- 6.1 Startup Conditions Set by the BIOS
- 6.1.1 Registers Initialized in the BIOS
- 6.1.2 Origins
- 6.2 BIOS Flowchart
- 6.3 Internally-Defined Macros
- 6.4 Modifying the BIOS
- 6.4.1 Macros that Affect the BIOS
- 6.4.2 Advanced Options
- 6.5 Memory Mapping in Dynamic C
- 6.5.1 Origins Starting with Dynamic C 10.21
- 6.5.1.1 Example of Origin Declarations
- 6.5.1.2 Origin Declaration Syntax
- 6.5.1.3 Origin Declaration Semantics
- 6.5.1.4 Origin Declaration Start and End Syntax
- 6.5.1.5 Origin Application Syntax
- 6.5.1.6 Origin Macro Declaration Syntax
- 6.5.2 Origins Prior to Dynamic C 10.21
- 6.5.2.1 Origin Directive Semantics
- 6.5.2.2 Defining a Memory Region
- 6.5.2.3 Action Qualifiers
- 6.5.2.4 I&D Qualifiers
- 6.5.2.5 Follow Qualifiers
- 6.5.2.6 Origin Directive Examples
- 6.5.2.7 Origin Directives in Program Code
- 6.5.2.8 Origin Directive to Reserve Blocks of Memory
- 7.1 System ID Block Details
- 7.1.1 Definition of SysIDBlock
- 7.1.2 Reading the System ID Block
- 7.1.2.1 Determining the Existence of the System ID Block
- 7.1.3 Writing the System ID Block
- 7.2 User Block Details
- 7.2.1 Boot Block Issues
- 7.2.2 Reserved Flash Space
- 7.2.3 Reading the User Block
- 7.2.4 Writing the User Block
- 8.1 Overview of Cloning
- 8.2 Creating a Clone
- 8.2.1 Steps to Enable and Set Up Cloning
- 8.2.2 Steps to Perform Cloning
- 8.2.3 LED Patterns
- 8.3 Cloning Questions
- 8.3.1 MAC Address
- 8.3.2 Different Flash Types
- 8.3.3 Different Memory Sizes
- 8.3.4 Design Restrictions
- 9.1 Details of the Rabbit 4000 Low-Power Features
- 9.1.1 Special Chip Select Features
- 9.1.2 Reducing Clock Speed
- 9.1.3 Preferred Crystal Configuration
- 9.2 To Further Decrease Power Consumption
- 9.2.1 What To Do When There is Nothing To Do
- 9.2.2 Sleepy Mode
- 9.2.3 External 32 kHz Oscillator
- 9.2.4 Conformal Coating of 32.768 kHz Oscillator Circuit
- 9.2.5 Software Support for Sleepy Mode
- 9.2.6 Baud Rates in Sleepy Mode
- 9.2.7 Debugging in Sleepy Mode
- 10.1 Supporting Other Flash Devices
- 10.2 Writing Your Own Flash Driver
- 11.1 Initial Checks
- 11.2 Diagnostic Tests
- 11.2.1 Program to Transmit Diagnostic Tests
- 11.2.2 Diagnostic Test #1: Toggle the Status Pin
- 11.2.2.1 Using serialIO.exe
- 11.2.3 Diagnostic Test #2