Flashing NOR

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Write NOR (GTA02))
m (Write NOR (GTA02))
 
(3 intermediate revisions by one user not shown)
Line 7: Line 7:
 
==Write NOR (GTA02)==
 
==Write NOR (GTA02)==
  
You have to use a debug board and [http://svn.openmoko.org/trunk/src/host/norwp/ norwp utility] to pull low the write enable line. Alternatively, you can just short the relevant testpoint (see schematics and pcb layout). You could use flashing script from the following address: [http://svn.openmoko.org/trunk/src/host/devirginator/flashnor].
+
You have to use a debug board and [http://svn.openmoko.org/trunk/src/host/norwp/ 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 you might probably need to 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: [http://svn.openmoko.org/trunk/src/host/devirginator/flashnor].
  
 
GTA02 A5 DVT1 units (in prototypes page, comes without write protection nor, you could re-flash it anytime)
 
GTA02 A5 DVT1 units (in prototypes page, comes without write protection nor, you could re-flash it anytime)

Latest revision as of 01:08, 24 March 2010

Contents

[edit] GTA02 FreeRunner

[edit] NOR on GTA02

GTA02 has 2 MB of NOR flash for emergency boot or other usage.

[edit] 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 you might probably need to 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)

[edit] 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


[edit] NOR image

You could check the NOR image sample in following address:

GTA02 NOR image sample

Personal tools

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 low the write enable line. Alternatively, you can just short the relevant testpoint (see schematics and pcb layout). 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:

GTA02 NOR image sample