ARMBoot Porting

Goal

To port ARMBoot to other boards.

Abstract

ARMboot is an Open-Source firmware suite for ARM based platforms. ARMboot is heavily based on the sister-project PPCboot, which provides similar functionality on PowerPC based systems. ARMboot shall be a common, easy-to-use and easy-to-port boot platform.

Introduction

ARMboot is a firmware monitor/bootloader for embedded systems based on ARM or StrongARM CPUs. The primary objectives for this software is to be easily porTABLE to new platforms while being as powerful as possible. To date it is the only GPL'ed ARM firmware capable of supporting multiple types of flash memory, network download via bootp, dhcp, tftp, PCMCIA CF booting and more.

  1. Please reference ARM Architecture Reference Manual 2ndEd.pdf for ARM's ISA and architecture.
  2. Please reference ARMBoot's code.

Implementation

Prerequisites

  1. ARM's assembly
  2. ARM's operation modes and register architecture
  3. ARM's processor control via co-processor CP15
  4. Know how to build ARMBoot image for a specific board. (In previous slides)
  5. Makefile writing

Step

  1. Execution of ARMBoot starts from the “_start” symbol in cpu/[mycpu]/start.S
  2. Modify files in cpu/[mycpu] directory for CPU dependent code.
  3. Modify files in board/[myboard] directory for board dependent code.
  4. Add or modify files in include directory for defines and header files.
  5. Modify makefiles

Example Hardwares

  1. XBoard
  2. PCM-7230

Toolchain Installation

  1. Put the script file into /usr/local/[directory]/
  2. Execute the script file ./arm-elf-tools-20040427.sh

Reference

documents/misc/armboot_porting.txt · 上一次變更: 2009/05/05 14:43 由 crilit
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0