Name
HAL Port — Implementation Details
Overview
This documentation explains how the eCos HAL specification has been mapped onto the Adder hardware, and should be read in conjunction with that specification. The Adder platform HAL package complements the PowerPC architectural HAL and the MPC8XX variant HAL. It provides functionality which is specific to the target board.
Startup
Following a hard or soft reset the HAL will initialize or reinitialize most of the on-chip peripherals. There is an exception for RAM startup applications which depend on a ROM monitor for certain services.
For ROM or ROMRAM startup, the HAL will perform additional
initialization, setting up the external RAM and programming the
various internal registers. This is all done in the
hal_hardware_init
function in the assembler
source file adder.S
.
Linker Scripts and Memory Maps
The platform HAL package provides the memory layout information needed to generate the linker script. The key memory locations are as follows:
- Flash
- This is located at address 0xFE000000 of the physical memory space.
- SDRAM
- This is located at address 0x00000000 of the physical memory space. The first 12k bytes are used for hardware exception vectors. The next 512 bytes are used for the VSR table and the next 256 bytes are normally used for the eCos virtual vectors, allowing RAM-based applications to use services provided by the ROM monitor. For ROM/ROMRAM startup, all remaining SDRAM is available. For RAM startup, available RAM starts at location 0x00060000, with the bottom 384kB reserved for use by RedBoot.
- on-chip peripherals
- These are accessible via the CPU IMMR register, which is normally set to 0xFA200000. However, applications should not rely on this. See the documentation for the MPC850 or MPC852T for information on the on-chip peripherals.
- off-chip peripherals
- The Adder II has an MPC180 Encryption Processor on-board. However, this is not used by eCos.
Other Issues
The Adder platform HAL does not affect the implementation of other parts of the eCos HAL specification. The MPC8XX variant HAL, and the PowerPC architectural HAL documentation should be consulted for further details.
2024-12-10 | eCosPro Non-Commercial Public License |