Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:eval-adtf3175d-nxz:system_update [07 Feb 2023 19:50] – Added Full NVM Update Andre Straker-Payneresources:eval:user-guides:eval-adtf3175d-nxz:system_update [26 Feb 2024 16:28] (current) – removed nvm update details. Andre Straker-Payne
Line 1: Line 1:
 ====== System Update ====== ====== System Update ======
  
-This page covers the methods of updating the flash+This page covers the methods of updating the flash.
  
 ===== Firmware Update ===== ===== Firmware Update =====
  
 +Firmware can be updated via the bin file.
  
-===== Full Flash/NVM Update =====+In general, the data_collect executable is used to update the firmware. This can be done from the host or on the device.
  
-The imager module includes a flash/NVM that contains all firmware and calibration parameters for to enable the imager (ADSD3100 or ADSD3030) and the ADSD3500. +The firmware binary file for the latest version is available on the respective flash imageThe binary file can also be obtained from the ADSD3500 installerFrom the installer package, under the directory ADSD3500_Release_Firmware, the binary file requiredin this case, for the 4.1.5 firmware release
- +  * Fw_Update_4.1.5.bin
-Updating the full flash should only be done if absolutely needed. +
- +
-==== Generating the Flash Image ==== +
- +
- +
- +
-==== Programming the Flash ==== +
- +
-<note important>Do NOT attempt this if you are unsure.</note> +
- +
-It is also possible to reprogram the full NVM/flash of the module +
- +
-On the file system of the evaluation platform see the directory ///home/analog/Workspace/host_boot_tools//+
- +
-This procedure requires the ADSD3500 firmware streamsimager CFG and a CCB. +
- +
-While the CCB can be read via the ADSD3500at this point the CFG cannotThis will be rectified in future versions of the ADSD3500 firmware+
- +
-These operations are done entirely on the embedded Linux platform. +
- +
-The following steps are required+
-  - Read the CCB from the device. +
-  - Build the new NVM/flash image. +
-  - Program the NVM/flash via Pulsatrix. +
- +
-=== Read the CCB ===+
  
 +From the host:
 <code> <code>
-cd  ~/Workspace/host_boot_tools/Flashing_bin_img +cd "C:\Analog Devices\ADTF3175D\TOF_Evaluation_ADTF3175D-Rel4.1.1\bin" 
-./CCB my_ccb_file.ccb+data_collect --fw ..\image\NXP-Img-Rel4.1.1-ADTF3175D-0A8ED2B5\Fw_Update_4.1.5.bin --ip 10.42.0.1 tof-viewer_config.json
 </code> </code>
  
