Overview:
Yesterday, Keil, the firmware development environment, was basically completed, and the INC and Lib provided by suite 3.4.7 were added using the c file of the random firmware program ccd1, the Hex file is slightly smaller than the Hex file attached to ccd1. (Not fit: The old fx2regs. the hfile does not define every bit of the port ABCD (E cannot be accessed by bit), so the txmaster of ccd1. the beginning of the C file is defined in the form of "sbit pd0 = IOD ^ 0. When changed to the INC provided by the new version of suite, the new fx2regs. the H file has carefully defined the port bit in the form of "sbit pd0 = 0xb0 + 0;". In this case, txmaster. the definition of port bits in C leads to repeated definitions. You can compile the program smoothly after you comment it out .)
??
Purpose: To further determine whether the development environment is OK, I also want to take the opportunity to test whether my new firmware (later referred to as the reset firmware) can work like the original firmware (on ezusb. ).
??
Experiment Design:
1. Assemble the ccd2 circuit board (fx2lp without CCD ), install a POF file that can work normally in the CPLD (test should be performed on the ccd1 with the original USB firmware );
2. Modify the INF file of the driver attached to ccd1 (fx2) and add a new one, that is, the vid & pid I added to the firmware descriptor.
3. Because the drive ezusb is attached to ccd1. sys is for the "Chicago" platform, that is, the platform before XP, but XP also supports this driver, and the host computer software attached to ccd1 is also developed for this driver, I need to perform this experiment on the XP platform (lab desktop.
4. Since the ccd2 Board does not have a welded EEPROM, I will first use the universal drive ezusb. sys recognizes a default vid & PID--04B4 & 8613, then uses the development tool to burn the firmware to ram, and then re-enumerates the device with a new name (INF file added: ccd2 regenerated firmware test) and the driver are rebound.
5. Run the host computer program to check whether image data can be normally read (there is no image, but circuit noise ).
??
Expected experiment:
If the host computer program can read the image, it means that the new Firmware Development Environment (the latest version of INC and Lib provided by suite3.4.7) can be used with the old version of FW attached to ccd1. c. txmaster. c files are compatible.
??
Experiment process:
1. Install total. POF on ccd1 to collect the image. The device displays "iobox X-ray device ".
2. Install total. POF in ccd1 on ccd2, And the LED will flash frequently.
3. Insert ccd1 into the computer, update the driver, and select the INF file with information 0547 & 1004 added. The file is renamed as oemedia INF by XP.
4. Insert the ccd2 into the computer and identify it automatically and bind it to cyusb. sys, because cyusb was installed in the previous test. sys, the corresponding inf file is named oem19.inf by XP, which makes it easy for me to install the firmware for ccd2.
5. Install suite3.4.7 in XP and use control center to install the firmware.
6. the firmware is burned into ccd2, And the enumerated value is "ccd2 regenerated firmware test". It is bound to ezusb. sys, runs the host computer program, obtains the image, and sets the parameters.
??
Experiment results:
Successful
??
Experiment conclusion:
The firmware program compiled in the new Keil environment can meet the requirements of ccd2. The general process of Firmware Development is completed. It indicates that the USB firmware of ccd1 can be applied to the design of ccd2. You only need to thoroughly understand the USB firmware of ccd1. the USB firmware design of ccd1. It indicates that the difficulty of communication between the host computer and ccd2 is transferred to the host computer program and driver program. Because the new version of the development kit comes with the drive cyusb. sys has new requirements for the development environment of the host computer program (the routine supports vs2008 \ vs2010 and comes with cyapi. lib and cyusb. DLL), while the host computer program attached with ccd1 is based on ezusb. SYS driver. The development platform is VC ++ 6.0.
??
Next step:
Learn how to install the firmware program into the EEPROM, which simplifies the subsequent development steps (you must first identify it as default, then install the firmware to ram, and then re-enumerate, then it is recognized as ccdx ).
??
Test the Firmware Development Environment to check whether the firmware is working normally.