The table below is color coded to show the status of development work on porting CHDK to different cameras. If there is some work being done to port to a particular camera, there should also be a link to a camera-specific development page.
The page also has links to articles which could be useful if you are want to participate in the development process.
Cameras overview
DIGIC II - (VxWorks OS) | |
Axxx: | A410 | A420 | A430 | A450 | A460 | A530 | A540 | A550 | A610 | A620 | A630 | A640 | A700 | A710IS |
Sx IS: | S2IS | S3IS |
Sxx: | S80 |
SDxx: | SD30 |
SDxxx(IXUS): | SD200 (IXUS30) | SD300 (IXUS40) | SD400 (IXUS50) | SD430 (IXUS Wireless) | SD450 (IXUS55) | SD500 (IXUS700) | SD550 (IXUS750) | SD600 (IXUS60) | SD630 (IXUS65) | SD700 (IXUS800IS) |
EOS: | 20D | 30D | 350D | 400D | 5D |
HVxx: | HV20 | HV30 |
DIGIC III - (either VxWorks OS or unknown OS) | |
Axxx: | A560 | A570IS |
SDxx: | SD40 |
SDxxx(IXUS): | SD750 (IXUS75) | SD800IS (IXUS850IS) | SD850IS (IXUS950IS) | SD900 (IXUS900Ti) | SD1000 (IXUS70) |
Gx: | G7 |
EOS: | 40D | 450D |
TXx: | TX1 |
DIGIC III - (known to be DRYOS OS) | |
Axxx: | A470 | A580 | A590IS | A650IS | A720IS |
Sx IS: | S5IS |
SDxxx(IXUS) | SD870IS (IXUS860IS) | SD950IS (IXUS960IS) | SD960IS (IXUS970IS) | SD770IS (IXUS85IS) | SD790IS (IXUS90IS) | SD890IS (IXUS970IS) | SD1100IS (IXUS80IS) |
SXxx: | SX100IS |
Gx: | G9 |
- Legend
-
- Black - neither original firmware nor firmware dump is available
- Red - no firmware dump yet, but folks working on it
- Blue - either original firmware or firmware dump is available; porting is needed
- Green - successfully ported
- Magenta - Firmware dump available, but uses a new OS that is fundamentally different from all previous cameras that were successfully ported. Porting to these cameras will require a lot of analysis and work. See this link: (GrAnd's analysis of the A720 firmware dump)
update: A lot of analysis and work has been done and the first cameras have been ported. See: [1]
Note: the porting process entails:
- get the camera to somehow respond to something on the card. (cameras in Red)
- using the process that got you step 1, and some electronics, read out a copy of the existing firmware (e.g., dump the firmware). (cameras in Blue)
- analyze the firmware, find out where key routines are.
- modify the source code to add the locations of these key routines
- compile the software. (cameras in Green)
Common articles
- Modifying the Source Code
- Basic information about project structure.
- Compiling the CHDK under Linux
- Compiling the CHDK under Windows
- How to tune build environment and compile CHDK.
- Porting the CHDK
- Various methods of getting of firmware dump.
- Optimizing ARM sourcecode
- Howto make your CHDK apps/plugins work quickly.
- Loading dump to IDA
- Using IDA for a dump analysis.
- Adding support of a new camera
- The instruction for adapt sources to a new camera.
- DryOS Porting
- Information about the new OS.
Some technical info
- List of PropertyCases
- List with description of special registers which indicate and control DIGIC processor.
- Camera IDs
- List of camera product IDs
Camera-dependent info
The following links take you to pages describing the state of the porting process on additional camera models.
Developers! If you are working on a particular camera not listed here, please open up a new page and record your progress.