We are able now to download some target code to BeagleBoard using
serial/USB download [1].
Great !!!, this will be definitely useful.
Any proposal how we should use this to build a flashing tool?
We should try to download x-loader and then get u-boot downloaded, once u-boot is downloaded we can get flash the u-boot using u-boot.
Do you think we need UART kermit or some kind of protocol support in X-loader to download u-boot (for serial download).
Dont know if we also need USB support in x-loader, to download u-boot. But can USB host software write directly to SDRAM space after x-loader initializes the DDR and other configuration?
What we will need is some target code (“2nd stage loader”) which can
be downloaded to OMAP3 SRAM and which is able to
- initialize SDRAM and needed peripherals
- download via USB/serial the image to be flashed into SDRAM
- write image to (ONENand?) Flash
Anything else?
I believe the 2nd stage loader (1st stage loader is in ROM) only needs
to indicate that it has been successfully loaded and to load U-Boot
(3rd stage loader/flasher/diagnostics). Do you think it is necessary
to do more in the 2nd stage?
Do we have already some flash write functionality for OMAP3 on Bealge?
There is some flash write functionality in the published u-boot on
code.google.com, but X-Loader isn’t done yet. The X-Loader for the
Zoom MDK won’t work as-is because Beagle-A5 does not include the same
pull resistor. Beagle-B will have the resistor.
Currently for Beagle, the flash write is through u-boot. The procedure is to use MMC get a version of u-boot booting on the board, then copy the u-boot from MMC or download it over serial port and then flash using NAND commands.
What should we write to NAND? Something like X-Loader? U-Boot?
I believe we should ship Beagle boards with U-boot in flash that
provides console output to the DVI-D/S-video and input from a USB
keyboard. This would allow for computer-like usage, with the ability
to use u-boot to replace u-boot. “Bricking” is impossible due to
ability to boot off SD, USB, or Serial, but I’d like to get the out-of-
box experience to enable boot via USB-Ethernet adapter as well. Also,
I’d want to eliminate the need for anyone to use the serial port in
the future.
OpenMoko’s DFU-util should be fine for USB OTG transfer of the kernel
from a development PC.
I’d just leave the flash blank, but I believe many users will need the
comfort of it doing something upon applying power. The “something”
should involve all of the built-in outputs, including DVI-D, S-Video,
serial port, audio out, and LEDs.
Too ambitious?