fis create — Create flash image


fis create {-b data address} {-l length} [-f flash address] [-e entry] [-r relocation address] [-s data length] [-n ] [ name ]


-bNumberAddress of data to be written to the flash. Address of last loaded file. If not set in a load operation, it must be specified.
-lNumber Length of flash area to occupy. If specified, and the named image already exists, the length must match the value in the FIS directory. Length of area reserved in FIS directory if the image already exists, or the length of the last loaded file. If neither are set, it must be specified.
-fNumberAddress of flash area to occopy. The address of an area reserved in the FIS directory for extant images. Otherwise the first free block which is large enough will be used.
-eNumber Entry address for an executable image, used by the fis load command. The entry address of last loaded file.
-rNumber Address where the image should be relocated to by the fis load command. This is only relevant for images that will be loaded with the fis load command. The load address of the last loaded file.
-sNumber Actual length of data written to image. This is used to control the range over which the checksum is made. It defaults to the length of the last loaded file.
-n  When set, no image data will be written to the flash. Only the FIS directory will be updated.  
name StringName of flash image. 


This command creates an image in the FIS directory. The data for the image must exist in RAM memory before the copy. Typically, you would use the RedBoot load command to load file into RAM and then the fis create command to write it to a flash image.


Trying to create an extant image, will require the action to be verified.

RedBoot> fis create RedBoot -f 0xa0000000 -b 0x8c400000 -l 0x20000
An image named ‘RedBoot’ exists - continue (y/n)? n

Create a new test image, let the command find a suitable place.

RedBoot> fis create junk -b 0x8c400000 -l 0x20000
... Erase from 0xa0040000-0xa0060000: .
... Program from 0x8c400000-0x8c420000 at 0xa0040000: .
... Erase from 0xa0fe0000-0xa1000000: .
... Program from 0x8c7d0000-0x8c7f0000 at 0xa0fe0000: .

Update the RedBoot[RAM] image.

RedBoot> load redboot_RAM.img
Entry point: 0x060213c0, address range: 0x06020000-0x06036cc0
RedBoot> fis create RedBoot[RAM]
No memory address set.
An image named 'RedBoot[RAM]' exists - continue (y/n)? y
* CAUTION * about to program 'RedBoot[RAM]'
            at 0x00020000..0x00036cbf from 0x06020000 - continue (y/n)? y
... Erase from 0x00020000-0x00040000: ..
... Program from 0x06020000-0x06036cc0 at 0x00020000: ..
... Erase from 0x00070000-0x00080000: .
... Program from 0x0606f000-0x0607f000 at 0x00070000: .