i2c_flash
A Windows based tool can download FW to Hudson via Siena USB device.
---------------------------
Building i2c_flash
---------------------------
Windows:
To build this tool , open i2c_flash.sln and press 'Build Solution' in the build menu (F7).
Linux:
1. Set the correct platform preprocessor option. Open the Makefile and set
-D__INTEL__
for x86/x64
or
-D__ARM__
for ARM
2. type make
---------------------------
Running i2c_flash
---------------------------
1. Connect the Conexant Siena USB port to the EVK and make sure the driver is installed properly.
2. Copy iflash.bin (Bootloader) and image.sfs (FW image) to the directory which contains i2c_flash.exe.
3. Open a windows console and run i2c_flash.exe
4. After i2c_flash is executed, resetting the EVK may be needed to initiate the transfer. When prompted to reset
the board. press the reset button on the EVK board. It might display an error message: "I2C Read Failed" when you
press the reset button, which is is the expected behavior, since Hudson I2C will not respond during codec reset.
5. After detecting a reset signal, the tool will the FW download and will report its progress. .
6. The tool will display a message when FW is complete, with a clear indication whether it succeeded or failed. It may be necessary to press the reset button again for
the new FW to take effect.
---------------------------
File Manifest
---------------------------
The tool demonstrates proper usage of the ../../CxFlash.h and ../../CxFlash.cpp, which can be ported to the host device. The rest of the files
are part of the demo program, and shouldn't be ported:
../../CxFlash.cpp/h - declere/implement the FwDownload() function, which should be ported to the target platform.
main.cpp Main demo program. Do not port.
CxProgress.cpp/h Character based progress bar (Windows only).
siena.cpp I2C Siena device API. Do not port (Windows only).
READNE.txt This file.
---------------------------
Programming Tour
---------------------------
1. When program start, it will appempt open I2C device and read both iflash.bin and image.sfs from local directory.
2. Next, it will set up the I2C callback function for later use.
3. And then it call DownloadFW to process the FW download.
4. Clean up.