Preface············································································································································4
Who Is the Reader?·················································································································5
Chapter 1: A Hard Start···················································································································6
Overview ································································································································6
System Requirements ·············································································································6
Central Processing Unit ··········································································································7
System Memory····················································································································13
CPU Supervision ··················································································································15
Serial Port Drivers ················································································································18
Ethernet Interface···············································································································20
Flash Device Options············································································································20
The CPU/Memory Interface··································································································21
Summary ·····························································································································27
Chapter 2: Getting Started ········································································································28
Overview ·····························································································································28
How Is It Done on a PC? ······································································································29
Building Libraries···············································································································41
Up Front ·······························································································································42
Run Time·····························································································································49
Hardware Sanity Tests for the Firmware Developer······························································49
Summary ·····························································································································53
Chapter 3: Introducing MicroMonitor···························································································54
An Embedded System Boot Platform····················································································54
Chapter 4: Assembly Required··································································································60
Overview ·····························································································································60
Just After Reset·····················································································································60
Establish Exception Handlers ·······························································································66
Summary ·····························································································································74
Chapter 5: Command Line Interface ························································································75
CLI Features ·······················································································································75
CLI Data Structure and the Command Table ··································································76
CLI Processing····················································································································77
The Functions Beneath the Command Name····································································77
Shell Variable and Symbol Processing ··············································································82
Command-Line Redirection·······························································································84
Command Line Editing and History ·················································································89
User Levels ··························································································································94
Password Protection ···········································································································97
Chapter 6: Interfacing to Flash Memory ··················································································99
Overview ·····························································································································99
The Interface Functions ······································································································100
Flash Driver Front End ····································································································112
Summary ···························································································································115
Chapter 7: A Flash File System ·······························································································115