flash man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

FLASH(3)							      FLASH(3)

NAME
       flash - flash memory

SYNOPSYS
       bind -a #F[n] /dev
       /dev/flash
       /dev/flash/part
       /dev/flash/partctl

DESCRIPTION
       The  flash memory device serves a two-level directory, giving access to
       files representing part or all of a bank of flash memory.   A  platform
       might  have more than one bank of flash, numbered starting from 0.  The
       attach specifier n is a decimal integer that selects a particular  bank
       of flash (default: 0).  Both NOR and NAND flash is supported.  For both
       types of flash, the driver gives a read/write/erase  interface  to  the
       raw  flash  device,  which  can impose constraints on operations beyond
       those imposed by the driver.  Other drivers such as ftl(3) or  logfs(3)
       implement  any  higher-level  format  required,	including ECC for NAND
       flash, for instance.

       The top level directory contains a single  directory  named  flash  for
       bank  0,	 and  flashn for each other bank n.  It contains two files for
       each partition: a  data	file  part  and	 an  associated	 control  file
       partctl,	 where part is the name of the partition.  Each partition rep‐
       resents a region of flash memory that starts and ends on a  flash  seg‐
       ment  (erase  unit)  boundary.	The  system initially creates a single
       standard partition flash representing the whole of  flash  memory,  and
       the  corresponding control file flashctl.  Other partitions can be cre‐
       ated by writing to flashctl as described below.

       The data file part provides read and write access to the bytes  on  the
       system's	 flash	memory.	  Bytes	 can  be  read and written on any byte
       boundary: the interface	hides  any  alignment  restrictions.   A  read
       returns	the  value of the bytes at the current file offset, where zero
       is the start of the partition.  A write reprograms  the	flash  to  the
       given byte values, at the current file offset (relative to the start of
       the partition), using the physical  device's  reprogramming  algorithm.
       An  erased  flash byte is logically 0xFF (regardless of the conventions
       of the physical flash device).  A write can change a bit with  value  1
       to  a 0, but cannot change a 0 bit to 1; that can only be done by eras‐
       ing one or more flash segments.	NAND flash typically has  restrictions
       on  the	number	of  writes  allowed to a page before requiring a block
       erase.

       The control file partctl can be read and written.  A read returns  sev‐
       eral  lines  containing	decimal	 and hexadecimal numbers (separated by
       white space) revealing the characteristics of memory within the	parti‐
       tion.   The first line gives the the manufacturer ID,  the flash device
       ID, the memory width in bytes, and a string giving the flash type (cur‐
       rently  either  nor or nand).  Subsequent lines give characteristics of
       each group of erase units within the partition, where the  erase	 units
       within a group have the same properties.	 Each line gives the start and
       end (as byte addresses) of the erase  units  in	the  region  that  lie
       within the partition, followed by the size in bytes of each erase unit,
       which is followed for NAND flash by the size in bytes of a  page.   The
       sizes for NAND flash include the extra bytes per page typically used to
       hold an ECC and block status.  A write contains one  of	the  following
       textual commands:

       add name start end
	      Create  a new partition that ranges from start to end within the
	      current partition.  Each value must be numeric  (decimal,	 octal
	      or  hexadecimal)	and  a	multiple of the erase unit size.  Name
	      must not be the name of an existing partition.  On success,  new
	      files  name  and	namectl will appear in the parent flash direc‐
	      tory.

       erase all
	      Erase the whole flash partition,	setting	 all  bytes  to	 0xFF,
	      except those that are hardware write-protected.

       erase offset
	      Erase  the  segment  that	 begins at the given offset within the
	      partition, setting all bytes to  0xFF,  except  those  that  are
	      hardware	write-protected.   The	offset	is given in bytes, but
	      must be a multiple of the segment (erase unit) size.

       protectboot [ off ]
	      By default the system prevents erase unit 0 of  the  flash  from
	      being  erased or written, assuming it contains the primary boot‐
	      strap.  Writing this command with	 parameter  off	 removes  that
	      protection.   Writing  protectboot  with any other parameter (or
	      none) restores the protection.  Note that a  manufacturer	 might
	      also have locked the flash in hardware, and that protection must
	      be removed in a device-dependent way.

       sync   If the underlying device must buffer or cache  (current  devices
	      do not), flush the buffer(s).

       The  syntax of all numbers is that of strtoul (in atof(2)); the default
       base is 10.

SOURCE
       /sys/src/*/devflash.c
       /sys/src/*/flash*.c

SEE ALSO
       flashfs(4), paqfs(4)

DIAGNOSTICS
       A write will return an error if an attempt is made to change a 0 bit to
       1, or if the flash memory fails to be programmed correctly.

BUGS
       The  flash  cannot  be written if the kernel is executing directly from
       flash, because the physical flash cannot be  read  during  programming,
       and the driver does not copy the programming code to DRAM.

								      FLASH(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net