Chapter 7. eCos start-up configurations

There are various ways to download an executable image to a target board, and these involve different ways of preparing the executable image. There are configuration options in eCos’s Hardware Abstraction Layer (HAL package) to support the different download methods. The following table summarizes the ways in which an eCos image can be prepared for different types of download.

Table 7-1. Configuration for various download methods

Download methodHAL configuration
Burn hardware ROMROM start-up
Download to ROM emulatorROM start-up
Download to board with CygMonRAM start-up
Download to simulator without CygMonROM start-up
Download to simulator with CygMonRAM start-up
Download to simulator ignoring devicesSIM configuration
Run synthetic targetRAM start-up

Caution

You cannot run an application configured for RAM start-up on the simulator directly: it will fail during start-up. You can only download it to the simulator if you are already running CygMon in the simulator, as described in the GNUPro documentation.

Note: Configuring eCos’s HAL package for simulation should rarely be needed for real development; binaries built with such a kernel will not run on target boards at all, and the MN10300 and TX39 simulators can run binaries built for target boards. The main use for a “simulation” configuration is if you are trying to work around problems with the device drivers or with the simulator. Also note that when using a TX39 system configured for simulator start-up you should then invoke the simulator with the --board=jmr3904pal option instead of --board=jmr3904.

If your chosen architecture does not have simulator support, then the combinations above the refer to the simulator do not apply. Similarly, if your chosen platform does not have CygMon support, the combinations listed above that use CygMon do not apply.

The debugging environment for most developers will be either a hardware board or the simulator, in which case they will be able to select a single HAL configuration.

More information on the interactions between CygMon, the simulators, and GDB’s thread-aware debugging features is available in the GNUPro Reference Manual for your specific architecture.