paul@31 | 1 | Introduction
|
paul@31 | 2 | ------------
|
paul@31 | 3 |
|
paul@31 | 4 | NanoPayload is a test of bootable payloads for the Ben NanoNote, exploring the
|
paul@31 | 5 | necessary initialisation activities to allow programs to run on the device.
|
paul@31 | 6 | Unlike U-Boot, it does not seek to become a general framework for booting any
|
paul@31 | 7 | kind of device; instead, it merely attempts to provide a minimal collection of
|
paul@31 | 8 | routines for "bare metal" software usage in order to illustrate the
|
paul@31 | 9 | initialisation requirements and to make it possible to deploy other software.
|
paul@31 | 10 |
|
paul@44 | 11 | The payloads can be deployed on the Ben NanoNote using the USB boot mode as
|
paul@44 | 12 | described on the Qi-Hardware site:
|
paul@44 | 13 |
|
paul@44 | 14 | http://en.qi-hardware.com/wiki/USB_BOOT_mode
|
paul@44 | 15 |
|
paul@44 | 16 | A suitable command can be issued on a USB host machine as follows (given
|
paul@44 | 17 | sufficient privileges):
|
paul@44 | 18 |
|
paul@44 | 19 | usbboot -c 'boot' -1 stage1/stage1.bin -2 stage2/stage2.bin
|
paul@44 | 20 |
|
paul@44 | 21 | An attempt has been made to also generate payloads for the jz4730-based
|
paul@44 | 22 | MiniPC/Mipsbook/Minibook device. This device does not appear to support USB
|
paul@44 | 23 | boot mode, and thus any payloads will need to be deployed by other means.
|
paul@44 | 24 |
|
paul@31 | 25 | Related U-Boot Resources
|
paul@31 | 26 | ------------------------
|
paul@31 | 27 |
|
paul@44 | 28 | For the Ben NanoNote, some resources may only exist in the branch of U-Boot
|
paul@44 | 29 | identified as u-boot-2012.10-rc2 when configuring OpenWrt. Others may exist in
|
paul@44 | 30 | the principal U-Boot development branch, but differ between that branch and
|
paul@44 | 31 | the previous XBurst-supporting branch.
|
paul@31 | 32 |
|
paul@31 | 33 | arch/mips/cpu/xburst/jz4740.c RAM and clock-related initialisation
|
paul@31 | 34 | arch/mips/lib/board.c generic board initialisation
|
paul@31 | 35 | arch/mips/include/asm/io.h things like readl and writel
|
paul@31 | 36 | board/qi/qi_lb60/qi_lb60.c board-specific initialisation
|
paul@31 | 37 | common/lcd.c generic LCD initialisation
|