fwm
A command of the separate bcma command line; see Commands for other chip families.
Firmware Management command.
fwm query <fpkg_file>
load [Processor=<procname>[.<inst>]] <fpkg_file> [<op1> [<op2> ...]]
exec <fwname>[.<inst>] [<op1> [<op2> ...]]
status
start <procname>[.<inst>]
stop <procname>[.<inst>]
reset <procname>[.<inst>]
read [Format=x1|x2|x4] <procname>[.<inst>] <addr>
write [Format=x1|x2|x4] <procname>[.<inst>] <addr> <value>
dump [Format=x1|x2|x4] <procname>[.<inst>] <addr> <count>
log <procname>[.<inst>] init|showheap show
Built-in help
query - Query information contained in the specified firmware package
file. For example, firmware name, version, supported chips,
image format, supported operations for this firmware, etc.
load - Load firmware contained in the specified firmware package to
the processor and optionally perform operations after loaded.
If a processor instance is specified by Processor=, it will
be loaded to that processor; otherwise, default processor
specified in the firmware package file will be used instead.
The processor should be specified in the format of
<processor>[.<instance>]. For convenience, processor instance
is not case sensitive and '.0' can be omitted for the first
instance. For example, M0 and m0.0 refer to the same thing.
Optional operations can be specified following the package
file. The operations will be performed right after firmware
is loaded. This is to avoid the delay with separate commands.
See help of sub command 'exec' for more details on
operations.
exec - Perform specified operation(s) on a loaded firmware instance.
Operations are provided by firmware feature for controlling
the behavior, such as start it or change a parameter.
An operation can be supplied with an optional integer
argument (depending on the design of the operation) in the
format of <operation>[=<value>]. Default value is 0 if not
specified. For example, fwm exec LED.0 mode=1.
Multiple operations can be specified in the same command and
they will be executed in the order they're specified.
Operations are performed on the specified firmware instance
in the format of <firmware>[.<instance>]. For convenience,
the firmware instance is not case sensitive and '.0' can be
omitted for the first instance. For example, LED or led.0.
Information on loaded firmware instances can be retrieved by
sub command 'status'. If no operation is specifed, available
operations provided by the specified firmware will be listed.
status - Show status of all processors and loaded firmware instances.
start - Start the specified processor.
See 'load' for the format to specify the processor.
To get a list of available processor instances, use 'status'.
Note that these commands that work with processors directly
are provided for debugging purpose. To start/stop firmware or
control firmware behavior, use operations provided by the
firmware with 'exec' or 'load' command.
stop - Stop the specified processor.
See 'load' for the format to specify the processor.
reset - Reset the specified processor.
See 'load' for the format to specify the processor.
read - Read a value from memory of the specified processor.
<addr> is the address to read in processor view.
Format=x1: in bytes (8-bit).
Format=x2: in halfwords (16-bit).
Format=x4: in words (32-bit). It's the default.
See 'load' for the format to specify the processor.
write - Write a value to memory of the specified processor.
See 'read' for the format of <addr> and data width.
See 'load' for the format to specify the processor.
dump - Dump values from memory of the specified processor.
See 'read' for the format of <addr> and data width.
See 'load' for the format to specify the processor.
log - Initialize and show debug log for the specified processor.
The logging interface should normally be initialized before
processor is started.heap - Show the status of all the heaps.
Built-in examples
query firmware.fpkg
load firmware.fpkg start startmsg
load p=R5.0 firmware.fpkg start
exec led
exec LED start
exec led.1 disable mode=2 enable
status
start CM0.0
stop cm0.1
reset CM0
read CM0.0 0x1000
write f=x1 m0 0x1000 0xaa
dump Format=x2 M0 0x1000 0x100
log cm0.3 init
log cm0.3 showheap show