| author | William Roberts <williamr@symbian.org> |
| Fri, 01 Oct 2010 12:45:26 +0100 | |
| changeset 3 | b41049883d87 |
| parent 0 | 5de814552237 |
| permissions | -rw-r--r-- |
// // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. // // Contributors: // // Description: // ////////////////////////////////////////////////////////////////////////////// // // Generic NOR Flash writing script. // // Change History: // // 01/01/2008 1.0 : Initial version // 12/02/2009 1.1 : Updated to initialise board and load globals before doing // anything else // ////////////////////////////////////////////////////////////////////////////// &scriptversion=1.1 print "=======================================================================" print "Generic NOR flashing script version &scriptversion" ; Declare the global variables used by the system and read the current config into them do globals.cmm ; Make sure that flashing is supported on the target platform if os.file("&PlatformsDir\&Platform\flash.cmm") ( local &result ; Make sure the user really does want to overwrite out their NOR flash! if "&FlashWriteProtect"!="OFF" ( dialog.yesno "Are you *sure* you want to erase NOR flash and write this image: &FlashImage?" entry &result ) else ( &result=(0==0) ) if &result ( ; Attach to the board and reset its hardware completely do init.cmm ; Make sure a filename has been specified if "&FlashImage"=="" ( print "Select ROM image to flash" dialog.file "*.bin;*.img" entry &FlashImage if "&FlashImage"=="" ( print "*** Aborted (no ROM image filename specified) ***" enddo ) ) print "&Platform hardware configured for flashing" ; Load first few bytes of the image into ram and see whether it has an EPOC header on the front data.load.binary "&FlashImage" &RamAddr++0x200 &firstWord=(data.long(sd:&RamAddr)) &skipHeader="false" if ((&firstWord)==0x434F5045) ( print "File &FlashImage has EPOC header (will skip it)" &skipHeader="true" ) else ( print "No EPOC header present on file &FlashImage" ) ; Now do the platform specific operations do &PlatformsDir\&Platform\flash.cmm "&FlashImage" &FlashAddr &skipHeader ) ) else ( dialog.ok "NOR flashing not supported for platform &Platform" ) enddo