Spiflashctl: Difference between revisions
(Created page with "= Overview = =Usage= == Help == <source lang=bash> Usage: spiflashctl [OPTION] ... ...") |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
The userspace utility spiflashctl is the software layer that presents an NBD device to the NOR flash. | |||
= Usage = | |||
spiflashctl would usually be called with something similar to this: | |||
<source lang=bash> | |||
spiflashctl --lun 1 --nbdserver lun0:disc,lun0:part1,lun0:part2,lun0:part3 | |||
</source> | |||
''' --lun 1 ''' | |||
This specifies which chip select you want to use. Typically we will use chip select 1 for offboard flash, and 0 for onboard flash. | |||
''' --nbdserver lun0:disc,lun0:part1,lun0:part2,lun0:part3 ''' | |||
This sets up an nbd server with the various partitions and raw block devices. | |||
lun0:disc will create the raw block device at port 7525. | |||
lun0:part1 will create the first partition at port 7526. | |||
lun0:part2 will create the first partition at port 7527. | |||
== Connecting a client == | |||
You can set up any number of partitions you need this way. The network block device ports are accessed using the standard nbd-client. Typically they will be invoked like this: | |||
<source lang=bash> | |||
nbd-client 127.0.0.1 7525 /dev/nbd0 | |||
nbd-client 127.0.0.1 7526 /dev/nbd1 | |||
nbd-client 127.0.0.1 7527 /dev/nbd2 | |||
nbd-client 127.0.0.1 7528 /dev/nbd3 | |||
nbd-client 127.0.0.1 7529 /dev/nbd4 | |||
</source> | |||
This way /dev/nbd0 will be the block device, /dev/nbd1 will be the first partition, and so on. | |||
== Help == | == Help == | ||
<source lang=bash> | <source lang=bash> |
Latest revision as of 09:39, 16 December 2011
Overview
The userspace utility spiflashctl is the software layer that presents an NBD device to the NOR flash.
Usage
spiflashctl would usually be called with something similar to this:
spiflashctl --lun 1 --nbdserver lun0:disc,lun0:part1,lun0:part2,lun0:part3
--lun 1
This specifies which chip select you want to use. Typically we will use chip select 1 for offboard flash, and 0 for onboard flash.
--nbdserver lun0:disc,lun0:part1,lun0:part2,lun0:part3
This sets up an nbd server with the various partitions and raw block devices.
lun0:disc will create the raw block device at port 7525.
lun0:part1 will create the first partition at port 7526.
lun0:part2 will create the first partition at port 7527.
Connecting a client
You can set up any number of partitions you need this way. The network block device ports are accessed using the standard nbd-client. Typically they will be invoked like this:
nbd-client 127.0.0.1 7525 /dev/nbd0
nbd-client 127.0.0.1 7526 /dev/nbd1
nbd-client 127.0.0.1 7527 /dev/nbd2
nbd-client 127.0.0.1 7528 /dev/nbd3
nbd-client 127.0.0.1 7529 /dev/nbd4
This way /dev/nbd0 will be the block device, /dev/nbd1 will be the first partition, and so on.
Help
Usage: spiflashctl [OPTION] ...
Technologic Systems SPI flash manipulation.
General options:
-R, --read=N Read N blocks of flash to stdout
-W, --write=N Write N blocks to flash
-x, --writeset=BYTE Write BYTE as value (default 0)
-i, --writeimg=FILE Use FILE as file to write to flash
-t, --writetest Run write speed test
-r, --readtest Run read speed test
-n, --random=SEED Do random seeks for tests
-z, --blocksize=SZ Use SZ bytes each sdread/sdwrite call
-k, --seek=SECTOR Seek to 512b sector number SECTOR
-V, --verify Verify reads and writes
-e, --erase Erase entire device
-d, --nbdserver=NBDSPEC Run NBD userspace block driver server
-Q, --stats Print NBD server stats
-I, --bind=IPADDR Bind NBD server to IPADDR
-l, --lun=N Use chip number N
-P, --printmbr Print MBR and partition table
-M, --setmbr Write MBR from environment variables
-h, --help This help
When running a NBD server, NBDSPEC is a comma separated list of
devices and partitions for the NBD servers starting at port 7525.
e.g. "lun0:part1,lun1:disc" corresponds to 2 NBD servers, one at port
7525 serving the first partition of chip #0, and the other at TCP
port 7526 serving the whole disc device of chip #1.