mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-24 10:58:52 +09:00
92 lines
2.9 KiB
Plaintext
92 lines
2.9 KiB
Plaintext
![]() |
Work_92105 from Work Microwave is an LPC3250- based board with the
|
||
|
following features:
|
||
|
|
||
|
- 64MB SDR DRAM
|
||
|
- 1 GB SLC NAND, managed through MLC controller.
|
||
|
- Ethernet
|
||
|
- Ethernet + PHY SMSC8710
|
||
|
- I2C:
|
||
|
- EEPROM (24M01-compatible)
|
||
|
- RTC (DS1374-compatible)
|
||
|
- Temperature sensor (DS620)
|
||
|
- DACs (2 x MAX518)
|
||
|
- SPI (through SSP interface)
|
||
|
- Port expander MAX6957
|
||
|
- LCD display (HD44780-compatible), controlled
|
||
|
through the port expander and DACs
|
||
|
|
||
|
Standard SPL and U-Boot binaries
|
||
|
--------------------------------
|
||
|
|
||
|
The default 'make' (or the 'make all') command will produce the
|
||
|
following files:
|
||
|
|
||
|
1. spl/u-boot-spl.bin SPL, intended to run from SRAM at address 0.
|
||
|
This file can be loaded in SRAM through a JTAG
|
||
|
debugger or through the LPC32XX Service Boot
|
||
|
mechanism.
|
||
|
|
||
|
2. u-boot.bin The raw U-Boot image, which can be loaded in
|
||
|
DDR through a JTAG debugger (for instance by
|
||
|
breaking SPL after DDR init), or by a running
|
||
|
U-Boot through e.g. 'loady' or 'tftp' and then
|
||
|
executed with 'go'.
|
||
|
|
||
|
3. u-boot.img A U-Boot image with a mkimage header prepended.
|
||
|
SPL assumes (even when loaded through JTAG or
|
||
|
Service Boot) that such an image will be found
|
||
|
at offset 0x00040000 in NAND.
|
||
|
|
||
|
NAND cold-boot binaries
|
||
|
-----------------------
|
||
|
|
||
|
The board can boot entirely from power-on with only SPL and U-Boot in
|
||
|
NAND. The LPC32XX-specific 'make lpc32xx-full.bin' command will produce
|
||
|
(in addition to spl/u-boot-spl.bin and u-boot.img if they were not made
|
||
|
already) the following files:
|
||
|
|
||
|
4. lpc32xx-spl.img spl/u-boot-spl.bin, with a LPC32XX boot header
|
||
|
prepended. This header is required for the ROM
|
||
|
code to load SPL into SRAM and branch into it.
|
||
|
The content of this file is expected to reside
|
||
|
in NAND at addresses 0x00000000 and 0x00020000
|
||
|
(two copies).
|
||
|
|
||
|
5. lpc32xx-boot-0.bin lpc32xx-spl.img, padded with 0xFF bytes to a
|
||
|
size of 0x20000 bytes. This file covers exactly
|
||
|
the reserved area for the first bootloader copy
|
||
|
in NAND.
|
||
|
|
||
|
6. lpc32xx-boot-1.bin Same as lpc32xx-boot-0.bin. This is intended to
|
||
|
be used as the second bootloader copy.
|
||
|
|
||
|
7. lpc32xx-full.bin lpc32xx-boot-0.bin, lpc32xx-boot-1.bin and
|
||
|
u-boot.img concatenated. This file represents
|
||
|
the content of whole bootloader as present in
|
||
|
NAND at offset 00x00000000.
|
||
|
|
||
|
Flashing instructions
|
||
|
---------------------
|
||
|
|
||
|
The following assumes a working U-Boot on the target, with the ability
|
||
|
to load files into DDR.
|
||
|
|
||
|
To update the whole bootloader:
|
||
|
|
||
|
nand erase 0x00000000 0x80000
|
||
|
(load lpc32xx-full.bin at location $loadaddr)
|
||
|
nand write $loadaddr 0x00000000 $filesize
|
||
|
|
||
|
To update SPL only (note the double nand write) :
|
||
|
|
||
|
nand erase 0x00000000 0x40000
|
||
|
(load lpc32xx-spl.img or lpc32xx-boot-N.bin at location $loadaddr)
|
||
|
nand write $loadaddr 0x00000000 $filesize
|
||
|
nand write $loadaddr 0x00020000 $filesize
|
||
|
|
||
|
To update U-Boot only:
|
||
|
|
||
|
nand erase 0x00040000 0x40000
|
||
|
(load u-boot.img at location $loadaddr)
|
||
|
nand write $loadaddr 0x00040000 $filesize
|