Update with Direct File Copy
In Direct File Copy method, developers can update the DevKit (MLSoC device) firmware by sending image files over the network and running update commands manually on the DevKit.
Note
Starting from firmware version
1.5
, developers can utilize a virtual Ethernet connection in PCIe mode to connect to the DevKit without physically altering the device setup. This enables seamless firmware updates over the existing PCIe connection.For developers using firmware version
1.4
or earlier in the PCIe setup, a network connection must be manually established to perform this update. This requires physically connecting the DevKit to a network in standalone mode or using the Palette-Assisted Update instead.
Warning
For a PCIe system, you need to first update the DevKit to the desired firmware version before updating the driver on the host machine.
To proceed with a direct file copy update, ensure that your host machine has a functional network connection with the DevKit. For guidance on setting up network connections in different system architectures, refer to the following:
Check if your DevKit is already running using the latest firmware release:
sima-user@sima-user-machine:~$ ssh sima@<BOARD_IP_ADDRESS> "cat /etc/build"|grep SIMA_BUILD_VERSION
sima@<BOARD_IP_ADDRESS>'s password:
SIMA_BUILD_VERSION
should be 1.6.0_Palette_FW_master_B1658
If you have this version you can skip the firmware update process.
For PCIe mode, make sure you also update the PCIe host driver.
Let us 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.6_Firmware.tar
sima-user@sima-user-machine:~/Downloads$ cd MLSoC1.6_Firmware
Note
In PCIe mode, update the host driver to ensure compatibility.
The tRoot image troot-upgrade-simaai-ev.swu
in the file extraction folder MLSoC1.6_Firmware
is a low level firmware that supports the DevKit hardware.
This is the first component that needs to be updated.
Transfer the image file to the DevKit.
sima-user@sima-user-machine:~/Downloads/MLSoC1.6_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
Now let us connect to the board using the serial port or SSH through the Ethernet port. For this example, we will use SSH.
sima-user@sima-user-machine:~/Downloads/MLSoC1.6_Firmware$ ssh sima@{Board IP Address}
davinci:~$ cd /tmp
davinci:/tmp$
Let us update the firmware:
davinci:/tmp$ sudo swupdate -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
Warning
Do not interrupt the process. This will take a long time to complete (>10 minutes in some cases).
When the success message appears, power cycle the board. Verify the DevKit boots properly by checking the version/messages in the tRoot terminal. If the DevKit does not boot, contact support@sima.ai.
Note
Perform this action only after the tRoot image update was successful.
The DevKit image simaai-image-palette-upgrade-davinci.swu
in the file extraction folder MLSoC1.6_Firmware
is the operating system and high level software that supports the DevKit.
This is the second component that needs to be updated.
sima-user@sima-user-machine:~/Downloads/MLSoC1.6_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 or SSH using the Ethernet port. The example below uses the SSH method:
sima-user@sima-user-machine:~/Downloads/MLSoC1.6_Firmware$ ssh sima@{Board IP Address}
davinci:~$ cd /tmp
davinci:/tmp$
To update the main image:
davinci:/tmp$ sudo swupdate -H simaai-image-palette:1.0 -i /tmp/simaai-image-palette-upgrade-davinci.swu
Warning
Do not interrupt the process.
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> "cat /etc/build"|grep SIMA_BUILD_VERSION
sima@<BOARD_IP_ADDRESS>'s password:
SIMA_BUILD_VERSION = 1.5.0_Palette_FW_master_B1658
SIMA_BUILD_VERSION
should be 1.6.0_Palette_FW_master_B1658