Analysis & Design of Embedded Systems GNDU Msc IT E-Content Books pdf online Downloady
Author’s Words
I strongly believe that the Almighty God alone plans every thing that happens in the world. So, I sincerely thanks the Almighty God for showering his blessings upon me and using me to write this book.
I wish to express my deep sense of gratitude to my colleagues and students whom encouragement and co-operation have been source of great inspiration to me. I am thankful to my father Sh. Om Prakash Anand, my son Param Anand and my dear wife Neetu Anand for bringing me out this book. I hope that this edition of the book will prove to be more useful to the Science and Engineering students. Any suggestions for further improvement of the book will be gratefully acknowledged by the both author and publisher. Finally, we would like to thank my colleagues in the various Institutes whom have encouraged and assisted us to make our best efforts in bringing out this book.
NIT – Warangal, Telangana
Neeraj K. Anand
November 2021
Dedication
In The Everlasting Memory of My Mother
Late Smt. Nirmal Anand
About The Book
An interesting component of this open access reading material is to give an exhaustive prologue to the crucial information in implanted frameworks, with applications in Analysis & Design of Embedded Systems and the Internet of things. It begins with a prologue to the field and a study of detail models and dialects for Embedded Systems and digital actual frameworks. It gives a concise outline of equipment gadgets utilized for such frameworks and presents the basics of Embedded Systems for installed frameworks, including continuous working frameworks. The creator additionally examines assessment and approval strategies for inserted frameworks and gives an outline of procedures to planning applications to execution stages, including multi-center stages. Inserted Embedded Systems need to work under close limitations and, consequently, the book additionally contains a chose set of enhancement procedures, including programming advancement strategies. The book closes with a short overview on testing. This fifth release has been refreshed and modified to reflect recent fads and advancements, for example, the significance of Embedded Systems and the Internet of things (IoT), the development of single-center processors to multi-center processors, and the expanded significance of energy effectiveness and warm issues. Analysis & Design of Embedded Systems GNDU Msc IT E-Content Books pdf online Download
Syllabus (M.Sc. IT – 1st Semester (GNDU)
Embedded systems and their characteristics, challenges and issues in embedded software development, Hardware and electronics fundamentals for software engineers, categories of different processor, microprocessor and micro controller, Study of 8051 micro controllers, assembly language programming, and instruction sets addressing modes, I/O ports programming. Study of embedded processors and systems like PIC, AVR, micro controller, 68000-series computer, DSP based controller. Peripherals and interfacing: Adding peripherals using SPI and I2C serial peripherals, serial ports, networks, memory, bus interfaces, power considerations Operating system services: different categories of operating system, kernel architecture, and root file system contents, storage device manipulations, setting up boot loader
Book Contents
CHAPTER.1 : Embedded Systems And Their Characteristics Embedded Operating System and Interfaces……………………………………………………… 18 Embedded System Applications………………………………………………………………………. 18 Embedded System characteristics…………………………………………………………………….. 22 Real life examples of Embedded Systems…………………………………………………………. 23 Embedded Systems in the Home Environment………………………………………………. 23 Embedded Systems in the Work Environment……………………………………………….. 23 Embedded Systems in Leisure Activities………………………………………………………. 24 Defining the Embedded System in more detail………………………………………………….. 25 Embedded Processor and Application Awareness…………………………………………… 25 Hardware and Software Co-Design Model…………………………………………………….. 27 Cross-Platform Development……………………………………………………………………….. 27 Software Storage and Upgradeability……………………………………………………………. 27 Application areas…………………………………………………………………………………………… 28 Design challenge – optimizing design metrics…………………………………………………… 30 Real-Time Embedded Systems………………………………………………………………………… 31 Real-Time Systems…………………………………………………………………………………….. 32 Characteristics of Real-Time Systems…………………………………………………………… 34 Hard and Soft Real-Time Systems………………………………………………………………… 34 The Future of Embedded Systems……………………………………………………………………. 36 Analysis & Design of Embedded Systems GNDU Msc IT E-Content Books pdf online Download CHAPTER.2 : Embedded computer architecture and its hardware What is Embedded Computer Architecture ?…………………………………………………….. 37 The Embedded Board and the von Neumann Model…………………………………………… 39 Powering the Hardware…………………………………………………………………………………… 41 Analog Signals…………………………………………………………………………………………… 42 A Quick Comment on Analog vs. Digital Signals…………………………………………… 44 Reading Schematics of embedded board…………………………………………………………… 44 Basic Hardware Materials……………………………………………………………………………….. 47 Common Passive Components on Boards and in Chips………………………………………. 48 The Resistor………………………………………………………………………………………………. 48 The potentiometer………………………………………………………………………………………. 52 Analysis & Design of Embedded Systems GNDU Msc IT E-Content Books pdf online Download Resistive Circuits……………………………………………………………………………………….. 53 The Capacitor…………………………………………………………………………………………….. 55 RC Circuits………………………………………………………………………………………………… 57 Inductors…………………………………………………………………………………………………… 60 Transformers……………………………………………………………………………………………… 62 Semiconductors and the Active Building Blocks of Processors and Memory………… 63 Diodes………………………………………………………………………………………………………. 63 Crystals…………………………………………………………………………………………………….. 65 Clocks and Oscillators………………………………………………………………………………… 66 Transistors…………………………………………………………………………………………………. 68 Transistor Switch ON…………………………………………………………………………………. 68 The FET as a Logic Switch………………………………………………………………………….. 70 NMOS Logic……………………………………………………………………………………………… 70 CMOS Logic……………………………………………………………………………………………… 71 Mixed MOS………………………………………………………………………………………………. 72 Mechanical Switches………………………………………………………………………………….. 72 Digital Signals……………………………………………………………………………………………….. 73 Tri-State Logic…………………………………………………………………………………………… 75 Timing Diagrams……………………………………………………………………………………….. 75 Multiplexed Bus…………………………………………………………………………………………. 76 Loading and Noise Margin Analysis…………………………………………………………….. 77 Electrical Characteristics………………………………………………………………………………… 77 Absolute Maximum Ratings………………………………………………………………………… 77 DC Characteristics……………………………………………………………………………………… 78 AC Characteristics and Timing…………………………………………………………………….. 80 A Power Supply…………………………………………………………………………………………….. 82 Oscilloscope………………………………………………………………………………………………….. 84 Controls…………………………………………………………………………………………………….. 84 Probes……………………………………………………………………………………………………….. 87 The Design and Development Process……………………………………………………………… 87 Analysis & Design of Embedded Systems GNDU Msc IT E-Content Books pdf online Download CHAPTER.3 : microcontroller architectures What Are Microprocessors and Microcontrollers ?…………………………………………….. 89 What is a Microcontroller ?…………………………………………………………………………….. 91 What is what in microcontroller ?…………………………………………………………………. 92 Microcontroller Architecture…………………………………………………………………………… 93 Von Neumann……………………………………………………………………………………………. 93 Harvard…………………………………………………………………………………………………….. 93 The Central Processing Unit………………………………………………………………………… 94 MEMORY…………………………………………………………………………………………………. 97 Program Memory (ROM)……………………………………………………………………………. 98 Data Memory (RAM)…………………………………………………………………………………. 98 EEPROM Memory……………………………………………………………………………………… 99 Flash EEPROM………………………………………………………………………………………….. 99 REGISTER SET………………………………………………………………………………………… 99 SFRs ( Special Function Registers )……………………………………………………………. 100 Input/output ports (I/O Ports)……………………………………………………………………… 100 Bus structure……………………………………………………………………………………………. 101 Oscillator…………………………………………………………………………………………………. 102 Timers/Counters……………………………………………………………………………………….. 103 Interrupt Circuitry…………………………………………………………………………………….. 105 Power Supply Circuit………………………………………………………………………………… 106 Communication systems……………………………………………………………………………. 106 RISC versus CISC Instruction Set………………………………………………………………. 109 Program…………………………………………………………………………………………………… 110 SPEED……………………………………………………………………………………………………. 110 CHOOSING A MICROCONTROLLER FOR A SPECIFIC DESIGN……………….. 110 System Requirements………………………………………………………………………………… 111 Sample Microcontroller Configurations………………………………………………………….. 112 P89C66x microcontroller…………………………………………………………………………… 114 Motorola MC68HC705C8…………………………………………………………………………. 115 National Semiconductor COP8SAA7………………………………………………………….. 115 Microchip PIC16C54………………………………………………………………………………… 116 Microchip PIC16C74………………………………………………………………………………… 116 Microprocessors vs Microcontrollers……………………………………………………………… 116 CHAPTER.4 : 8051 – microcontroller architectures What is 8051 Microcontroller Standard ?………………………………………………………… 119 8051 Microcontroller’s pins…………………………………………………………………………… 120 8051 Input/Output Ports (I/O Ports)……………………………………………………………….. 121 8051 Microcontroller Memory Organisation……………………………………………………. 123 Program Memory……………………………………………………………………………………… 124 Data Memory…………………………………………………………………………………………… 125 Additional Memory Block of Data Memory………………………………………………… 125 How to extend memory?……………………………………………………………………………. 126 Addressing………………………………………………………………………………………………. 127 SFRs (Special Function Registers)……………………………………………………………… 128 A Register (Accumulator)………………………………………………………………………….. 128 B Register………………………………………………………………………………………………… 129 R Registers (R0-R7)………………………………………………………………………………….. 129 PSW Register (Program Status Word)…………………………………………………………. 129 DPTR Register (Data Pointer)……………………………………………………………………. 130 SP Register (Stack Pointer)………………………………………………………………………… 130 P0, P1, P2, P3 – Input/Output Registers……………………………………………………….. 131 Counters and Timers…………………………………………………………………………………….. 131 Timer T0…………………………………………………………………………………………………. 131 TMOD Register (Timer Mode)…………………………………………………………………… 132 Timer 0 in mode 0 (13-bit timer)………………………………………………………………… 133 Timer 0 in mode 1 (16-bit timer)………………………………………………………………… 133 TCON – Timer Control Register…………………………………………………………………. 135 UART (Universal Asynchronous Receiver and Transmitter)……………………………… 137 SCON Register (Serial Port Control Register)……………………………………………… 138 Multiprocessor Communication………………………………………………………………….. 141 8051 Microcontroller Interrupts……………………………………………………………………… 142 IE Register (Interrupt Enable)…………………………………………………………………….. 142 Interrupt Priorities…………………………………………………………………………………….. 143 IP Register (Interrupt Priority)……………………………………………………………………. 143 Handling Interrupt…………………………………………………………………………………….. 144 Reset……………………………………………………………………………………………………….. 144 Through the program- step by step……………………………………………………………… 145 8051 Microcontroller Power Consumption Control………………………………………….. 145 PCON register……………………………………………………………………………………………… 147 CHAPTER.5 : 8051 – instruction format 8051 Instruction Format………………………………………………………………………………… 148 Types of instructions…………………………………………………………………………………….. 148 Arithmetic instructions………………………………………………………………………………. 149 Branch Instructions…………………………………………………………………………………… 149 Data Transfer Instructions………………………………………………………………………….. 150 Logical Instruction……………………………………………………………………………………. 152 Logical Operations on Bits………………………………………………………………………… 153 Descriptiion of important 8051 instructions…………………………………………………….. 153 Simple Programs in 8051 assembly language………………………………………………….. 162 CHAPTER.6 : 8051 – programming langauge assembler Elements of a Assembler………………………………………………………………………………. 166 Numbers………………………………………………………………………………………………….. 167 Operators…………………………………………………………………………………………………. 168 Symbols…………………………………………………………………………………………………… 168 Labels……………………………………………………………………………………………………… 170 Directives………………………………………………………………………………………………… 170 Directive selecting memory segments…………………………………………………………. 171 CHAPTER.7 : PIC MICROCONTROLLERS Architecture of Pic16f84a microcontrollers………………………………………………….. 175 Memory…………………………………………………………………………………………………… 176 The SFR (special function register)…………………………………………………………….. 176 Option register…………………………………………………………………………………………. 177 PCL (program counter low)……………………………………………………………………….. 178 Stack……………………………………………………………………………………………………….. 178 Oscillators……………………………………………………………………………………………….. 179 An interrupt summary……………………………………………………………………………….. 179 Architecture of Pic12c508 microcontroller……………………………………………………. 179 Variable-Speed Oscillator………………………………………………………………………….. 181 Power-on Reset………………………………………………………………………………………… 181 Architecture of Pic16c73 microcontroller……………………………………………………… 182 PIC-Based Environmental Datalogger…………………………………………………………….. 182 CHAPTER.8 : AVR MICROCONTROLLERS The AVR Architecture………………………………………………………………………………….. 188 avr 8 – bit risc microcontroller……………………………………………………………………. 190 Inputs and outputs…………………………………………………………………………………….. 190 Memories………………………………………………………………………………………………… 190 Clock………………………………………………………………………………………………………. 191 Interrupts…………………………………………………………………………………………………. 191 Pinout and package…………………………………………………………………………………… 191 Sleep modes…………………………………………………………………………………………….. 192 Idle-mode………………………………………………………………………………………………… 192 Power-down mode……………………………………………………………………………………. 192 Atmel ATmega16 avr microcontroller…………………………………………………………. 192 NONVOLATILE AND DATAMEMORIES……………………………………………….. 193 PORT SYSTEM……………………………………………………………………………………….. 194 PERIPHERAL FEATURES—INTERNAL SUBSYSTEMS…………………………. 195 PHYSICAL AND OPERATING PARAMETERS……………………………………….. 196 The ATtiny15 Processor……………………………………………………………………………….. 197 Adding a Status LED………………………………………………………………………………… 199 Switching Analog Signals………………………………………………………………………….. 200 Making programming Code…………………………………………………………………………… 202 avr AT90S8535-based computer…………………………………………………………………. 203 AVR-Based Datalogger………………………………………………………………………………… 205 Bus Interfacing – memory organization………………………………………………………….. 205 AT90S8515 Memory Cycle……………………………………………………………………….. 206 Bus Signals………………………………………………………………………………………………. 206 PALs………………………………………………………………………………………………………. 214 Timing Analysis…………………………………………………………………………………………… 215 Memory Management…………………………………………………………………………………… 217 Page mapping…………………………………………………………………………………………… 218 Banked memory……………………………………………………………………………………….. 219 Address translation……………………………………………………………………………………. 221 CHAPTER.9 : 68000 SERIES COMPUTERS General Description of 68000 Series Computers………………………………………………. 222 The 68000 Architecture………………………………………………………………………………… 224 A Simple 68000-Based Computer………………………………………………………………….. 226 Reset Circuit…………………………………………………………………………………………….. 227 Address Decoder………………………………………………………………………………………. 227 I/O 229 Memory…………………………………………………………………………………………………… 229 Wait States………………………………………………………………………………………………. 231 CHAPTER.10 : DSP BASED CONTROLLERS What is Digital Signal Processor ?………………………………………………………………….. 232 Digital Signal Processing…………………………………………………………………………… 232 Types of DSPs………………………………………………………………………………………….. 232 the DSP56800 architecture……………………………………………………………………………. 233 A DSP56805-Based Computer………………………………………………………………………. 236 Oscillator…………………………………………………………………………………………………. 236 Reset and Interrupts………………………………………………………………………………….. 237 External Memory……………………………………………………………………………………… 238 JTAG………………………………………………………………………………………………………….. 242 CHAPTER.11 : ADDING PERIPHERALS USING SPI General Description of the SPI………………………………………………………………………. 243 Using the SPI To Connect Two Microcontrollers…………………………………………….. 244 Expanding the I/O Space Using the SPI………………………………………………………….. 244 Serial Peripheral Interface architecture……………………………………………………………. 245 SPI-Based Clock/Calendar…………………………………………………………………………….. 248 SPI-Based Digital Potentiometer……………………………………………………………………. 250 Adding Nonvolatile Data Memory with SPI……………………………………………………. 251 Adding a Parameter Memory Using SPI…………………………………………………………. 253 CHAPTER.12 : ADDING PERIPHERALS USING I2c The Principles of Implementation of the I2C Bus……………………………………………… 255 The following paragraphs describe each of the above steps……………………………….. 255 The Start Transfer Condition……………………………………………………………………… 255 The Data Transfer on the I2C BuS………………………………………………………………. 256 The ACK Bit……………………………………………………………………………………………. 256 The STOP Condition…………………………………………………………………………………. 256 I2C ARCHITECTURE………………………………………………………………………………….. 256 Adding a Real-Time Clock with I2C……………………………………………………………….. 259 Adding a Small Display with I2C……………………………………………………………………. 259 CHAPTER.13 : SERIAL PORTS General description of Serial Ports…………………………………………………………………. 261 Hardware…………………………………………………………………………………………………. 261 Connectors………………………………………………………………………………………………. 262 Common applications for serial ports………………………………………………………….. 262 Settings……………………………………………………………………………………………………. 262 Speed………………………………………………………………………………………………………. 263 Data Bits………………………………………………………………………………………………….. 263 Parity………………………………………………………………………………………………………. 263 Stop bits………………………………………………………………………………………………….. 263 Conventional notation……………………………………………………………………………….. 263 Flow control…………………………………………………………………………………………….. 264 “Virtual” serial ports…………………………………………………………………………………. 264 UARTs description………………………………………………………………………………………. 264 Error Detection…………………………………………………………………………………………. 265 RS-232C architecture……………………………………………………………………………………. 266 Shake Hands…………………………………………………………………………………………….. 268 Implementing an RS-232C Interface…………………………………………………………… 269 Using a Serial Port as a Power Supply…………………………………………………………. 270 RS-422C architecture……………………………………………………………………………………. 271 RS-485 architecture……………………………………………………………………………………… 272 CHAPTER.14 : BUS INTERFACES Introduction to USB……………………………………………………………………………………… 275 USB Packets…………………………………………………………………………………………….. 277 Physical Interface of usb……………………………………………………………………………….. 278 Implementing a USB Interface………………………………………………………………………. 280 CHAPTER.15 : MICROCONTROLLER NETWORKS MICROCONTROLLER NETWORKS…………………………………………………………… 283 Controller Area Network (CAN)………………………………………………………………… 283 CustomizedNetworks………………………………………………………………………………… 286 MICROCONTROLLER network APPLICATIONS………………………………………… 287 Automobiles…………………………………………………………………………………………….. 287 Mobile Robots………………………………………………………………………………………….. 288 Ethernet………………………………………………………………………………………………………. 289 Adding an Ethernet Interface……………………………………………………………………… 289 CHAPTER.16 : POWER CONSIDERATIONS Embedded system power considerations…………………………………………………………. 294 Batteries………………………………………………………………………………………………….. 294 Low Power Design……………………………………………………………………………………. 295 Regulators……………………………………………………………………………………………….. 295 LM78xx Regulators………………………………………………………………………………….. 296 MAX603/MAX604 Regulators………………………………………………………………….. 297 MAX1615 Regulator………………………………………………………………………………… 298 MAX724 Regulator………………………………………………………………………………….. 298 CHAPTER.17 : DETERMINING THE REQUIREMENT AND SYSTEM ARCHITECTURE How to Design The System Architecture ?………………………………………………………. 300 CHAPTER.18 : EMBEDDED OPERATING SYSTEMS Embedded Operating Systems Introduction…………………………………………………….. 302 CHAPTER.19 : REALTIME OPERATING SYSTEMS Introduction…………………………………………………………………………………………………. 307 Defining an RTOS……………………………………………………………………………………….. 308 The Scheduler……………………………………………………………………………………………… 309 Objects……………………………………………………………………………………………………….. 312 Services………………………………………………………………………………………………………. 313 Key Characteristics of an RTOS…………………………………………………………………….. 313 CHAPTER.20 : EMBEDDED REAL TIME OPERATING SYSTEM SERVICES Building Blocks of kernel services…………………………………………………………………. 316 CHAPTER.21 : EMBEDDED OPERATING SYSTEM KERNEL ARCHITECTURE Kernel Architecture………………………………………………………………………………………. 320 The Design………………………………………………………………………………………………. 320 The Nano-Kernel……………………………………………………………………………………… 320 Kernel Modules………………………………………………………………………………………… 321 Inter-module Interface………………………………………………………………………………. 321 Ports……………………………………………………………………………………………………….. 321 System Configuration……………………………………………………………………………….. 321 System Components………………………………………………………………………………….. 321 Nano-Kernel………………………………………………………………………………………………… 322 Kernel Modules……………………………………………………………………………………………. 322 Configuration Program……………………………………………………………………………… 323 CHAPTER.22 : EMBEDDED SYSTEMS LINUX KERNEL ARCHITECTURE Configuring the Kernel…………………………………………………………………………………. 324 Configuration Options………………………………………………………………………………….. 324 Configuration Methods……………………………………………………………………………… 326 Managing Multiple Configurations……………………………………………………………… 326 Using the EXTRAVERSION Variable………………………………………………………… 327 Compiling the Kernel……………………………………………………………………………………. 327 Installing the Kernel……………………………………………………………………………………… 329 CHAPTER.23 : ROOT FILE SYSTEM CONTENT Root Filesystem Content……………………………………………………………………………….. 331 Basic Root Filesystem Structure…………………………………………………………………….. 331 Libraries……………………………………………………………………………………………………… 333 glibc………………………………………………………………………………………………………… 333 Kernel Modules……………………………………………………………………………………………. 336 Kernel images……………………………………………………………………………………………… 336 Device Files………………………………………………………………………………………………… 336 Main System Applications…………………………………………………………………………….. 338 CHAPTER.24 : STORAGE DEVICE MANIPULATION MTD-Supported Devices………………………………………………………………………………. 341 MTD Usage Basics………………………………………………………………………………………. 341 MTD /dev entries……………………………………………………………………………………… 341 Configuring the kernel………………………………………………………………………………. 342 The MTD utilities…………………………………………………………………………………….. 344 Installing the MTD utilities for the host………………………………………………………. 345 Installing the MTD utilities for the target…………………………………………………….. 346 Native CFI Flash………………………………………………………………………………………….. 347 Kernel configuration…………………………………………………………………………………. 347 Partitioning………………………………………………………………………………………………. 347 Required /dev entries………………………………………………………………………………… 349 Erasing……………………………………………………………………………………………………. 350 Writing and reading………………………………………………………………………………….. 350 CHAPTER.25 : ROOT FILE SYSTEM SETUP Selecting a Filesystem…………………………………………………………………………………… 351 Characterizing Filesystems………………………………………………………………………… 351 Guidelines for Filesystem Selection……………………………………………………………. 352 Filesystems for Disk Devices……………………………………………………………………… 353 Using an NFS-Mounted Root Filesystem to Write a Filesystem Image to Flash…… 354 CRAMFS……………………………………………………………………………………………………. 354 JFFS2…………………………………………………………………………………………………………. 355 Disk Filesystem over NFTL…………………………………………………………………………… 356 Disk Filesystem over RAM Disk……………………………………………………………………. 356 Mounting Directories on TMPFS…………………………………………………………………… 358 CHAPTER.26 : SETTING UP THE BOOTLOADER Bootloaders Introduction………………………………………………………………………………. 359 Bootloaders Galore………………………………………………………………………………………. 359 LILO………………………………………………………………………………………………………. 361 GRUB…………………………………………………………………………………………………….. 361 ROLO……………………………………………………………………………………………………… 361 loadlin…………………………………………………………………………………………………….. 361 EtherBoot………………………………………………………………………………………………… 362 LinuxBIOS………………………………………………………………………………………………. 362 Compaq’s bootldr……………………………………………………………………………………… 362 blob 362 PMON…………………………………………………………………………………………………….. 362 sh-Boot……………………………………………………………………………………………………. 362 U-Boot…………………………………………………………………………………………………….. 362 RedBoot………………………………………………………………………………………………….. 362 Server Setup for Network Boot………………………………………………………………………. 363 Setting Up the DHCP Daemon…………………………………………………………………… 363 Setting Up the TFTP Daemon…………………………………………………………………….. 364 Mounting a Root Filesystem on an NFS Server……………………………………………. 365 Using LILO with Disk and Compact Flash Devices…………………………………………. 366 Using GRUB with Disk On Chip Devices……………………………………………………….. 368 Configuring and Building GRUB for the DOC…………………………………………….. 370 Configuring GRUB to Boot from a DOC…………………………………………………….. 371 U-Boot………………………………………………………………………………………………………… 371 Compiling and Installing……………………………………………………………………………. 371 Booting with U-Boot…………………………………………………………………………………. 372 Using U-Boot’s Environment Variables……………………………………………………….. 374 Creating Boot Scripts………………………………………………………………………………… 376 Preparing Binary Images……………………………………………………………………………. 376 Booting Using BOOTP/DHCP, TFTP, and NFS…………………………………………… 378 Downloading Binary Images to Flash………………………………………………………….. 379 Booting Using a RAM Disk……………………………………………………………………….. 381 Booting from CompactFlash Devices………………………………………………………….. 383 Updating U-Boot………………………………………………………………………………………. 385 CHAPTER.27 : DEVELOPMENT TOOLS The Development Tool Chain………………………………………………………………………… 388 Compiler Features…………………………………………………………………………………….. 388 Extensions for Embedded Systems……………………………………………………………… 389 Impact of Real-Time Systems…………………………………………………………………….. 390 Optimizations…………………………………………………………………………………………… 390 Build Tools : Key Issues Recapped………………………………………………………………… 391 Debugging……………………………………………………………………………………………….. 391 Development Phases…………………………………………………………………………………. 391 Using a Practical Project Workspace………………………………………………………………. 394 GNU Cross-Platform Development Toolchain…………………………………………………. 395 GNU Toolchain Basics……………………………………………………………………………… 395 Kernel Headers Setup…………………………………………………………………………………… 400 Binutils Setup…………………………………………………………………………………………… 402 Bootstrap Compiler Setup………………………………………………………………………….. 404 C Library Setup………………………………………………………………………………………… 404 Full Compiler Setup………………………………………………………………………………….. 407 Using the Toolchain………………………………………………………………………………….. 410 C Library Alternatives………………………………………………………………………………….. 412 uClibc……………………………………………………………………………………………………… 412 Library setup……………………………………………………………………………………………. 413 Usage………………………………………………………………………………………………………. 415 Diet libc…………………………………………………………………………………………………… 416 Library setup……………………………………………………………………………………………. 416 Java……………………………………………………………………………………………………………. 417 The Blackdown Project……………………………………………………………………………… 417 Open Source Virtual Machines…………………………………………………………………… 418 The GNU Java Compiler…………………………………………………………………………… 418 Perl…………………………………………………………………………………………………………….. 419 Microperl…………………………………………………………………………………………………. 419 Miniperl…………………………………………………………………………………………………… 420 Python…………………………………………………………………………………………………….. 420 Ada…………………………………………………………………………………………………………….. 421 Other Programming Languages……………………………………………………………………… 421 Integrated Development Environments…………………………………………………………… 421 Accessing the Serial Port…………………………………………………………………………… 422 UUCP cu…………………………………………………………………………………………………. 423 C-Kermit…………………………………………………………………………………………………. 424 CHAPTER.28 : HARDWARE SOFTWARE CO-DESIGN Overview of Linkers and the Linking Process………………………………………………….. 427 Executable and Linking Format……………………………………………………………………… 429 Mapping Executable Images into Target Embedded Systems…………………………….. 431 Linker Command File……………………………………………………………………………….. 431 Mapping Executable Images………………………………………………………………………. 434 Example in Practice……………………………………………………………………………………… 435 CHAPTER.29 : EMBEDDED SYSTEM CASE STUDY Target System Tools and Image Transfer………………………………………………………… 437 Embedded Loader…………………………………………………………………………………….. 438 Embedded Monitor…………………………………………………………………………………… 439 Target Debug Agent………………………………………………………………………………….. 439 Target Boot Scenarios…………………………………………………………………………………… 439 Executing from ROM Using RAM for Data…………………………………………………. 441 Executing from RAM after Image Transfer from ROM…………………………………. 442 Executing from RAM after Image Transfer from Host………………………………….. 444 Target System Software Initialization Sequence………………………………………………. 445 Hardware Initialization……………………………………………………………………………… 446 RTOS Initialization…………………………………………………………………………………… 447 Application Software Initialization……………………………………………………………… 448 On-Chip Debugging……………………………………………………………………………………… 448