InSystemProgrammer

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Introduction

Tester device prototype 1 connected to mainboard

This page describes a tester device, which is capable of programming a BIOS ROM chip while it is connected to a live mainboard. The tester is controlled by a host PC via USB. The purpose of this tester device is to provide a do-it-yourself hardware for testing Coreboot builds. The goal is to support automated builds and tests from version control repository.

The tester can program the ROM chip regardless of the state of the mainboard. Therefore it is suitable for testing experimental Coreboot builds, which may or may not be able to boot properly.

The tester is built around the Atmel AT90USB162 microcontroller, which is programmed using avr-gcc and the LUFA library. The host-side software is currently flashrom.

Features

Status

TODO:

Hardware

In the images shown are two-sides circuit boards. Red mask shows component-side copper and blue mask shows solder-side copper.

Schematics were drawn using gschem.

Board layouts were drawn using PCB.

Main PCB

Tester main board schematic
Tester main PCB

Parts list

Auxiliary PCB

Tester aux board schematic
Tester aux PCB

Parts list

Firmware

The AVR firmware is based on the LUFA library. Version 101122 was used in development.

Host-side software

The current host-side software is flashrom and its serprog module. It basically tunnels the SPI traffic over a serial port over USB. (This is a bit silly design, and should be replaced. It was used to enable quick testing with standard Linux kernel USB CDC driver on the host side and easy flashrom modification, but now works even on Windows and is used by a number of other programmers due to its simplicity...)

Downloads

Download hardware, firmware, and sources from Git repository:

 $ git clone http://alpskari.asiantuntijat.org/~juhe/isf.git