The bootloader supplied with Balloon is 'Bootldr' from This is quite a full-featured loader and thus is relatively fat (200K for a full build, although you can build much smaller versions by configuring out things you don't need).

The bootloader lives in the NOR flash.

It is configured with 3 partitions as standard:

To install a new bootloader image you can use bflash/jflash to upload it over JTAG (very slow) or you can also do it from the boot> prompt: Bootldr can download a new copy of itself by xmodem and replace itself. Be aware that if you do this and the new version doesn't work then your balloon is useless and you need a JTAG dongle to upload a new bootloader.

The command is
boot>  load bootldr 

Then start your xmodem download.


Balloons have been shipped with various versions on bootldr. You can find the current version with the ver command:
boot>  ver 

Balloon BootLoader, Rev 3-0-0-aleph1 for Balloon [BIG_KERNEL] [MD5] [NAND] [YAFFS] [MONO]
Last link date: Tue Jul 18 17:16:41 BST 2006

The items in square brackets show which functions have been built in to this version. So the above version suporrts nand access, the yaffs filesystem, mono audio, md5sums and big kernels.

boot>  help 

Will show you bootloader commands although for some subcommands you just need to know, so here are the the nand and yaffs subcommands


If things are working you should see this first:


U3 indicates that UART 3 (console serial port) is enabled
@00000344 shows the current address that is being executed: 0x344
F04000000 shows that the bootloader is running from Flash ('D' would indicate DRAM) and that the Flash size is 0x4000000 (64MB)

Then there is a memory test, indicated by


(it counts up through each bit from 00000001 to 80000000). Then the 2nd memory bank


Next we get


which shows the stack pointer address at the point the bootloader moves from assembler to C code. Followed by details of the Flash memory and the bootloader version and CPU/machine type.

Bootloader problems

If you see something like this:


Then your bootloader is broken. This is how it shows a Data Abort (DABT). The first line is the address of the instruction that was executing when it blew up and the second line is the address that was being accessed.

Balloonboard: BootLoaderInfo (last edited 2009-03-19 17:51:19 by JRayner)