
Embedded Systems Firmware Demystified
Ed Sutter(Author)
CMP Books (Publisher)
1st Edition
Published on 15. February 2002
Book
Paperback/Softback
384 pages
978-1-57820-099-3 (ISBN)
Description
* Understand essential hardware details * Walk through an embedded system startup * Build an extensible development platform * Prebuilt GNU X-Tools for 21 platforms Build embedded microprocessor-based systems from the ground up. Develop an integrated und
More details
Language
English
Place of publication
Lawrence
United Kingdom
Publishing group
Taylor & Francis Ltd
Target group
Professional and scholarly
Dimensions
Height: 229 mm
Width: 178 mm
ISBN-13
978-1-57820-099-3 (9781578200993)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Person
Ed Sutter started his career with AT&T Bell Labs in 1981. Now a distinguished member of the technical staff (DMTS) at Lucent, he has been working in embedded systems since 1983. Starting with the 8085, Ed has worked with a wide range of systems over the years including most of today's common CPU architectures. He has put his experience in developing hardware, firmware, and software to good use by building several different development environments. While he is most comfortable with C and assembly language on embedded systems, he has developed code for Win32 and Unix varieties as well. His firmware tools have recently been the subjects of articles in Embedded Systems Programming and Circuit Cellar OnLine magazines.
Content
Introduction Who is the reader? Brief Chapter Overview Acknowledgements CHAPTER 1: A Hard Start So what kind of system are we talking about? CPU: The brains of the outfit. Memory: Why so many? CPU Supervision Serial Port Drivers Onto the Schematic CHAPTER 2: Build Process How is it done on a PC? The Cross-Compilation Process Compared to the PC... Establishing the Memory Map CHAPTER 3: Getting Started Up Front: Get involved with the Hardware Design Up Front: Get to know the hardware and be "nice" to the designer Up Front: Have Local Copies of all Data Sheets Up Front: Look at what you've created Up Front: Does the hardware check out OK? Up Front: Start slow RunTime: Simple loop at the reset vector RunTime: A simple LED is priceless at this point! RunTime: RAM and a "No-Stack-Required" Serial Out RunTime: Get To C-Level RunTime: Things Will Start to Snowball RunTime: Avoid Modification of Initialized Data in C CHAPTER 4: Assembly Required The Platform Just After Reset IO Initialization Establish Exception Handlers Flash Drivers CHAPTER 5: Command Line Interface CLI Data Structure CLI Table CLI Processing Shell Variables and Symbols The Functions Underneath the Command Name User Levels Password Protection CHAPTER 6: A FLASH File System The TFS Design Criteria Implementation Details Flash Space Overhead Required by TFS TFS Defragmentation Different types of Flash devices provide different options Boot flash device without a reset, could cause trouble... Bottom Boot and Top Boot Flash Devices CHAPTER 7: Adding the Ability to Execute Scripts Turning a file into a command Commands that add programming capabilities CHAPTER 8: Network Connectivity Ethernet ARP IP ICMP UDP and TCP DHCP/BOOTP Applied to Embedded Systems CHAPTER 9: File/Data Transfer XMODEM TFTP CHAPTER 10: An Embedded System Boot Platform What is an embedded system boot platform? Putting it all together forms MicroMonitor Overview of monitor This is looking a lot like a PC console window Command set API presented to the Application CHAPTER 11: Adding the Application Different Memory Map Less Intense Startup Establishing an Application Stack Connecting to the Monitor's API Overriding the default serial port drivers Adding a System Tick CHAPTER 12: Debugging an Application with the Monitor Different Type of Debug Philosophy Breakpoints What does MicroMonitor give us for debugging? Displaying Memory Cast: Overlaying a Structure onto Memory Stack Trace CHAPTER 13: Quick Overview of Some RTOS Concepts The Scheduler Tasks, Threads and Processes Preemption, Time Slicing and Interrupts Semaphores, Events, Messages and Timers One Final Note Regarding RTOS-based Firmware CHAPTER 14: Building a Host-Based Toolbox bin2srec, bin2array, chunker, etc... com moncmd CHAPTER 15: Miscellaneous Topics Use cpp for assembler Building Libraries Overlaying a Structure onto an IO Device Hardware sanity tests for the "firmware" developer Testing for Stack Overflow Hardware-Assist Tools System Profiling Basic Block C