-For example: +In either case wait for 60s before restarting the system.
- +
-<code> +
-analog@aditof:~$ cd  ~/Workspace/host_boot_tools/Flashing_bin_img +
-analog@aditof:~/Workspace/host_boot_tools/Flashing_bin_img$ ./CCB_READ my_ccb_file.ccb +
-Done reading response header +
-Packets Needed: 86 +
-Packet number : 1 / 86 +
-Packet number : 2 / 86 +
-Packet number : 3 / 86 +
-Packet number : 4 / 86 +
-Packet number : 5 / 86 +
-Packet number : 6 / 86 +
-Packet number : 7 / 86 +
-Packet number : 8 / 86 +
-Packet number : 9 / 86 +
-Packet number : 10 / 86 +
-Packet number : 11 / 86 +
-Packet number : 12 / 86 +
-Packet number : 13 / 86 +
-Packet number : 14 / 86 +
-Packet number : 15 / 86 +
-Packet number : 16 / 86 +
-Packet number : 17 / 86 +
-Packet number : 18 / 86 +
-Packet number : 19 / 86 +
-Packet number : 20 / 86 +
-Packet number : 21 / 86 +
-Packet number : 22 / 86 +
-Packet number : 23 / 86 +
-Packet number : 24 / 86 +
-Packet number : 25 / 86 +
-Packet number : 26 / 86 +
-Packet number : 27 / 86 +
-Packet number : 28 / 86 +
-Packet number : 29 / 86 +
-Packet number : 30 / 86 +
-Packet number : 31 / 86 +
-Packet number : 32 / 86 +
-Packet number : 33 / 86 +
-Packet number : 34 / 86 +
-Packet number : 35 / 86 +
-Packet number : 36 / 86 +
-Packet number : 37 / 86 +
-Packet number : 38 / 86 +
-Packet number : 39 / 86 +
-Packet number : 40 / 86 +
-Packet number : 41 / 86 +
-Packet number : 42 / 86 +
-Packet number : 43 / 86 +
-Packet number : 44 / 86 +
-Packet number : 45 / 86 +
-Packet number : 46 / 86 +
-Packet number : 47 / 86 +
-Packet number : 48 / 86 +
-Packet number : 49 / 86 +
-Packet number : 50 / 86 +
-Packet number : 51 / 86 +
-Packet number : 52 / 86 +
-Packet number : 53 / 86 +
-Packet number : 54 / 86 +
-Packet number : 55 / 86 +
-Packet number : 56 / 86 +
-Packet number : 57 / 86 +
-Packet number : 58 / 86 +
-Packet number : 59 / 86 +
-Packet number : 60 / 86 +
-Packet number : 61 / 86 +
-Packet number : 62 / 86 +
-Packet number : 63 / 86 +
-Packet number : 64 / 86 +
-Packet number : 65 / 86 +
-Packet number : 66 / 86 +
-Packet number : 67 / 86 +
-Packet number : 68 / 86 +
-Packet number : 69 / 86 +
-Packet number : 70 / 86 +
-Packet number : 71 / 86 +
-Packet number : 72 / 86 +
-Packet number : 73 / 86 +
-Packet number : 74 / 86 +
-Packet number : 75 / 86 +
-Packet number : 76 / 86 +
-Packet number : 77 / 86 +
-Packet number : 78 / 86 +
-Packet number : 79 / 86 +
-Packet number : 80 / 86 +
-Packet number : 81 / 86 +
-Packet number : 82 / 86 +
-Packet number : 83 / 86 +
-Packet number : 84 / 86 +
-Packet number : 85 / 86 +
-Packet number : 86 / 86 +
-Binary size : 175148 +
- +
-CCB checksum correct! +
-analog@aditof:~/Workspace/host_boot_tools/Flashing_bin_img$ ls -la my_ccb_file.ccb +
--rw-rw-r-- 1 analog analog 175144 Feb  7 18:35 my_ccb_file.ccb +
-</code> +
- +
-=== Build the New NVM/Flash Image === +
- +
-<code> +
-~/Workspace/host_boot_tools/Flashing_bin_img/Flash_Binary_generator +
-./flash_gen -F -A -D ../my_ccb_file.ccb -X ./Crosby_FF_MP200_QMP150_ACC_noPCM.cfg -P adsd3500_fw_3_2_2.stream -Q adsd3500_fw_3_2_2.stream -R adsd3500_fw_3_2_2.stream -L -I Init_firmware_apps_board_25MHZ.stream +
-</code> +
- +
-For example: +
-<code> +
-analog@aditof:~/Workspace/host_boot_tools/Flashing_bin_img/Flash_Binary_generator$ ./flash_gen -F -A -D ../my_ccb_file.ccb -X ./Crosby_FF_MP200_QMP150_ACC_noPCM.cfg -P adsd3500_fw_3_2_2.stream -Q adsd3500_fw_3_2_2.stream -R adsd3500_fw_3_2_2.stream -L -I Init_firmware_apps_board_25MHZ.stream +
-sizeof(CCB) : 0x40000   262144 +
-sizeof(INIT) : 0x3000   12288 +
-sizeof(PF) : 0x20000   131072 +
-sizeof(PC) : 0x20000   131072 +
-sizeof(PU) : 0x20000   131072 +
-sizeof(CDEBUG) : 0x4000   16384 +
-sizeof(IMAGER) : 0x10000   65536 +
-sizeof(CAP_CHUNK) : 0x1000   4096 +
-FILE_HEADER +
-file_header.chunkHeaderCRC = 0xbb1bb508 +
-file_header.nextChunkHeader = 0x1000 +
-CAPABILITIES CHUNK +
-cap_t.header.nextChunkHeader = 0x2000 +
-cap_size = 40 +
-cap.header.chunkSizeBytes = 0x44 +
-cap_t.header.chunkHeaderCRC = 0xad6384e4 +
-cap_crc = 0x36362162 +
-D = ../my_ccb_file.ccb +
-optind=4 +
-ccb.header.nextChunkHeader = 270336 +
-ccb_size = 2ac28 +
-ccb.header.chunkSizeBytes = 2ac2c +
-ccb.header.chunkHeaderCRC = 0x2ef9475d +
-ccb_crc = 0x761ea8a5 +
-X = ./Crosby_FF_MP200_QMP150_ACC_noPCM.cfg +
-optind=6 +
-imager.header.nextChunkHeader = 0x52000 +
-imager_size = e772 +
-imager.header.chunkSizeBytes = e776 +
-imager.header.chunkHeaderCRC = 0xd954c29e +
-imager_crc = 0xd60bb444 +
-P = adsd3500_fw_3_2_2.stream +
-optind=8 +
-pf.header.nextChunkHeader = 72000 +
-pf_size = 167ac +
-pf.header.chunkSizeBytes = 167ac +
-Q = adsd3500_fw_3_2_2.stream +
-optind=10 +
-pc.header.nextChunkHeader = 92000 +
-pf_size = 167ac +
-pc.header.chunkSizeBytes = 167ac +
-R = adsd3500_fw_3_2_2.stream +
-optind=12 +
-pc.header.nextChunkHeader = b2000 +
-pf_size = 167ac +
-pu.header.chunkSizeBytes = 167ac +
-last_chunk = 1 +
-I = Init_firmware_apps_board_25MHZ.stream +
-optind=15 +
-init.header.nextChunkHeader = 0 +
-init_size = 208c +
-init.header.chunkSizeBytes = 2090 +
-init.header.chunkHeaderCRC = 0x7d0e005f +
-analog@aditof:~/Workspace/host_boot_tools/Flashing_bin_img/Flash_Binary_generator$ ls -la flash.bin +
--rw-rw-r-- 1 analog analog 741376 Feb  7 18:41 flash.bin +
-</code> +
- +
-=== Program the NVM/flash via Pulsatrix === +
-<code> +
-cd ~/Workspace/host_boot_tools/Flashing_bin_img +
-./FW_UPDATE Flash_Binary_generator/flash.bin +
-</code> +
- +
-When complete, let the system perform the update for 1 minutes. From 4.2.0 of the ADSD3500 firmware, an indication of completion or failure will be available from the ADSD3500. +
- +
-For example: +
-<code> +
-analog@aditof:~/Workspace/host_boot_tools/Flashing_bin_img$ ./FW_UPDATE Flash_Binary_generator/flash.bin +
-Size of Binary: 741376 +
-Packets Needed: 2896 +
-Actual size (after padding): 741376 +
-Computed CRC: 7629939a +
-Header data: ad00011200500b006e0000009a932976 +
-Packet number: 2896 / 2896 +
-Done +
-</code>+
resources/eval/user-guides/eval-adtf3175d-nxz/system_update.1675795844.txt.gz · Last modified: 07 Feb 2023 19:50 by Andre Straker-Payne