Flashing NOR
From Openmoko
Contents |
GTA02 FreeRunner
NOR on GTA02
GTA02 has 2 MB of NOR flash for emergency boot or other usage.
Write NOR (GTA02)
You have to use a debug board and norwp utility to pull high the write enable line. Alternatively, you can just connect an external 1.8-3.3V supply to the relevant testpoint (H-TP4711, see schematics and pcb layout); a hackish approach would be to temporarily connect H-TP4711 to H-TP4714 (console rxd) and then issue "s3c24xx-gpio h7=1" command to ensure needed voltage (this is not supported, though experimentally tested approach). You could use flashing script from the following address: [1].
GTA02 A5 DVT1 units (in prototypes page, comes without write protection nor, you could re-flash it anytime)
Flashing script
#!/bin/sh -e # # flashnor - Flash a file into NOR (M58WR016KB) # # Copyright (C) 2008 by Openmoko, Inc. # Written by Werner Almesberger <werner@openmoko.org> # All Rights Reserved # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # DEV=/dev/mtd0 usage() { echo "usage: $0 nor.bin" 1>&2 exit 1 } check() { nor=`dd if=$DEV bs=$size count=1 | md5sum` [ "$nor" = "$ref" ] } empty() { ff=`dd if=/dev/zero bs=$size count=1 | tr '\000' '\377' | md5sum` [ "$ff" = "$nor" ] } [ -z "$1" -o ! -z "$2" ] && usage size=`ls -l "$1" | awk '{ print $5 }'` if [ $size -lt 65536 ]; then blocks=`expr \( $size + 8191 \) / 8192` else blocks=`expr \( $size - 65536 + 65535 \) / 65536 + 8` fi ref=`md5sum <"$1"` check && exit flash_unlock $DEV empty || flash_erase $DEV 0 $blocks cat "$1" >$DEV flash_lock /dev/mtd0 0 -1 check
NOR image
You could check the NOR image sample in following address: