From owner-cvs-src@FreeBSD.ORG Wed Apr 12 21:22:51 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A20CC16A46A; Wed, 12 Apr 2006 21:22:51 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F340343D70; Wed, 12 Apr 2006 21:22:44 +0000 (GMT) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3CLMiuf005147; Wed, 12 Apr 2006 21:22:44 GMT (envelope-from imp@repoman.freebsd.org) Received: (from imp@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3CLMi2g005143; Wed, 12 Apr 2006 21:22:44 GMT (envelope-from imp) Message-Id: <200604122122.k3CLMi2g005143@repoman.freebsd.org> From: Warner Losh Date: Wed, 12 Apr 2006 21:22:44 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/boot/arm/at91/boot0 Makefile README arm_init.s at91rm9200_lowlevel.c at91rm9200_lowlevel.h lib.c lib.h linker.cfg main.c xmodem.c xmodem.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Apr 2006 21:22:51 -0000 imp 2006-04-12 21:22:44 UTC FreeBSD src repository Added files: sys/boot/arm/at91/boot0 Makefile README arm_init.s at91rm9200_lowlevel.c at91rm9200_lowlevel.h lib.c lib.h linker.cfg main.c xmodem.c xmodem.h Log: Recovery boot loader for the AT91 family of processors. Download it via xmodem to the DBGU port when the AT91 comes up in recovery mode. The recovery loader will then load your program via xmodem into SDRAM at 1MB which can do its things. It needs to be tweaked to the specific board one is using, but it fits in < 1kB (all of Atmel's ARM products have at least 8kb of SRAM that I can tell, so this should work for them all). Parts of this code were provided by Kwikbyte with copyright specifically disclaimed. I heavily modified it to act as a recovery loader (before it was a bootstrap loader) and to optimize for size (before I started the size was closer to 8k). Bootstrap loaders for SPI and IIC to follow. Revision Changes Path 1.1 +21 -0 src/sys/boot/arm/at91/boot0/Makefile (new) 1.1 +7 -0 src/sys/boot/arm/at91/boot0/README (new) 1.1 +105 -0 src/sys/boot/arm/at91/boot0/arm_init.s (new) 1.1 +184 -0 src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.c (new) 1.1 +57 -0 src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.h (new) 1.1 +76 -0 src/sys/boot/arm/at91/boot0/lib.c (new) 1.1 +33 -0 src/sys/boot/arm/at91/boot0/lib.h (new) 1.1 +85 -0 src/sys/boot/arm/at91/boot0/linker.cfg (new) 1.1 +42 -0 src/sys/boot/arm/at91/boot0/main.c (new) 1.1 +127 -0 src/sys/boot/arm/at91/boot0/xmodem.c (new) 1.1 +32 -0 src/sys/boot/arm/at91/boot0/xmodem.h (new)