This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
built_in_firmware_update [2013/06/14 10:50] – ab | built_in_firmware_update [2014/04/14 16:34] – ba | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== Firmware update |
{{: | {{: | ||
This VI performs a software update from sd card.\\ | This VI performs a software update from sd card.\\ | ||
\\ | \\ | ||
+ | |||
+ | A application that was built to boot from [[hw: | ||
===== Detailed operation ===== | ===== Detailed operation ===== | ||
Line 8: | Line 10: | ||
- A reset is executed. | - A reset is executed. | ||
- The device boots into the boot loader application | - The device boots into the boot loader application | ||
- | - If a display | + | - If a display |
- | - The boot loader application looks for a *.zfu file in the root directory | + | - The boot loader application looks for a *.zfu file in the root directory. |
- | - The following points are checked: | + | - The following points are checked |
- Is there exactly one *.zfu file in the root directory? | - Is there exactly one *.zfu file in the root directory? | ||
- Is there a *.ldr file with the same name in the same directory? | - Is there a *.ldr file with the same name in the same directory? | ||
Line 16: | Line 18: | ||
- Does the check sum in the zfu file match the calculated check sum of the loader file? | - Does the check sum in the zfu file match the calculated check sum of the loader file? | ||
- Does the target in the zfu file match the target the boot loader was built for? | - Does the target in the zfu file match the target the boot loader was built for? | ||
- | - The ldr file is flashed into the boot flash if all points under 5. are ok. | + | - If all points above are ok, the ldr file is flashed into the boot flash. |
- A reset is executed | - A reset is executed | ||
- The flashed application is started | - The flashed application is started | ||
+ | |||
+ | ===== Operation without display ===== | ||
+ | |||
+ | If no display refnum is wired to the vi, the firmware update is performed without display. | ||
Line 39: | Line 45: | ||
* **chksum** The check sum must match the check sum built over the loader file. | * **chksum** The check sum must match the check sum built over the loader file. | ||
* **size** The size must match the size of the loader file in bytes. | * **size** The size must match the size of the loader file in bytes. | ||
- | * **deletme** If this parameter is 1 the zfu file will be deleted after the update. | + | * **deletme** If this parameter is 1 the zfu file will be deleted after the update. This can be used to prevent from repeatedly flashing the same update. |
* **waitbeforereset** The target waits for the given seconds before resetting the board after the update. No reset is issued (reset or power cycle must be initiated manually) when this parameter is 0. | * **waitbeforereset** The target waits for the given seconds before resetting the board after the update. No reset is issued (reset or power cycle must be initiated manually) when this parameter is 0. | ||
Line 53: | Line 59: | ||
===== Limitations ===== | ===== Limitations ===== | ||
- | * If the update process is interrupted by a reset or a power cycle, the firmware update will be corrupt. In this case the device needs to be reprogrammed manually. | + | |
* The flashed application is responsible to start the boot loader application. There is no by pass. It is crucial to test the firmware update functionality in new application versions before shipment. | * The flashed application is responsible to start the boot loader application. There is no by pass. It is crucial to test the firmware update functionality in new application versions before shipment. | ||
* Older targets and SDKs are not supported. | * Older targets and SDKs are not supported. | ||