HAL Macro Definitions Overview
2.1.3 HAL Configuration
As mentioned in Chapter 1, eCos uses source-level configuration control, which determines the software components included in a particular eCos image. Source-level configuration sets values for specific macros based on options you select. Then, the HAL is built according to the specifi- cations set in the configuration. The HAL configuration options can be split into two different parts, common and architecture- specific components. The common configuration components contain general options for most or all HAL packages within the eCos system. The architecture-specific configuration components can be further broken down into general architecture options and platform-specific options, which are relevant to a particular hardware target. Table 2.1 HAL Architecture Macro Descriptions Filename Description hal_arch.h Abstracts the architecture-specific functionality that includes macros for breakpoint support, thread control, and stack control. The HAL_SavedRegisters structure is also defined in this file. This structure defines the processor-specific registers to store the machine state. These registers are stored during context switches, exception handling, and interrupt handling. hal_cache.h a Provides instruction and data cache control macros, such as size defi- nitions, synchronization, enabledisable, lockunlock, and flushing. hal_intr.h Contains the interrupt and clock support macros. The interrupt macros include interrupt vector definitions, exception vector definitions, enabledisable control, attachdetach control, and maskunmask con- trol. The clock macros include control for initialization, reset, and reading. hal_io.h Includes the IO register reading and writing macros. For example, HAL_READ_XXX and HAL_WRITE_XXX , where XXX defines the size of the read or write operation. hal_mem.h or hal_mmu.h a Contains the macros for defining and controlling the MMU. xxx-stub.h or xxx_stub.h , where xxx defines the architecture; for example, mips-stub.h . Provides the definition and control macros for GDB support. This includes functionality for getting trap information, getset register contents, setting the program counter, single stepping, and various breakpoint controls. a Might not be supported by all HAL architectures. Overview 252.1.3.1 Common Configuration Components
The common configuration components are standard across all HAL packages. There are six components included in the HAL common configuration. Each component contains configura- tion options for setting up the HAL to meet the needs of a specific application. Item List 2.1 gives a description of the six components. The CDL component name is also shown in the list for reference. More information about the CDL and how it is used within a package can be found in Chapter 11. Item List 2.1 HAL Common Configuration ComponentsParts
» Prentice.Hall – Embedded.Software.Development.with.eCos
» Where It All Started—Cygnus Solutions
» The eCos Configuration Method
» eCos Core Components The Origins of eCos
» Processor and Evaluation Platform Support
» eCos Support The Origins of eCos
» Component Framework eCos Terminology
» Component Repository eCos Terminology
» Configuration Options eCos Terminology
» Components and Packages Targets
» Summary Prentice.Hall – Embedded.Software.Development.with.eCos
» The Example HAL Function Call Trace
» Next, the Example HAL Function Call Trace
» Finally, the platform reset routine uses the architecture macros defined in
» HAL Macro Definitions Overview
» Common Configuration Components HAL Configuration
» Architecture-Specific Configuration Components HAL Configuration
» HAL and Kernel Exception Handling
» Application Exception Handling Exceptions
» Interrupt and Scheduler Synchronization
» Interrupt Service Routine Management
» Interrupt State Management Interrupt Control
» Interrupt Controller Management Interrupt Control
» Summary Summary Prentice.Hall – Embedded.Software.Development.with.eCos
» Virtual Vector Configuration Virtual Vectors
» Communication Channels Virtual Vector Table Initialization
» Kernel Directory Structure The Kernel
» Multilevel Queue Scheduler The Scheduler
» Bitmap Scheduler Priority Levels
» Scheduler Configuration The Scheduler
» Thread Stacks and Stack Sizes
» Condition Variables Synchronization Mechanisms
» Message Boxes Synchronization Mechanisms
» Counters Counters, Clocks, Alarms, and Timers
» Clocks Alarms Counters, Clocks, Alarms, and Timers
» Timers Counters, Clocks, Alarms, and Timers
» Asserts and Tracing Prentice.Hall – Embedded.Software.Development.with.eCos
» IO Sub-System IO Control System
» Device Drivers IO Control System
» ROM File System File Systems
» RAM File System File Systems
» USB Support Prentice.Hall – Embedded.Software.Development.with.eCos
» OpenBSD FreeBSD Networking Support
» Networking Threads Networking Support
» Networking Configuration Networking Support
» Networking Tests Networking Support
» DNS Support Networking Support
» SNMP Support Prentice.Hall – Embedded.Software.Development.with.eCos
» The GoAhead Embedded WebServer
» Symmetric Multi-Processing Support Prentice.Hall – Embedded.Software.Development.with.eCos
» Additional Features Prentice.Hall – Embedded.Software.Development.with.eCos
» Overview Prentice.Hall – Embedded.Software.Development.with.eCos
» RedBoot Directory Structure Prentice.Hall – Embedded.Software.Development.with.eCos
» RedBoot Configuration Installation and Configuration
» Boot Scripting RedBoot Commands
» Cygwin Tools Directory Structure
» Installing the Platform-Specific Cross-Development Tools
» Installing WinCVS Accessing the Online eCos Source Code Repository
» Setting WinCVS Preferences Accessing the Online eCos Source Code Repository
» WinCVS Update Commands Accessing the Online eCos Source Code Repository
» Package Directory Structure Packages
» CDL Script Files The Component Definition Language Overview
» Saving Configurations Screen Layout
» Importing and Exporting Configurations
» Configuration Window Screen Layout
» Conflicts Window Screen Layout
» Properties Window Screen Layout
» Short Description Window Screen Layout
» Memory Layout Window Screen Layout
» Memory Layout Manipulation Screen Layout
» eCos Repository Database The Configuration Tool
» Graphical Representation of CDL Script Files
» Conflicts and Resolutions Using Templates
» The Package Administration Tool
» The Command-Line Configuration Tool
» Source-Navigator Additional Open-Source Tools
» Splint Additional Open-Source Tools
» A Closer Look The eCos Build Process
» Development Hardware Setup Examples Overview
» Building the Application Application
» Loading the Application Application
» Using the GDB Command-Line Interface
» The eCos Tests Prentice.Hall – Embedded.Software.Development.with.eCos
» Simulators Prentice.Hall – Embedded.Software.Development.with.eCos
» Overview of Porting Prentice.Hall – Embedded.Software.Development.with.eCos
Show more