FreeBSD/ARM port to NXP LPC3250

Project Description:

This project aims to port FreeBSD to NXP LPC32x0 ARM9 System On Chip family. LPC32x0-s are found in many single board computers and evaluations boards. Development will be done on Embedded Artists LPC3250 Developer Kit (which I own already). Port will be based on actual FreeBSD-current code and will use FDT. Benefits for the FreeBSD community: It will be possible to run FreeBSD on wide range of single board computers equipped with LPC32x0.

Deliverables:

  1. Make a device tree file for this target. Investigate target bootloader. 1.1. Write machine initialization code.
  2. Attach serial console driver, load FreeBSD kerne and see some output from it on serial console.
  3. Write interrupt controller and timer drivers (including RTC clock).
  4. Boot kernel in single user mode with serial console and memory disk.
  5. Write ethernet controller driver.
  6. Write SD/MMC driver.
  7. Attach USB OHCI controller driver.
  8. Write framebuffer driver.
  9. Write man pages for all new drivers.

Milestones:

Milestone

Status

Comment

M0: Target board is working, examined bootloader, got all required documentation. (week 1)

Complete

M1: FreeBSD boots with serial console and compiled-in memory disk drive in single user mode (week 3)

Complete

M1.1: Ethernet controller driver is working (week 5)

Complete

M2: FreeBSD boots from NFS-root in multiuser mode (week 6)

Complete

M3: FreeBSD boots from USB stick or SD card root in multiuser mode (week 8)

Complete

M4: Self-hosted builds are working (week 10)

Not done

M5: Framebuffer is working (week 11)

Complete

M6: Manual pages are done (week 12)

Not done

Working peripherals

UART

Working

Interrupt controller

Working

Integrated timers

Working

Power & clock control

Working

RTC

Working

Ethernet

Working

MMC/SD

In progress (unstable)

USB

Working

Framebuffer

Working

Touch screen

Not working

Resources:

SOC2011JakubKlama (last edited 2011-09-02T14:33:37+0000 by JakubKlama)