Changeset 2694


Ignore:
Timestamp:
Nov 21, 2011, 1:23:36 AM (3 years ago)
Author:
quozl
Message:

OLPC - save-mfg-data, restore-mfg-data, use new flash interface, use u:\ instead of disk:\, tested on XO-1, XO-1.5, XO-1.75.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dev/olpc/spiflash/spiui.fth

    r2561 r2694  
    124124   then                      ( sn$ ) 
    125125 
    126    " disk:\" "temp place    ( sn$' ) 
    127  
    128    dup 8 >  if              ( sn$ ) 
    129       over 8 "temp $cat     ( sn$ ) 
    130       8 /string             ( sn$' ) 
    131       " ."   "temp $cat     ( sn$ ) 
    132    then                     ( sn$ ) 
    133    "temp $cat               ( ) 
    134    "temp count              ( filename$ ) 
     126   " u:\" "temp place        ( sn$' ) 
     127 
     128   dup 8 >  if               ( sn$ ) 
     129      over 8 "temp $cat      ( sn$ ) 
     130      8 /string              ( sn$' ) 
     131      " ."   "temp $cat      ( sn$ ) 
     132   then                      ( sn$ ) 
     133   "temp $cat                ( ) 
     134   "temp count               ( filename$ ) 
    135135; 
    136136 
    137137: save-mfg-data  ( -- ) 
    138    make-sn-name      ( name$ ) 
    139    ." Creating " 2dup type cr 
     138   flash-open 
     139   make-sn-name                               ( name$ ) 
     140   ." Creating " 2dup type cr                 ( name$ ) 
    140141   $create-file                               ( ihandle ) 
    141142   dup 0= abort" Can't create file"   >r      ( r: ihandle ) 
    142143   mfg-data-buf /flash-block                  ( adr len  r: ihandle ) 
    143144   2dup mfg-data-offset  flash-read           ( adr len r: ihandle ) 
    144    " write" r@ $call-method                   ( r: ihandle ) 
    145    r> close-dev 
     145   " write" r@ $call-method                   ( wlen r: ihandle ) 
     146   r> close-dev                               ( wlen r: ihandle ) 
     147   /flash-block <> abort" Can't write file"   ( r: ihandle ) 
     148   flash-close 
    146149; 
    147150: restore-mfg-data  ( "filename" -- ) 
     151   flash-open 
    148152   reading 
    149    ifd @ fsize  dup /flash-block <>  if  ( len ) 
    150       drop  ifd @ fclose                ( ) 
     153   ifd @ fsize  dup /flash-block <>  if       ( len ) 
     154      drop  ifd @ fclose                      ( ) 
    151155      true abort" File is the wrong size - should be 65536 bytes" 
    152    then                                 ( len ) 
    153    mfg-data-buf  swap                   ( adr len ) 
    154    2dup ifd @ fgets drop                ( adr len ) 
    155    ifd @ fclose 
    156  
    157    flash-write-enable 
    158    mfg-data-offset flash-erase-block    ( adr len ) 
    159    mfg-data-offset flash-write          ( ) 
    160    flash-write-disable                  ( ) 
     156   then                                       ( len ) 
     157   mfg-data-buf  swap                         ( adr len ) 
     158   2dup ifd @ fgets drop                      ( adr len ) 
     159   ifd @ fclose                               ( adr len ) 
     160   flash-write-enable                         ( adr len ) 
     161   mfg-data-offset flash-erase-block          ( adr len ) 
     162   mfg-data-offset flash-write                ( ) 
     163   flash-write-disable                        ( ) 
     164   flash-close                                ( ) 
    161165; 
    162166[then] 
Note: See TracChangeset for help on using the changeset viewer.