Difference between revisions of "GX camera firmware update manual"
| Line 10: | Line 10: | ||
=== Principle of Firmware Upgrade === | === Principle of Firmware Upgrade === | ||
| − | <br /> | + | All the aforementioned MIPI camera modules are equipped with I²C control interfaces, which can be used for firmware burning and parameter configuration via the standard I²C bus. The upgrade process is completed by the dedicated tool veye_gx_upgrade, which supports multiple embedded platforms. |
| + | |||
| + | === preparatory work === | ||
| + | |||
| + | ==== Download the firmware upgrade package ==== | ||
| + | |||
| + | * Download the firmware file of the corresponding model from this [https://www.mediafire.com/folder/4tov5s500gaif/camera_firmware_upgrade_images link]. | ||
| + | * The file naming format is usually: | ||
| + | |||
| + | Device model - Control version - Logic version - upgrade.bin<br />Example: GX-MIPI-IMX662_C112L106_upgrade.bin | ||
| + | |||
| + | Note: Do not modify the firmware file name, otherwise it may cause the upgrade to fail. | ||
| + | |||
| + | ==== Install the upgrade tool ==== | ||
| + | Based on your hardware platform, download the corresponding toolkit: | ||
| + | {| class="wikitable" | ||
| + | !platform | ||
| + | !Toolkit name | ||
| + | !access | ||
| + | |- | ||
| + | |Raspberry Pi | ||
| + | | rowspan="3" |veye_gx_upgrade | ||
| + | |[https://github.com/veyeimaging/raspberrypi_v4l2/tree/main/gx_i2c_tools GitHub link] | ||
| + | |- | ||
| + | |NVIDIA Jetson | ||
| + | |[https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/gx_i2c_tools GitHub link] | ||
| + | |- | ||
| + | |Rockchip RK35xx | ||
| + | |[https://github.com/veyeimaging/raspberrypi_v4l2/tree/main/gx_i2c_tools GitHub link] | ||
| + | |} | ||
| + | Download "veye_gx_upgrade" to the embedded motherboard and execute <code>chmod +x veye_gx_upgrade</code> | ||
| + | |||
| + | === Detailed explanation of upgrade procedures === | ||
| + | |||
| + | ==== Step 1: Place the firmware file ==== | ||
| + | Copy the downloaded <code>.bin</code> firmware file to the same directory as <code>veye_gx_upgrade</code>. | ||
| + | |||
| + | ==== Step 2: Confirm the I²C bus number ==== | ||
| + | Please refer to this article to determine which I2C bus the camera is connected to. | ||
| + | |||
| + | [https://wiki.veye.cc/index.php/I2c_bus_number_and_video_node i2c bus number on different boards] | ||
| + | |||
| + | If it is the customer's own board card, the I2C bus number will be defined by the customer themselves. | ||
| + | |||
| + | After confirming the i2c bus number, use "i2cdetect -y -r [i2c_bus]" to check if the i2c communication is normal. | ||
| + | |||
| + | <code>$ i2cdetect -y -r 9</code> | ||
| + | |||
| + | <code> 0 1 2 3 4 5 6 7 8 9 a b c d e f</code> | ||
| + | |||
| + | <code>00: -- -- -- -- -- -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | <code>10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | <code>20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | <code>30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --</code> | ||
| + | |||
| + | <code>40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | <code>50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | <code>60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | <code>70: -- -- -- -- -- -- -- --</code> | ||
| + | |||
| + | ==== Step 3: Perform firmware upgrade ==== | ||
| + | Run the upgrade command | ||
| + | |||
| + | <code>$ sudo ./veye_gx_upgrade [firmware file name] -b [bus number] -d [I2C address] -m [upgrade mode]</code> | ||
| + | |||
| + | -b : The total bus number obtained in Step 2 | ||
| + | |||
| + | -d : I2C address, factory default is 0x3b. After the customer makes any changes, use the updated address. | ||
| + | |||
| + | -m: Upgrade mode [0/1], the default setting is to use [0] short packet transmission, which has a slightly lower speed than [1] long packet transmission. However, it offers better compatibility for multiple manufacturer boards. | ||
| + | |||
| + | example: | ||
| + | |||
| + | <code>$ ./veye_gx_upgrade GX-MIPI-IMX662_C112L106_upgrade.bin -b 9 -d 0x3b -m 0</code> | ||
| + | |||
| + | <code>Camera version: 0x01090106</code> | ||
| + | |||
| + | <code>nanny version: 1.0</code> | ||
| + | |||
| + | <code>Upgrade file package:3</code> | ||
| + | |||
| + | <code>begin upgrade process1</code> | ||
| + | |||
| + | <code>====================================================================================================>> [100%]</code> | ||
| + | |||
| + | <code>upgrade one package success!!!</code> | ||
| + | |||
| + | <code>begin upgrade process2</code> | ||
| + | |||
| + | <code>====================================================================================================>> [100%]</code> | ||
| + | |||
| + | <code>upgrade one package success!!!</code> | ||
| + | |||
| + | <code>begin upgrade process3</code> | ||
| + | |||
| + | <code>====================================================================================================>> [100%]</code> | ||
| + | |||
| + | <code>upgrade one package success!!!</code> | ||
| + | |||
| + | <code>Camera version: 0x01120106</code> | ||
| + | |||
| + | <code>upgrade success!!</code> | ||
| + | |||
| + | <code>upgrade finish!</code> | ||
| + | |||
| + | * The upgrade process will read the current version before starting, and the latest version number will be read after the upgrade is completed. | ||
| + | * During the upgrade, a progress bar will be displayed (such as [=====> ] 45%). | ||
| + | * Please do not power off or interrupt the command throughout the process! | ||
| + | * During the upgrade, make sure that the I²C bus is only used for firmware upgrade. Do not run any other programs or scripts that may access this I²C bus (such as image acquisition, register reading and writing, etc.) to avoid communication conflicts or upgrade failure. | ||
| + | * If the upgrade fails | ||
| + | |||
| + | # Disconnect the camera power supply | ||
| + | # Re-power on | ||
| + | # Retry the upgrade command | ||
| + | |||
| + | ==== Step 4: Verify the new firmware version ==== | ||
Revision as of 11:35, 11 December 2025
Gx Series MIPI Camera Firmware Upgrade Guide
1 Applicable product models
- GX Series
Model example: GX-MIPI-IMX662
2 Principle of Firmware Upgrade
All the aforementioned MIPI camera modules are equipped with I²C control interfaces, which can be used for firmware burning and parameter configuration via the standard I²C bus. The upgrade process is completed by the dedicated tool veye_gx_upgrade, which supports multiple embedded platforms.
3 preparatory work
3.1 Download the firmware upgrade package
- Download the firmware file of the corresponding model from this link.
- The file naming format is usually:
Device model - Control version - Logic version - upgrade.bin
Example: GX-MIPI-IMX662_C112L106_upgrade.bin
Note: Do not modify the firmware file name, otherwise it may cause the upgrade to fail.
3.2 Install the upgrade tool
Based on your hardware platform, download the corresponding toolkit:
| platform | Toolkit name | access |
|---|---|---|
| Raspberry Pi | veye_gx_upgrade | GitHub link |
| NVIDIA Jetson | GitHub link | |
| Rockchip RK35xx | GitHub link |
Download "veye_gx_upgrade" to the embedded motherboard and execute chmod +x veye_gx_upgrade
4 Detailed explanation of upgrade procedures
4.1 Step 1: Place the firmware file
Copy the downloaded .bin firmware file to the same directory as veye_gx_upgrade.
4.2 Step 2: Confirm the I²C bus number
Please refer to this article to determine which I2C bus the camera is connected to.
i2c bus number on different boards
If it is the customer's own board card, the I2C bus number will be defined by the customer themselves.
After confirming the i2c bus number, use "i2cdetect -y -r [i2c_bus]" to check if the i2c communication is normal.
$ i2cdetect -y -r 9
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
4.3 Step 3: Perform firmware upgrade
Run the upgrade command
$ sudo ./veye_gx_upgrade [firmware file name] -b [bus number] -d [I2C address] -m [upgrade mode]
-b : The total bus number obtained in Step 2
-d : I2C address, factory default is 0x3b. After the customer makes any changes, use the updated address.
-m: Upgrade mode [0/1], the default setting is to use [0] short packet transmission, which has a slightly lower speed than [1] long packet transmission. However, it offers better compatibility for multiple manufacturer boards.
example:
$ ./veye_gx_upgrade GX-MIPI-IMX662_C112L106_upgrade.bin -b 9 -d 0x3b -m 0
Camera version: 0x01090106
nanny version: 1.0
Upgrade file package:3
begin upgrade process1
====================================================================================================>> [100%]
upgrade one package success!!!
begin upgrade process2
====================================================================================================>> [100%]
upgrade one package success!!!
begin upgrade process3
====================================================================================================>> [100%]
upgrade one package success!!!
Camera version: 0x01120106
upgrade success!!
upgrade finish!
- The upgrade process will read the current version before starting, and the latest version number will be read after the upgrade is completed.
- During the upgrade, a progress bar will be displayed (such as [=====> ] 45%).
- Please do not power off or interrupt the command throughout the process!
- During the upgrade, make sure that the I²C bus is only used for firmware upgrade. Do not run any other programs or scripts that may access this I²C bus (such as image acquisition, register reading and writing, etc.) to avoid communication conflicts or upgrade failure.
- If the upgrade fails
- Disconnect the camera power supply
- Re-power on
- Retry the upgrade command