ts-7000
[Top] [All Lists]

Re: [ts-7000] ts_utils documentation?

To:
Subject: Re: [ts-7000] ts_utils documentation?
From: Michael Schmidt <>
Date: Thu, 26 Feb 2009 15:52:27 -0700
odonovan_dan wrote:
> Hi
> 
> Does anyone know where I might find documentation for the various
> ts-utils binaries at
> ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7200-linux/binaries/ts-utils/ ?

I wrote a few of these utilities, so I can tell you how to use the ones 
I wrote.  I'm not sure if somebody else has written documentation for 
them in one of the manuals.

> I'm particularly interested in the mtd* utils, but I haven't a clue
> what exactly they do or how to use them and I'm afraid of the damage I
> could do with those tools if I didn't use them correctly.

'mtdcopy' will copy a file between the local filesystem and an MTD 
partition.  If you give 3 arguments (source file, partition number, and 
block number) it will copy the source file to the partition number 
starting at the given block number as offset.  (Typically you will give 
'0' for block number; I can't remember why the option to specify an 
offset was provided.)  If you give 4 arguments (partition number, block 
number, byte count, and destination file) it will copy the specified 
number of bytes of data from the partition number specified, starting at 
the block number (again, typically '0').

The mtdcopy utility is mainly intended for copying a kernel or initrd 
image from flash (to back it up) or to flash (to overwrite the existing).

'mtderase' takes one argument - the partition number - and will erase 
all the blocks on that partition.

'mtdinfo' takes one argument - the name of a file in /dev/mtd 
corresponding to the partition you want info about, and it just spits 
out all the information about that partition - block (erase) sizes, oob 
info, etc.

'mtdoob' takes 3 arguments (partition number, block number, sector) and 
dumps the out of band data for those sectors in a format similar to hexdump.

As the names suggest, all the mtd* utilities use the mtd layer of the 
kernel (as opposed to bypassing the layer and talking directly to the 
flash).  One practical implication of this is that if your mtd layer 
doesn't permit you to erase bad blocks you won't be able to with these 
utilities.  (Typically this is the case, as normally you don't want to 
try to erase a bad block.  However, occasionally a block - or multiple 
blocks - will be erroneously marked bad, in which case you will want to 
erase them.  This requires you to edit the source and compile a special 
kernel which allows such erasures.)

> Thanks,
> -Dan

  ______   Best Regards,
|__  __/                  Michael Schmidt
    ||                   Software Engineer
    ||echnologic Systems (EmbeddedARM.com)
    || (480)        16525 East Laser Drive
    |/ 837-5200   Fountain Hills, AZ 85268
        http://oz.embeddedarm.com/~michael


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU