mcs

A command of the separate bcma command line; see Commands for other chip families.

Microcontroller subsystem management.

mcs load <filename> [UC=<MCSnum>] [AutoConFiG=yes|no]\
[StartUC=yes|no] [StartMSG=yes|no] [<resources>]
status [<MCSnum>] [ShowConFiG=yes/no] [ShowDeBuG=yes/no]
console <MCSnum> [start|stop]
message <init|start|stop> [<MCSnum>|all]
rm <MCSnum> <release|show|sync> [<used|free|all>]
tod <set|get> [<nano_seconds_value>]
shutdown <MCSnum>

Built-in help

The load command is used to download and execute firmware for a
microcontroller subsystem on a switch device.
Options supported by the load command:
    <filename>          - The firmware file name to download. 'NONE'
                          to skip firmware download.
    UC=<MCSnum>         - Microprocessor subsystem ID (0, 1, etc.)                          Select uC automatically if undefined
    AutoConFiG=<YES/no> - Set config-options automatically for standard                          eApps. Ignores the <resources> parameters
    StartUC=<YES/no>    - Start the microcontroller after downloading
                          the firmware.
    StartMSG=<YES/no>   - Start the uKernel Messaging service after
                          starting the micrcontroller.
    <resources>         - resources required by this firmware
                          load will be aborted if insufficient resources
        SRamSiZe=<int>      - Size (in bytes) of the SRAM area to be
                              used by the firmware. This should conform
                              to the firmware application requirements.
        SRamUncSiZe=<int>   - Size (in bytes) of uncached SRAM to be
                              used by the firmware. This value should
                              be less than SRamSiZe.
        HostRamSiZe=<int>   - Size (in bytes) of the HostRAM area to be
                              used by the firmware.
        NumSbusDMA=<int>    - Number of SBUSDMA Channels required
                              by the firmware.
        NumPktDMA=<int>     - Number of packet DMA Channels required
                              by the firmware.
        NumSchanFIFO=<int>  - Number of Schan FIFO Channels required
                              by the firmware.

The status command displays the firmware version as well as various
debug information
Options supported by the status command:
    <MCSnum>            - Microprocessor subsystem ID (0, 1, etc.)
                          If not specified, the status for all
                          MCS cores will be shown.
    ShowConFiG=<yes/NO> - Show the config-options of the firmware.
    ShowDeBuG=<yes/NO>  - Show extra debug info from the firmware.
    Quick=<yes/NO>      - Quick status without FW version.

The console command provides access to the MCS UART console.
Options supported by the console command:
    <MCSnum>            - Microprocessor subsystem ID (0, 1, etc.)
    start               - Start showing MCS UART console output.
    stop                - Stop showing MCS UART console output.
    cmd <command>       - Send a command to the uKernel CLI.
                          Enclose command in quotes if multiple words.
If neither start or stop or cmd is specified, the command will open an
mcs shell to the uKernel CLI. Type 'quit' or 'exit' to leave this shell.

The message command provides access to the MCS messaging control APIs.
Options supported by the message command:
    init                - init the messaging infrastructure
    start               - Start messaging on <MCSnum>.
    stop                - Stop messaging on <MCSnum>.
    <MCSnum>            - Microprocessor subsystem ID (0, 1, etc.)
    all                 - Start/Stop messaging for all uC.
<MCSnum|all> is must for start / stop operations. Unused for init

The rm command provides access to different resource manager (RM)
functionalities and information
Options supported by the rm command:
    <MCSnum>            - Microprocessor subsystem ID (0, 1, etc.)
    release             - Releases RM resources reserved by <MCSnum>.
    show                - Shows resources handled by the RM.
      used              - Shows resources reserved by <MCSnum>.
      free              - Shows free resources available for <MCSnum>.
      all               - Shows total resources accessible by <MCSnum>.
    sync                - Syncs the SDK's copy of used resources with
                          the FW's copy. To be used after a WB or FFB


The used, free and all options are valid only for "show"subcommand.
The free and all options show resources available for each MCS core,
including the common resources, i.e reservation by one MCS core will
take it away from the other MCS cores that has access to it.

The tod command provides way to set/get user configured time value.
Options supported by the tod command:
    set         - Set the user configured time value <nano_seconds>.
    get         - Get the user configured time value in nano_seconds.

The shutdown command sends a shutdown message to the
firmware, stops messaging and resets the microcontroller.

Built-in examples

load BCMxxx_bfd.srec srsz=0x4000
status
console 0
message start 0
rm 0 show used
tod set 0x1234567
shutdown 0