Firmware update via FoE

With SOMANET platform you have a possibility to update your firmware via a field bus communication interface. Currently this possibility exists only for EtherCAT bus but soon more options will be available.

Preparing an upgrade binary image

  1. Compile you application in a standard way. Please use Release build option in the build configuration.

  2. With a terminal please navigate to your bin/Release folder:

    cd sc_sncn_ethercat_drive/examples/app_slave_ethercat_motorcontrol/bin/Release

    The name for the binary upgrade image should start with ‘app_’ prefix and have ‘.bin’ extension, otherwise it will be treated as a file and written to a data partition. One example of a valid upgrade image name would be app_ethercat_firmware.bin. A minimum valid example would be app_ethercat.bin. As a recommendation please try to keep names short.

    Convert .xe file to .bin using the following command:

    xflash --noinq --factory-version 14.3 --upgrade 1 app_slave_ethercat_motorcontrol.xe -o app_ethercat_firmware.bin

Deploying your update image

  1. Switch SOMANET Drive to boot mode using the following command:

    ethercat states boot

    or for multi-node setup:

    ethercat states -p <node_position> boot

    e.g., for the first node in your topology use

    ethercat states -p 0 boot

    Check current status using the command:

    ethercat slaves

    If SOMANET drive was switched to boot mode successfully, command gets result:

    $0  0:0  BOOT  +  SOMANET CiA402 Drive
  2. Deploy your firmware upgrade image via FoE using the following command:

    ethercat foe_write app_ethercat_firmware.bin

    or for multi-node setup:

    ethercat foe_write -p <node_position> app_ethercat_firmware.bin

    While deploying the application file, LED on Core C22 board will be blinking green-red. After the new firmware is uploaded successfully the LED will slowly change colors to indicate it’s waiting state. A change to PREOP state with

    ethercat states PREOP

    or for multi-node setup:

    ethercat states -p <node_position> PREOP

    will start the firmware and your SOMANET Drive is ready to operate:

    $0  0:0  PREOP  +  SOMANET CiA402 Drive

    At any time you can check the state of your slave device by executing the following command:

    ethercat slaves