Firmware and Board Software Update
This section describes the following topics:
Flashing tRoot remotely without SPI Flashing tool
Flashing Yocto Linux Image
Note
Before running any of the below steps, check if your board is already running using the latest software release:
sima-user@sima-user-machine:~$ ssh sima@<BOARD_IP_ADDRESS>
The authenticity of host '10.42.0.240 (10.42.0.240)' can't be established.
ED25519 key fingerprint is SHA256:mTD8tqYTR/NrmVcE0pyMaVGYXpbkgJ4iJppskpDL3yM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.42.0.240' (ED25519) to the list of known hosts.
sima@10.42.0.240's password:
davinci:~$ cat /etc/build
-----------------------
Build Configuration: |
-----------------------
DISTRO = poky
DISTRO_VERSION = 4.0.10
MACHINE = davinci
DATE = 20240917
TIME = 210846
SIMA_BUILD_VERSION = 1.4.0_master_B1230
-----------------------
Layer Revisions: |
-----------------------
meta = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-poky = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-yocto-bsp = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-simaai = master:6ebb42c489f4fc53d3fc6386689baa6dc3ae5c0f -- modified
meta-oe = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-python = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-networking = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-swupdate = kirkstone:d1d4abfaf82d37c31e3cec3602d6d8d56d105185
SIMA_BUILD_VERSION
should be 1.4.0_master_B1230
If you have this version you can skip this page.
Downloading the SiMa.ai MLSoC Images
Unzipping the MLSoC Files
Let’s unzip the file under the folder where you downloaded the .tar
file:
sima-user@sima-user-machine:~$
sima-user@sima-user-machine:~$ cd Downloads/
sima-user@sima-user-machine:~/Downloads$ tar -xvf MLSoC1.4_Firmware.tar
sima-user@sima-user-machine:~/Downloads$ cd MLSoC1.4_Firmware
Updating the Firmware/tRoot Image on the Board
You can find the tRoot file named troot-upgrade-simaai-ev.swu
in this folder. We will copy this file to the board.
sima-user@sima-user-machine:~/Downloads/MLSoC1.4_Firmware$ scp troot-upgrade-simaai-ev.swu sima@{Board IP Address}:/tmp
sima@{Board IP Address}:'s password:
troot-upgrade-simaai-ev.swu 100% 0 0.0KB/s 00:00
Note
The password for the default sima user on the board is edgeai
.
Now let’s connect to the board, we can use the serial port using a tool like minicom or SSH through the ethernet port. For this example, we will use SSH.
sima-user@sima-user-machine:~/Downloads/MLSoC1.4_Firmware$ ssh sima@{Board IP Address}
davinci:~$ cd /tmp
davinci:/tmp$
Let’s update the firmware:
davinci:/tmp$ sudo swupdate -v -H simaai-image-troot:1.0 -i /tmp/troot-upgrade-simaai-ev.swu
SWUpdate v2023.05-dirty
Licensed under GPLv2. See source distribution for detailed copyright notices.
[TRACE] : SWUPDATE running : [print_registered_bootloaders] : Registered bootloaders:
[TRACE] : SWUPDATE running : [print_registered_bootloaders] : uboot loaded.
[INFO ] : SWUPDATE running : [main] : Using default bootloader interface: uboot
[INFO ] : SWUPDATE running : [main] : Running on simaai-image-troot Revision 1.0
...
[INFO ] : SWUPDATE successful ! SWUPDATE successful !
[TRACE] : SWUPDATE running : [network_initializer] : Main thread sleep again !
[INFO ] : No SWUPDATE running : Waiting for requests...
[INFO ] : SWUPDATE running : [endupdate] : SWUpdate was successful !
[DEBUG] : SWUPDATE running : [postupdate] : Running Post-update command
Wait until Flash Write is complete. Note that this will take a long time to complete (>10 minutes in some cases).
If the success message appears, power cycle the board. Verify the board boots properly by checking the version/messages in the tRoot terminal. If the board does not boot, contact support@sima.ai.
Updating the Yocto Linux Image on the Board
From Palette
You can directly update using the Palette software command. Refer to mpk firmware-upgrade.
The mpk firmware-upgrade
command allows the users to wirelessly (Over-the-Air) upgrade the firmware on the MLSoC device/s using the Palette CLI.
Note
If the board is connected over PCIe, use the slot number, -s <BOARD_SLOT_NUMBER>
instead of using the device IP address (-t <device_ip>
) or the device name (-d <device_name>
).
From the Board
You can find the Yocto Linux image file named simaai-image-palette-upgrade-davinci.swu
in this folder. We will copy this file to the MLSoC.
sima-user@sima-user-machine:~/Downloads/MLSoC1.4_Firmware$ scp simaai-image-palette-upgrade-davinci.swu sima@{Board IP Address}:/tmp
sima@{Board IP Address}:'s password:
simaai-image-palette-upgrade-davinci.swu 100% 0 0.0KB/s 00:00
To connect to the board, you can use the serial port using minicom or SSH using the Ethernet port. The example below uses the SSH method:
sima-user@sima-user-machine:~/Downloads/MLSoC1.4_Firmware$ ssh sima@{Board IP Address}
davinci:~$ cd /tmp
davinci:/tmp$
To update the Yocto Linux image:
davinci:/tmp$ sudo swupdate -v -H simaai-image-palette:1.0 -i /tmp/simaai-image-palette-upgrade-davinci.swu
The board will auto reboot after image update. Next, verify that the build version matches the updated release, by running:
sima-user@sima-user-machine:~$ ssh sima@<BOARD_IP_ADDRESS>
The authenticity of host '10.42.0.240 (10.42.0.240)' can't be established.
ED25519 key fingerprint is SHA256:mTD8tqYTR/NrmVcE0pyMaVGYXpbkgJ4iJppskpDL3yM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.42.0.240' (ED25519) to the list of known hosts.
sima@10.42.0.240's password:
davinci:~$ cat /etc/build
-----------------------
Build Configuration: |
-----------------------
DISTRO = poky
DISTRO_VERSION = 4.0.10
MACHINE = davinci
DATE = 20240917
TIME = 210846
SIMA_BUILD_VERSION = 1.4.0_master_B1230
-----------------------
Layer Revisions: |
-----------------------
meta = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-poky = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-yocto-bsp = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-simaai = master:6ebb42c489f4fc53d3fc6386689baa6dc3ae5c0f -- modified
meta-oe = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-python = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-networking = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-swupdate = kirkstone:d1d4abfaf82d37c31e3cec3602d6d8d56d105185
SIMA_BUILD_VERSION
should be 1.4.0_master_B1230