Splint Additional Open-Source Tools
11.6 Summary
In this chapter, we focused on the different eCos development tools. We started with an overview of the CDL used in the eCos framework. Moving onto the Configuration Tool, we discovered the relationship between the CDL files and the graphical representation of packages in the Configu- ration Tool. We also examined the eCos database file and how it is used by the Configuration Tool to represent the information in the repository. A typical eCos configuration involves selecting one target and one template. Packages can then be added andor removed based on the requirements of the system. Then, fine-grained con- figuration is performed on the configuration options. Then we moved on to the other tools available in the eCos development kit, as well as other open-source tools that allow us to configure a complete embedded development environ- ment free of charge since the tools are all open source. Now that we have an understanding of the eCos Configuration Tool, we are able to move to the next step, which is using the eCos tools to develop our own application. 281 C H A P T E R 1 2 An Example Application Using eCos n this chapter, we get down to using eCos and the development tools. The examples here detail one method for setting up a debug environment using RedBoot, building an eCos library, and then building an application that incorporates eCos. There are several different approaches to use to achieve a similar development and debug environment using different con- figuration options. These examples provide a straightforward method to achieving our goal: getting eCos up and running. We begin by building the RedBoot ROM monitor, which allows us to debug our applica- tion using GDB on our host development system. Next, we build an eCos library image for us to use with our application. Then, we build a simple application, which includes the eCos library image, to understand the process. Each of the examples in this chapter builds on the previous steps. After becoming familiar with the process, you will be able to tailor the build and debug procedure to meet your own needs and development style.12.1 The eCos Build Process
The main goal of the eCos build process is the generation of an eCos library. This library is called libtarget.a. Other target files are also generated, such as a linker script file and, in some cases, additional libraries may be generated. The RedBoot build process is slightly different from that for eCos because a binary file is generated at the end of a RedBoot build, which is then installed on the target hardware. The eCos library build process uses makefiles and the GNU make utility to assist in gen- erating the eCos library. The eCos build process involves three separate trees: source, build, and install. The source tree is the source code repository, which is located under the pack- ages directory. IParts
» 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