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:
- Make a device tree file for this target. Investigate target bootloader. 1.1. Write machine initialization code.
- Attach serial console driver, load FreeBSD kerne and see some output from it on serial console.
- Write interrupt controller and timer drivers (including RTC clock).
- Boot kernel in single user mode with serial console and memory disk.
- Write ethernet controller driver.
- Write SD/MMC driver.
- Attach USB OHCI controller driver.
- Write framebuffer driver.
- 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 |