Home
        100-01-FMU version 3.0 - FLASH Memory Utilities
         Contents
1.        gt  gt  Failure counter   0    15 Oct 02    Copyright    Optimay GmbH  All rights reserved                                              yes                    Received  PC_DONE  ommand         Start code in  RAM          Send Increment failure  i MOBILE_ASTRAY counter  Read command       from UART u i A os        too many  failures      yes    y                   no    y       Execute command    y    Send response to  PC                         OptiFlash and CmdFlash Utilities    Agere Systems Proprietary    Start stack in  flash memory                Page 24 of 27    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    7 1 5 Command format    All commands sent by the PC application  except PC_SYNC and PC_DONE  have the  same basic message layout  Every code in the message is 4 bytes in size  though  the transmitted data can have any size     4CC command token The 4CC token of the requested command        Size of associated data The size in bytes of the data associated  with this command        Associated data The data associated with this command   Must be exactly the number of bytes as  specified in step 2     CRC over associated data A 32 Bit CRC of the data in field 3   4CC PC_EOM End Of Message token  PC side               Note  steps 4 5 are only present if the size of the associated data in step 2 is not 0     7 1 6 Response format    All responses sent by the bootloader  except MOBILE 
2.     Optimay GmbH  All rights reserved    1 Introduction    Transferring code and data to or from a mobile phone requires a special program   Optimay provides two utilities for this purpose  the GUI based    OptiFlash     intended  for interactive use  and the command line driven    CmdFlash        intended for use in  batch files and Perl scripts  The utilities share a common functionality  and it may be  assumed that   unless otherwise stated   anything said about OptiFlash applies equally  to CmdFlash     These tools are intended for use in a development  not a production environment   The requirements for these two different environments differ greatly  Refer to section  7   Bootloader protocol   for a description of the communication protocol  implemented in the boot loader  This can be used to implement a flash loader  suitable for production needs     2 Overview    2 1 How it works    When the phone is switched on  the bootloader code in ROM checks whether  OptiFlash is connected to the phone and is trying to    flash    it  If OptiFlash is not  connected  the bootloader starts the protocol stack software     Otherwise OptiFlash and the bootloader establish communication  To use the client   server terminology  the phone acts as a server  which runs in a loop and accepts  commands from OptiFlash  the client     Because space in ROM is scarce  and because ROM code data is difficult to change   the bootloader is kept small and simple  It understands just sufficient comman
3.    3 3 Profiles    The user can define multiple profiles  All the settings  except the global ones  are  saved into a profile  This makes it easy to maintain collections of settings which are  appropriate for various operations  For example  you can have profiles for       saving the calibration data of the phone    flashing in the latest software version    exchanging user data     The file history on the main window is maintained separately for every profile  i e  two  different profiles have two different histories     3 4 Errors    If OptiFlash does not complete an operation successfully  one the following error  conditions will be shown     ERR_ABORT  The user has aborted the operation     ERR_BAD_CMDLINE  The given command line could not be successfully parsed because of syntax  errors     ERR_BAD_PARAMS  The parameters passed to the DLL are invaid     ERR_BAD_PLATFORM  The specified hardware platform does not exist or the platform definition file   platform def  is corrupted     ERR_BAD_SREC_ADDR  The SRE file contains an invalid address  Either the addresses are not in  ascending order  or the address lies outside the flash chip     ERR_BAD_SREC_CHECKSUM  There was a checksum error for a line in an SRE file  i e  the SRE file has been  corrupted      ERR BAD SREC FILE  A file is not a valid SRE file     ERR_CMD_FAILED  A command sent to the phone failed     ERR_COM  The specified COM port could not be opened  It may be in use by another  program     ERR_CRC  All trans
4.   as value    LastCmoLine     It  can then simply be copy pasted into a perl script  etc     5 5 Reporting problems  Should you experience any problems with OptiFlash  please do the following   1  enable debug mode  2  open the log window  3  repeat the failing operation  4  save the log to a file  5  send the log file to Optimay     Without this information  it is nearly impossible to determine the reason for any  problems     OptiFlash and CmdFlash Utilities Page 17 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    6 Using OptiFlash in your own application    All the functionality of OptiFlash is contained in a DLL named flashdll dll  called  OptiFlash DLL in the following   The two programs OptiFlash and CmdFlash are just  different frontends to make the DLL   s functionality available to the user  You can use  this DLL in your own applications in order to flash phones  All necessary  declarations and definitions can be found in the file OptiFlashDLL h     6 1 The functions   The OptiFlash DLL API consists of six functions  They all return FLASH_SUCCESS  in case of success and an appropriate error code otherwise    6 1 1 Main functions   The three main functions are Flashinit  FlashLoad and FlashFinish     unsigned int Flashinit  FlashlO  plO  FlashParameters  pParams    This function has to be called first in order to be able to use the OptiFlash DLL     p
5.  in section 7 1 3   Synchronisation     PC_INFO  Input  none  Ouput     UINT32   Bits 0  7  bootloader version  minor   Bits 8 15  bootloader version  major   Bits 16 23  bootloader type  Bits 24 31  unused       UINT32   Content of the Trident ID register    UINT32   Index of UART used for communication  starting at 0     UINT32   Max  size in bytes the bootloader is able to receive  i e   no command send to the bootloader may exceed this  size                PC_DATA  Input              1 UINT32   Address in RAM  starting at 0  where the transmitted  data should be placed   2 UINT32   Size of transmitted data in bytes   3   Data to be transmitted    Output  none    OptiFlash and CmdFlash Utilities Page 26 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    PC_SUCK  Input           4 UINT32 Address in RAM  starting at 0  of the data to be sent to  the PC  2 UINT32   Number of bytes to send    Output     Contents       ez PU  Requested data    PC_DONE    This command will cause the bootloader to jump to address 0 in RAM  i e  the  bootloader execution ends and control is passed to the code just loaded into RAM     OptiFlash and CmdFlash Utilities Page 27 of 27  Agere Systems Proprietary    
6.  points to a nul terminated character string containing the  command line options     puOptions points to a variable into which the number of options will be  placed  If the command line contains errors   puOptions will be  set to 0 and the return value to FLASH_ERR_BAD_CMDLINE     pParams points to the FlashParameters structure     unsigned int FlashMakeOptionString  FlashParameters  pParams   char  pszCmdLine   unsigned int uMaxLen      This is the inverse function to FlashParseOptionString  it constructs a  command line parameter string from the values in a FlashParameters  structure     pParams points to the FlashParameters structure   pszCmaLine points to a character array into which the command line options  will be placed as a nul terminated string     uMaxLen specifies the size of the character array  If the constructed  command line exceeds this size  the function will fail with an  appropriate error code     unsigned int FlashGetErrorString  unsigned int uError  char  pszBuffer    This function converts an error code into a descriptive error text     uError specifies the error code     pszCmadLine points to a character array into which the error text will be  placed as a nul terminated string  The supplied buffer must be  large enough to accommodate the string  50 characters or  more      OptiFlash and CmdFlash Utilities Page 19 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay 
7.  which is used     Here is a short description of the available options  default values are in bold type   References such as Debug mode are to the more detailed descriptions given in  section 3     Using OptiFlash         com  lt 1  12 gt    lt 1  12 gt   Settings COM Port  Specifies the number s  of the COM port s  to be used    maxspeed  lt   gt     lt   gt   Settings COM Port    Specifies the maximum transfer speeds  in bytes second  for the COM port s    Default is 115200 bps      debug  lt 0 1 gt  Debug mode  Disables   debug 0  or enables   debug 1  verbose output     diff  lt 0 1 gt  Differences only  Disables   diff 0  or enables   diff 1  the differential flashing mode      erase  lt 1  8 gt  Flash erase passes  Specifies the number of erase passes for a flash sector      extprotect  lt 0 1 gt  Extended protection  Enables   extprotect 1  or disables   extprotect 0  the extended  protection option      file  lt filename gt  File to load or verify  For  mode flash  Specifies the the full filename of the SRE file containing the image to be  flashed into the phone   For  mode verify  Specifies the full filename of the SRE file with which the phone   s flash  memory contents are to be compared      mode  lt flash verify read gt   Specifies the required operation      noretry  lt 0 1 gt  No retries  Enables   noretry 0  or disables   noretries 1  retries for a failed  operation     phases  lt al1 b1 f1 gt  Operation phases    Specifies which phases of the flashing proces
8. 1 Passive bootloader    The bootloader will do a minimal EMI  External Memory Interface  setup appropriate  for the hardware platform it is running on  External RAM will be mapped to address 0   mapping range 256KB   No further assumption apart from the RAM mapping should  be made about the EMI setup     All that the bootloader is capable of  is copying data into RAM or reading data out of  RAM  Every operation beyond this has to be done by a user written program that is  to be loaded into RAM by the bootloader     7 1 1 Initial setup phase    When the phone is powered on  the bootloader enters the initial setup phase  In this  phase the bootloader checks whether a PC is attached to phone and if so  whether  an application wants to communicate with the bootloader  If the bootloader does not  detect such an application  it transfers control to the code in flash memory   Otherwise it enters the bootloader protocol     After power up  the bootloader in ROM checks cyclically all available UARTs to see  whether characters are being send to the phone  If the phone does not receive a          character in  200ms on any UART  the bootloader will transfer control to the code in  flash    If the bootloader receives a         on one of the UARTs  it repeatedly sends          characters over this UART until either a timeout occurs or a         character is received  on that UART     A flow chart of the initial bootloader protocol phase is shown below     OptiFlash and CmdFlash Utilities 
9. GmbH  All rights reserved    6 2 The structures    There a two defined structures  FlashlO and FlashParameters   Flashlo    contains a handle used internally by the OptiFlash DLL  and  optionally  pointers  to callback routines  The callbacks will be invoked to supply the application with  display information  status messages  progress of operations etc      Before passing this structure to OptiFlash  the u Size member must be set to  sizeof FlashI0     FlashParameters    contains various parameters for the flashing process itself  This structure can be  either filled directly by the calling application  or can be filled by using a command  line string and passing it to the function FlashParseOptionString     OptiFlash and CmdFlash Utilities Page 20 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    7 Bootloader protocol    It may be found desirable to develop an application which is able to communicate  with a phone without using OptiFlash  for production issues for example   The  following is a description of the communication protocol that is implemented in the  phone   s ROM  The protocol can be used to load code and data into the phone   s  RAM and execute it  There are two different variations of bootloader protocols      active    and    passive     The    passive    protocol is the newer protocol and is the only  one that will be used in the future     7 
10. HAT TYPE OF BOOTLOADER  oonococononnnnononononononononononononononononononononononononononononononononononononononononononononos 16  5 3 TROUBLES FLASHING THE PHONE P siec ccccusdesecccsesveecuadecas aida 17  5 4 GENERATING COMMAND LINE OPTIONS   cocococonononononononononononononononononononononononononononononononononononononononones 17  5 5  REPORTING PROBLEMS se 17  6 USING OPTIFLASH IN YOUR OWN APPLICATION            cssssccssssscssssscccssssccscssscccsssccccsssseee 18  6 1 THE FUNCTIONS ccooococononononononononononononconononononononononononononononono nono no nono nono nono nonono nono nonononononononononononononononos 18  IA AN E ON 18  0 12 Helper FUNCTIONS A A titi 18  602 THE STRUGTURES    0 sci ss dose cc ionn be 20  7 BOOTLOADER PROTOCOL wisssccssscsdsccccsasossessessesesnsscassccccsevscsdsebecsbevecasssavcesavesssossessoncestasessansesss 21  Tl PASSIVE BOOTLOADER  A At de EEEE 21  Adel Initial Setup phase nainun nan a A A a E lashed 21  7 1 2 Command phase a5  setencisccahipsseduscesscesseshssessesdssvaseiessusacodisedobecdanteectascaausoasessiesings sdgeisestestasesdteese 23  Fi LB  SYNCHLONISAHON AAA NON 23  FLA Comm  nd loop ii A e ii Metra ae 23  7 1 3    Gomm  nd MN a eee E E E e peta eed Ra E E eee 25  7 AsO  RESPONSC  JOTINGL AR ANT 23  Folic  BOOUOGAET COMINGS   osc ET EEEN AE E EE 26     Optiflash and CmdFlash Utilities   Page 3 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright
11. OPTIMAY    OptiFlash and CmdFlash Utilities    User Manual    Version 3 0    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    OptiFlash and CmdFlash Utilities       User Manual  Copyright    2002 Optimay GmbH   All rights reserved     The use and copying of this product is subject to a license agreement  Any other use  is prohibited  No part of this publication may be reproduced  transmitted  transcribed   stored in a retrieval system or translated into any language in any form by any means  without the prior written consent of Optimay GmbH  Information in this manual is  subject to change without notice and does not represent a commitment on the part of  the vendor     Document Summary    Document Type User Manual    Document Title OptiFlash and CmdFlash Utilities  Document Number 100 01 FMU    Author Martin Lohse  Date 10 Oct 2002       Change History    ae CRC  10   15 Oct 01 Initial edition    2 0 08 Jan 02 Lohse Added description of passive boatloader  protocol  made some minor corrections    3 0 10 Oct 02 Lohse Added new section on how to use the  OpiFlash DLL in user applications   corrected various errors in the text        OptiFlash and CmdFlash Utilities Page 2 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    Table of Contents    INTRODUCTION siissscccc  sssctcccssisssc
12. OptiFlash will load the  currently selected flash loader into the phone and will then exit  When Start at FL  is selected  OptiFlash will assume that a flash loader is already loaded into the  phone and will start sending commands to it     Debug mode  Enabling debug mode causes additional information to be written to the log  window  If you are experiencing problems while flashing a phone and want  assistance from Optimay  it is absolutely essential to have this option enabled and  to send the resulting log file to Optimay     OptiFlash and CmdFlash Utilities Page 7 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    Differences only  This option allows for more efficient data transfer  When enabled  OptiFlash  checks every sector that would be affected by the currently selected SRE file  If  the sector has the same contents as those specified by the SRE file it is not  changed  thus saving the time for required for programming the flash memory      Extended protection  Enabling this option reduces the probability of a break in the serial link  communication causing corrupted data in a flash sector  When new data has to  be added to a sector which already contains data  then the old data must be  merged with the new data before the sector is erased and rewritten  If extended  protection is disabled the sequence of events is     1  Make a copy of the flash secto
13. PC   s or the phone   s serial hardware is incapable of  handling the selected speed     You can set up to two COM ports  The first COM port is mandatory and is used to  transfer the flash loader to the phone  If asecond COM port has been specified   optional   then OptiFlash will use this COM port as well as the first one to  communicate with the flash loader  thus increasing the transfer speed  If the second  COM port is not specified  all communication is done using the first COM port     The reason for having two different COM ports results from idiosyncrasies of  USB serial adapters  They impose some latency in the serial communication that will  exceed timeout values in active boot loaders  The trick is to transfer the flash loader  into a phone with an active boot loader over the first COM port using a normal serial  cable  Then to benefit from the higher transfer speeds of the USB serial converter   the rest of the communication is done over the second COM port  This scenario is  only necessary for phones with an active boot loader  phones with a passive boot  loader should be able to cope with the communication latencies     The speed increases you will experience when you use two COM ports in parallel is  highly dependant on the PC used  the current workload on the system  the quality of  the serial kernel drivers  etc     OptiFlash and CmdFlash Utilities Page 9 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Plat
14. Page 21 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems    Reference Platform Group    yes                            Read char  from UART u             received a        timed out      no    15 Oct 02    Copyright O Optimay GmbH  All rights reserved          PS       u u 1                 u  gt  available  UARTs       yes              o       Send     char over  UART u               Read char from  UARTu                 received          yes    y       Proceed to  command  phase                   yes       timed out            start stack             yes       OptiFlash and CmdFlash Utilities    Agere Systems Proprietary    Page 22 of 27    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    7 1 2 Command phase    When the initial setup phase is complete  the bootloader enters the command phase   This is basically a loop that waits for the PC side application to send commands     All commands consist of multiple 4 byte codes  called 4CC   four character code   A  list of the defined 4CCs can be found in the bootloader source code  file blprot h      Most of the commands  send by the PC application  and the responses  from the  bootloader  have the same structure  There are two exceptions  the PC_SYNC  command  which is used for synchronisation  and the PC_DONE command  which  ends bootloader execution     7 1 3 Synchronisation    If the PC application loses synchroni
15. _SYNC_ACK and  MOBILE_ASTRAY  have the same basic message layout  Every code in the  message is 4 bytes in size  though the transmitted data can have any size     4CC MOBILE RESP Start Of Response token    4CC command token The command token  for which this  response is the answer     MOBILE_ACK   MOBILE_NACK   Depending on the success or failure of the  requested command  the appropriate  token is send           Size of associated data The size in bytes of the data associated  with this response    Associated data The data associated with this response   Must be exactly the size specified in field  4           CRC over associated data A 32 Bit CRC of the data in field 5  4CC MOBILE_EOM End Of Message token  mobile side           Note 1  fields 4 6 are only present if the command completed successfully  i e  field  contains MOBILE_ACK     Note 2  fields 5 6 are only present if the size of the associated data  field 4  is not 0     OptiFlash and CmdFlash Utilities Page 25 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    7 1 7 Bootloader commands    Below is a list of commands understood by the bootloader during the command  phase  The input and output descriptions refer to the data associated with the  commands     Note  where bit numbers quoted  bit 0 refers to the low order bit  In general  bit n  refers to the bit with value 24n     PC_SYNC    See description
16. at of the file that will be loaded verified  This can be  changed via Options Settings  see below  or via  Drag  amp  Drop   The list box contains  a history of the most recently used files  The history is maintained on a per profile  basis  see section 3 3   Profiles    i e  every profile has its own history list that is  independent of the other profile history lists     There are four buttons  three for the basic operations OptiFlash supports  and a  fourth one to cancel the operation currently in progress  greyed out in this picture      Once you have made all the necessary settings for your intended operation  you  merely have to click the appropriate button  OptiFlash now initializes the operation   This may take a few seconds  depending on the chosen operation and on the size of  the involved SRE files  When OptiFlash is ready  it prompts you to switch on the  phone by displaying the message    Power on mobile     Do not power on the phone  before that prompt is displayed  otherwise the communication setup will fail     The currently used COM port s  are shown in the lower right corner of the window     3 1 The settings window    The most important menu item is the settings window  which can be reached via  Options Settings from the main window     The settings window consists of four different tab sheets  which are explained below     OptiFlash and CmdFlash Utilities Page 6 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Re
17. ds to  be able to load data into the phone   s RAM  After establishing communication with  the phone  the first thing OptiFlash does is to use the bootloader to download a so   called    flash loader    to the phone   s RAM  This is the program that provides all the  necessary functions to erase and or program the flash memory on the phone  Again   this code will act as a server  accepting commands from OptiFlash  Since there are  many different flash chips from various manufacturers  all of which differ in their  sector layout and capabilities  the flash loader does not contain much information  about specific chips  It is merely capable of detecting the flash chip type and of  programming the chip  All the details about the chip are handled on the PC side by  OptiFlash  which is aware of the sector layout and other idiosyncrasies of the chips     2 2 Bootloader types    There are two different types of bootloader communication protocol implemented in  the ROM of Trident chipsets  active and passive  The names indicate whether the  phone initiates the communication  active  or waits for OptiFlash to initiate the  communication  passive      The active bootloader initiates communication with the PC by sending a special byte   sequence to the serial port when the phone is switched on  If OptiFlash is connected  and wants to    flash    the phone  it recognises this sequence     OptiFlash and CmdFlash Utilities Page 4 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidia
18. eesasscccessssssasvscuessesssbesesossudetessosssessactassessucsces santas decsedssessbsdesdetscesosete 4  Z OVERVIEW AAA essaie soesicteniss  bosseissotesissestessetess 4  Dl HOWTT WORKS isa 4  2 2 BOOTLOADER  VY PES a ace aah ee BR Be BB ao ee Bee tote ated 4  2 3  BASIC OPERA TIONS me n nnen a a ati 5  2 3 1 Flash mode ou    ccceccccccccccssescececccccusecceccccccusueccecccessususeccecccessuusseccescssauuaeseecccessuuaaecescscesseauaaenceseceees 5  LIL Verify Mode  oe aianei osea ires Ea aED oeeo SE ai eA E EESE ASA SENEE SaS ARENES E Natas 5  LST REG MA A idad ideada 5  2 4 A NOTE ON S RECORD FILES orones iroot eSt esre EEEE ENEE SEE EEEE EEE E EEEN E EEN E EEEE e E REEE ie 5  3 USING OPTIFLASH  cscccsscssscosestscssisstoosesactesesvncsesvnsossesvsdessensssesieseasesdossesecbessssuvensesdesvesssdessesesseceossss 6  3 1THE  SETTINGS WINDOW cda dao dd dad tada bbe abe lcd cts toda Met eek decido eo 6  TALES CUINES Generali ai Ad AA A A wate a Se 7  B12 Setting s COM POM AA A ies 9  3 1 3 Settings Plash   amp  Verify iiscacissesssesssetsccesccasdpstseshgessseitaess antics densas dancer since 10  ILA SCUINGS ROG ii et A italianas 11  3 2 THE LOG WINDOW  aia cr dais 12  A LN AN 12  O E iiiociiee  12  4 USING CMDEEASH siisssscsdissecosssssicavcscossnsasoascoasevessaetsssucatvossestaacsesecsessdscesesacsdeseeassessaucossesssasassceesss 14  S TIPS AND OS CAP oriee rissdresosesise r socie ei 16  5 1 USING TWO PORTS IN PARALLEL peon ereere e aeneae eaa a a e e ae eaae aE e 16  5 2 W
19. ey           pressed  switch it  on again     5  If you now see some exclamation marks            the phone has a passive  bootloader     6  If you don t see the exclamation marks  something is wrong with either the  phone  the OptiFlash phone setup  or the cables     OptiFlash and CmdFlash Utilities Page 16 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    5 3 Troubles flashing the phone     If you have troubles flashing at all on a slow PC  laptops in particular are sometimes  tricky   try the following        Use a different serial port  Laptops in particular sometime have UARTs that  don   t supply enough power to operate the level shifter properly  You could try a  CardBus serial port       Ifyou are using an USB serial converter  try to flash the phone using a normal  serial cable and see if that works     e Check if the Windows FIFO settings have been changed  The recommended  setting is    default        e Check that the voltage to power the phone is about 4 2V      Disable the    debug    option   e Close the log window     Use the command line tool    CmdFlash    instead of    OptiFlash       5 4 Generating command line options    Whenever you click one of the flash verify read buttons on OptiFlash   s main window   the appropriate command line options representing your current settings will be  written to the OptiFlash ini file under section  Global
20. ference Platform Group Copyright    Optimay GmbH  All rights reserved    3 1 1 Settings General  On this tab sheet all the general settings can be selected     OptiFlash Settings    Seville    x     Generic   COM Port   Flash  amp  Verify   Read         Specify hardware platform      Seville he            Misc  settings  Flash erase passes Al   gt   fr  Dperation phases  Defaut  gt    Debug mode  v Extended protection J  Differences only  v No retries a             Cancel         Specify hardware platform  Here you specify the type of hardware you want to flash verify read  This is the  most important setting  as this describes various details of the hardware to  OptiFlash  If you select an incorrect platform here  it is very likely that OptiFlash  will not be able to communicate with the platform     The parameters needed to flash the MS are stored in a platform definition file   platform def  which is supplied by Optimay     Flash erase passes  This setting specifies how many times a flash sector should be erased  1  8   It is  supplied for debugging purposes    the number of passes should be set to 1 for  normal operation  A higher number does no harm  apart from reducing the life of  the flash chip   but consumes considerably more time     Operation phases  This option is for special development purposes  It must be set to Default for  normal operation  The other two settings determine which phases of the loading  process will be executed  When Stop after BL is selected  
21. form Group Copyright    Optimay GmbH  All rights reserved    3 1 3 Settings Flash  amp  Verify    This tab sheet is used to specify the SRE image filename and define protected  regions of memory for flash and verify operations     OptiFlash Settings    Seville  x     Generic   COM Port Flash  amp  Verity   Read         File to load or verify     teams T ools OptiFlash Usefull SREstgen_4m_16 sre Browse                     Reserved memory regions    Add region       change region       Remove region       Decimal                  File to load or verify  This is the complete filename of the SRE image you want to use for flashing or for  verifying     Reserved memory regions  Here you can specify one or more reserved memory regions  i e  memory ranges  which OptiFlash must not change  OptiFlash checks whether the specified SRE  file contains any memory ranges which overlap any of the reserved regions  If so   the operation is terminated with an appropriate error code     Reserved memory ranges can be used to protect valuable data in the phone from  accidental overwriting     Memory ranges in OptiFlash can be specified in decimal or hexadecimal notation   prefixed with Ox   The lower and upper ends are separated with a dash      The  ends of the range are inclusive  e g  the range 5 10 contains the 6 addresses 5  6   7 8  9 and10     OptiFlash and CmdFlash Utilities Page 10 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platf
22. iFlash expects that all files it handles will be in Motorola S record format  All files  written by OptiFlash are in this format     A SRE file is an ASCII file containing addresses and data in hexadecimal form   guarded by a checksum byte at the end of each row  Conventionally  the filename  extension is     sre     The user does not need any deeper knowledge about SRE files   but it is useful to understand some basics about this format     Since the SRE contains not only data but also the addresses where this data should  be written to or read from  the data in the file constitutes multiple regions in  consecutive memory  When loading a SRE file OptiFlash will check that all memory  addresses are in ascending order and that the memory regions are not overlapping   which would lead to overwriting of content      If both software and data need to be downloaded to the phone  the two SRE files can  simply be concatenated in the correct order and the resulting single SRE file flashed  into the phone     OptiFlash and CmdFlash Utilities Page 5 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    3 Using OptiFlash    This is the main window of OptiFlash     lola    File Options Help       File to load or verify     CAce mlo001 24 prvNobj berlin OBJ gsmstack sre gsmstack s3 Y                           Verify   Read   Cancel     COM  2 5          The file name shown is th
23. lo points to a structure of type FlashlO  A handle will be placed in  the structure which is required by several other DLL functions     pParams is either NULL or points to a structure of type FlashParameters   If supplied  the structure will be initialised with default values     unsigned int FlashLoad  FlashlO  plO  FlashParameters const  pParams    This function performs a specified flash operation     plo points to the initialised FlashlO structure     pParams points to a FlashParameters structure containing a description  of the required operation     unsigned int FlashFinish  FlashlO  plO      This function must be called after all flash operations have been performed  It  releases the internally allocated resources     plo points to the initialised FlashlO structure     6 1 2 Helper functions    The are three helper functions that are convenient  but not required  for using the  OptiFlash DLL  FlashParseOptionString  FlashMakeOptionString and  FlashGetErrorString     OptiFlash and CmdFlash Utilities Page 18 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    unsigned int FlashParseOptionString  FlashlO  plO  char  pszCmdLine   unsigned int  puOptions   FlashParameters  pParams    This function parses a specified command line options string and places the  results in a FlashParameters structure   plo points to the initialised FlashlO structure     pszCmaLine
24. missions over the serial link are guarded by CRC checks  There was a  CRC mismatch     OptiFlash and CmdFlash Utilities Page 12 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    ERR_FILEIO  General problem with reading writing files     ERR_FLASHTYPE  Either the type of the flash chip in the phone is unknown to OptiFlash  or the  chip is defective     ERR_LEGACY_LOADER  The specified flash loader is too old to be used with this version of OptiFlash     ERR_NOMEM  Insufficient memory to complete the operation     ERR_PROTOCOL  There was a problem with the protocol on the serial link between the PC and  the phone  Either OptiFlash received something unexpected  or the link is  defective     ERR_RANGES OVERLAP  Two memory ranges overlap     ERR_SETUP  An error occurred during the setup phase of the flash loader     ERR_TIMEOUT  The operation has exceeded its timeout period and has been aborted     ERR_TOO_MANY_RANGES  Too many memory regions have been defined     ERR_TOO_MANY_RETRIES  An operation has repeatedly failed and the maximum retry count has been  exceeded     ERR_UNKNOWN_HW  OptiFlash could not identify the hardware platform     ERR_UNSUPPORTED  The executable has attempted an operation which is not supported by the DLL    Cf  ERR_WRONG_DLL below      ERR_VERIFY_DIFFERENCE  The verify operation found a difference between the given SRE file and the  conten
25. mportant  that this COM port is connected to the phone  using a normal serial cable  For passive bootloaders  this can be either a serial cabel  or a USB serial converter     When the communication phase with the bootloader is complete  OptiFlash will  switch to the fastest port for communication with the flash loader  When OptiFlash  has to do bulk data transfers to the phone  it will use all defined ports simultaneously   It is not necessary that all the used ports be operated at the same baud rate   OptiFlash will distribute the transferred data across the individual ports according to  the used transfer speeds     Using two ports in parallel is dependent on many PC related factors  such as     e system load  e quality of kernel drivers for the used ports     mixture of different drivers or multiple instances of a single driver    As a result  the benefit in flashing speed is highly PC dependent  but it should never  be slower than using a single port     5 2 What type of bootloader     To find out which type of bootloader is contained in the phone   s ROM  you can do the  following     1  Connect a dumb terminal to the phone  115 KBaud  8N1  and switch on the  phone     2  If the first two characters you see on the terminal are    OK     the phone has an  active bootloader     3  If you don   t see    OK     connect to the other UART and retry from step 1  If you  still don   t see    OK     continue with step 4     4  Switch off the phone and  keeping the question mark k
26. orm Group Copyright    Optimay GmbH  All rights reserved    3 1 4 Settings Read    This tab sheet is used to specify the SRE filename and define the required regions of  memory for a read operation     OptiFlash Settings    Berlin  E xi    Generic   COM Port   Flash  amp  Verify Read           Save File      cso ptiFlash_TEST  save  sre Browse         JV Ask before overwriting existing files           Read Ranges     0x00380000     Ox003fffff Add region      Change region    Remove region      Decimal                  OK   Cancel         Save File  This is the complete filename of the SRE file into which the data which has been  read from the phone will be saved  You can select whether OptiFlash will ask for  confirmation before overwriting existing files     Read Ranges  Here you specify the memory range s  which are to be read out of the mobile  For  further information about memory ranges as they are used by OptiFlash  refer to  the description of Reserved memory regions in section 3 1 3   Settings Flash 8  Verify      OptiFlash and CmdFlash Utilities Page 11 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    3 2 The log window    A log window can be opened closed via Options Log  All output OptiFlash is  generating goes into the log window  It is useful to find the exact cause of an error   especially when used in conjunction with the debug option enabled  
27. r in RAM    2  Erase the sector    3  Download the new data and merge into the RAM copy   4  Write the RAM copy back to the sector     If extended protection is enabled  the sequence is changed to    1  Make a copy of the flash sector in RAM    2  Download the new data and merge into the RAM copy    3  Erase the sector    4  Write the RAM copy back to the sector   Since in this case the flash loader has all the required data before it starts to make  changes to the flash  the danger of corruption is much less     No retries  Normally  when a command times out before being executed  it is retried several  times  When this option is enabled  no retries are attempted and the operation is  terminated immediately with an error     OptiFlash and CmdFlash Utilities Page 8 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    3 1 2 Settings COM Port  This tab sheet is used to select the COM ports     OptiFlash Settings    Berlin  x     Generic COM Port   Flash  amp  Verify   Read      M First COM Port  mandatory    COM Port come     Max  transfer speed fi 15200 v               Second COM Port  optiona 77    COM Port  coms  gt      Max  transfer speed  460800 X                  Up to twelve ports are supported  Additionally you can select the maximum transfer  speed OptiFlash will use to communicate with the phone  However  OptiFlash will  use a Slower speed if either the 
28. ry of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    The passive bootloader merely listens to the serial ports for a short period of time  If  it detects a special character  it assumes that OptiFlash is connected and wants to     flash    the phone  The advantage of the passive approach is that other data  applications are not confused by receiving unexpected characters from the serial  port     To determine which type of bootloader is in a particular phone  refer to section 5 2    What type of bootloader    The passive bootloader is built into all new chipsets   the active bootloader is currently being phased out     2 3 Basic operations  OptiFlash supports three modes of operation  flash  verify and read     2 3 1 Flash mode    In this mode the contents of an S record file  SRE for short  are loaded into the flash  memory of the phone  It is used to apply software updates to the phone     2 3 2 Verify mode    In this mode the contents of an SRE file are compared with the contents of the  appropriate memory ranges in flash memory of the phone  This is a convenient and  fast way to check whether the phone contains the correct software or data     2 3 3 Read mode    This mode is used to read memory ranges from the flash memory on the phone into  an SRE file on the PC  This is useful for backing up important data which is phone   or user specific  e g  calibration data  phonebook data      2 4 A note on S record files    Opt
29. s are to be performed     bl download the flash loader      Stop after BL    in OptiFlash     fl communicate with the  already downloaded  flash loader      Start at FL    in OptiFlash     all both of the above      Default    in OptiFlash     OptiFlash and CmdFlash Utilities Page 14 of 27  Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved     platform  lt platform name gt  Specify hardware platform  Specifies the type of hardware connected to OptiFlash      read  lt     gt  Read Ranges  Specifies a memory range to be read from the phone  Use multiple  read  options to specify multiple read regions      readfile  lt filename gt  Save File  For  mode read   Specifies the full filename of the SRE file into which the contents of the flash  memory are to be written      reserved  lt     gt  Reserved memory regions  Specifies a reserved memory range  Use multiple  reserved options to  specify multiple reserved regions     OptiFlash and CmdFlash Utilities Page 15 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    5 Tips and tricks    5 1 Using two ports in parallel    For performance reasons it is possible to use two COM ports simultaneously   OptiFlash will use the first COM port to talk to the phone   s boot loader  For phones  with an active bootloader it is i
30. sation  it sends the 4CC for synchronisation   PC_SYNC  and stops sending characters until it receives a synchronisation  acknowledgement  MOBILE_SYNC_ACK   from the mobile  When the bootloader  encounters PC_SYNC  it enters a loop that reads characters from the UART and  discards them  When no more characters are received  the bootloader sends  MOBILE_SYNC_ACK  Now the application and the bootloader are synchronised  again     7 1 4 Command loop    During the command phase  the bootloader is basically executing a loop in which it is  waiting for commands to be sent by the PC application  These commands are then  executed by the bootloader and an appropriate response is send to the application  If  the communication loses synchronisation  it is the responsibility of the application to  re synchronise  Whenever the bootloader times out while waiting for a command  it  sends a MOBILE_ASTRAY code to the PC  this is useful for debugging  to check  whether the phone is still alive      The command loop is terminated by one of two events     e the wait for a command times out  The bootloader aborts the communication and starts the stack code in flash  memory     e the PC_DONE command is received  The bootloader transfers control to the code at the beginning of RAM     A flow chart of the command phase protocol phase is shown below     OptiFlash and CmdFlash Utilities Page 23 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems  Reference Platform Group 
31. ts of the flash memory in the phone     ERR_WRONG_DLL  Both OptiFlash and CmdFlash consist of an executable  the GUI and the  command line interpreter respectively   and a DLL  The version numbers of the  executable and the DLL do not match     ERR_WRONG_FLASHLOADER  The specified flash loader is not suitable for this type of phone     ERR_WRONG_LOADERFILE  The SRE file containing the flash loader is invalid in some way     ERR_WRONG_LOADFILE  The SRE file containing the image to be loaded is invalid in some way     ERR_WRONG_READLENGTH  An invalid memory range has been given for a read operation     ERR_WRONG_SAVEFILE  An invalid filename was specified for the SRE file into which data read from the  phone is to be saved           OptiFlash and CmdFlash Utilities Page 13 of 27    Agere Systems Proprietary    Optimay GmbH  a subsidiary of Agere Systems 15 Oct 02  Reference Platform Group Copyright    Optimay GmbH  All rights reserved    4 Using CmdFlash    The command line utility    CmdFlash exe    is intended for use in batch files and Perl  scripts  It supports the same set of operations and options that OptiFlash does   A few notes about the command line options     The order and the case of command line options is not important   e Ifthe value of an option  i e  the right side of the          contains blanks  the value  has to be enclosed in double quotations marks   e Unless otherwise stated below  if an option is specified more than once  then it  is the last occurrence
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
AMS-210E MANUAL DE INSTRUCCIONES (ESPANOL)  Roadie 4K45 Kurzanleitung  (PDF  さ、中へどうぞ いまお茶の 支度をするわね  Models 142A, 142B, and 142C Preamplifiers Operating  Samsung Galaxy Mega Kasutusjuhend(KK)  Vulcan - DMC Equipamentos  Safety information  Graphic Panel GP-S070    Copyright © All rights reserved. 
   Failed to retrieve file