Recent changes Random page
GAMING
Technology
 
Gaming
Entertainment
Science Fiction
Biggest wikis
Hobbies
Music
See more...

For Developers

From CHDK Wiki

Jump to: navigation, search

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 want to participate in the development process.

[edit] Cameras overview

DIGIC II - (VxWorks OS)
Axxx A410 | A420 | A430 | A450 | A460 | A530 | A540 | A550 | A610 | A620 | A630 | A640 | A700 | A710IS
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)
Sx IS S2IS | S3IS
Sxx S80
EOS 20D | 30D | 350D (Rebel XT) | 400D (Rebel XTi) | 5D
HVxx HV20 | HV30 | HF10 | HF100 (DIGIC DV II, ?VxWorks OS?)

DIGIC III - (VxWorks OS)
Axxx A560 | A570IS
SDxx SD40 / i7 zoom
SDxxx(IXUS) SD750 (IXUS75) | SD800IS (IXUS850IS) | SD850IS (IXUS950IS) | SD900 (IXUS900Ti) | SD1000 (IXUS70)
Gx G7
EOS 40D | 450D (Rebel XSi) | 1000D (Rebel XS)
TXx TX1

DIGIC III - (DryOS OS)
Axxx A470 | A480 | A580 | A590IS | A650IS | A720IS
Axxxx IS A1000IS | A2000IS
SDxxx(IXUS) SD770IS (IXUS85IS) | SD790IS (IXUS90IS) | SD870IS (IXUS860IS) | SD890IS (IXUS970IS) | SD950IS (IXUS960IS) | SD1100IS (IXUS80IS)
Sx IS S5IS
SXxxx ISSX100IS | SX110IS
Gx G9
Ex E1

DIGIC IV - (DryOS OS)
Axxxx IS A1100IS | A2100IS
Dxx D10
SDxxx(IXUS) SD780IS (IXUS100IS) | SD880IS (IXUS870IS) | SD960IS (IXUS110IS) | SD970IS (IXUS990IS) | SD990IS (IXUS980IS)
SDxxxx(IXUS) SD1200IS (IXUS95IS)
SXx IS SX1
SXxx IS SX10
SXxxx IS SX200IS
Gxx G10
EOS 500D (Rebel T1i) | 50D | 5D Mark II
Legend
  • Black - neither original firmware nor firmware dump is available
  • Red - Camera has responded to something on the card, but a firmware dump has not succeeded, current udumper code does not work on these cameras.
  • Blue - either original firmware or firmware dump is available; porting is needed
  • Magenta - A developer has started the porting process for this camera AND an alpha or beta build with a limited feature set is available for testing
  • Green - A port has been completed on one or more firmware versions for this camera


Note: the porting process entails:

  1. get the camera to somehow respond to something on the card. (cameras in Red)
  2. 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)
  3. analyze the firmware, find out where key routines are.
  4. modify the source code to add the locations of these key routines
  5. compile the software and CHDK runs on the camera in some limited state (cameras in Magenta)
  6. After all bugs are fixed (cameras in Green)

[edit] Common articles

Modifying the Source Code
Basic information about project structure.
Documentation of the Sourcecode
Yes, some documentation is also required.
Bug tracking and feature requests with Mantis New !
How to use Mantis to report bugs/issues found in CHDK, request features, submit contributions.
Compiling the CHDK under GNU/Linux
Compiling the CHDK under Mac OS X
Compiling the CHDK under Windows
How to tune build environment and compile CHDK.
Signature finder
Finding signatures automatically with the "Signature finder" (finsig/gensig) tool
Porting the CHDK
Various methods of getting of firmware dump.
CHDK Coding Guidelines New !
Cautions and best practices for CHDK code.
Optimizing ARM sourcecode
How to make your CHDK code run more efficiently.
Camera RAM memory usage
How to optimize RAM usage, also some statistics...
Loading dump to IDA
Using IDA for a dump analysis.
IDA Visual Analysis
Visual graph analysis tools.
Adding support of a new camera
The instruction for adapt sources to a new camera.
DryOS Porting
Information about the new OS.
GPL Tools
Documentation for using GNU/GPL tools for binary blobs analysis
Adding Firmware Features
A guide for finding and adding stuff from the firmware to CHDK and uBASIC.
Developer Technical Documents
Useful external documents relating to processor, OS and relevant standards.

[edit] Some technical info

List of PropertyCases
List with description of special registers which indicate and control DIGIC processor.
List of Params
List with description of special registers which indicate and control DIGIC processor.
Camera IDs
List of camera product IDs
Rate this article:
Share this article: