m (→Canon Digital Camera Software Developers Kit: note NDA) |
(→ARM Development: digic 6 CPU arch docs) Tag: sourceedit |
||
(13 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | This page lists technical documentation relevant to CHDK development. |
+ | <big>This page lists technical documentation relevant to CHDK development.</big> |
+ | {| align="right" style="border-collapse:collapse; font-size: x-small;" |
||
+ | | __TOC__ |
||
+ | |} |
||
+ | |||
==ARM Development== |
==ARM Development== |
||
===General ARM documentation=== |
===General ARM documentation=== |
||
Line 11: | Line 15: | ||
: GNU arm toolchain, also a lot of useful general docs in the resources section. |
: GNU arm toolchain, also a lot of useful general docs in the resources section. |
||
* [http://www.ethernut.de/en/documents/arm-inline-asm.html ARM GCC Inline Assembler Cookbook] |
* [http://www.ethernut.de/en/documents/arm-inline-asm.html ARM GCC Inline Assembler Cookbook] |
||
+ | * [http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001m/QRC0001_UAL.pdf ARM and Thumb-2 Instruction Set Quick Reference Card] |
||
===ARM946ES documentation=== |
===ARM946ES documentation=== |
||
− | + | Digic 5 and below an ARM946E-S processor. See this thread [http://chdk.setepontos.com/index.php/topic,2139.0.html Getting CPU configuration from CP15] for more information. |
|
* [http://infocenter.arm.com/help/topic/com.arm.doc.dvi0022a/DVI0022A.pdf ARM946E-S (Rev1)System-on-Chip DSP enhanced processor Product Overview] Revision: r1p1 |
* [http://infocenter.arm.com/help/topic/com.arm.doc.dvi0022a/DVI0022A.pdf ARM946E-S (Rev1)System-on-Chip DSP enhanced processor Product Overview] Revision: r1p1 |
||
* [http://infocenter.arm.com/help/topic/com.arm.doc.dvi0022a/DVI0022A.pdf ARM946E-S™ Technical Reference Manual] |
* [http://infocenter.arm.com/help/topic/com.arm.doc.dvi0022a/DVI0022A.pdf ARM946E-S™ Technical Reference Manual] |
||
* [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0240b/DDI0240A.pdf ARM9E-S Core™ Technical Reference Manual] Revision: r2p1 |
* [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0240b/DDI0240A.pdf ARM9E-S Core™ Technical Reference Manual] Revision: r2p1 |
||
+ | |||
+ | ===Cortex R4 documentation=== |
||
+ | Digic 6 uses a Cortex-R4 processor. See http://chdk.setepontos.com/index.php?topic=11316.msg124273#msg124273 |
||
+ | |||
+ | * [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0363g/index.html Cortex™-R4 and Cortex-R4F Technical Reference Manual] |
||
+ | * [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406c/index.html ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition] |
||
==Design rule for Camera File system (DCF)== |
==Design rule for Camera File system (DCF)== |
||
Line 22: | Line 33: | ||
* [http://en.wikipedia.org/wiki/Design_rule_for_Camera_File_system Overview on wikipedia] |
* [http://en.wikipedia.org/wiki/Design_rule_for_Camera_File_system Overview on wikipedia] |
||
* [http://www.exif.org/dcf.PDF Design rule for Camera File system Version 1.0 PDF] |
* [http://www.exif.org/dcf.PDF Design rule for Camera File system Version 1.0 PDF] |
||
− | :'''note''': This is version 1.0, which is outdated. The latest version is available for purchase from [http://www.jeita.or.jp/english/standard/html/1_4.htm JETA] |
+ | :'''note''': This is version 1.0, which is outdated. The latest version is available for purchase from [http://www.jeita.or.jp/english/standard/html/1_4.htm JETA]. |
+ | It is technical identical with CIPA DC-009 Design rule for Camera File system. The current Versions are co-writen bei JETA and CIPA and can be found with "[http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fwww.cipa.jp%2Fenglish%2Fhyoujunka%2F+pdf+dc009 site:http://www.cipa.jp/english/hyoujunka/ pdf dc009]" |
||
==Picture Transfer Protocol (PTP)== |
==Picture Transfer Protocol (PTP)== |
||
This is the protocol used for camera USB transfer. |
This is the protocol used for camera USB transfer. |
||
− | *[http://en.wikipedia.org/wiki/Picture_Transfer_Protocol Overview on wikipedia] |
+ | * [http://en.wikipedia.org/wiki/Picture_Transfer_Protocol Overview on wikipedia] |
+ | Canon PowerShot Series Transfer Protocol Description (first updated in 2000, last updated 2005) |
||
+ | * http://www.graphics.cornell.edu/~westin/canon/index.html |
||
+ | |||
+ | ==USB Protocol== |
||
+ | * [http://www.usb.org/developers/docs/usb_20.zip USB 2.0 USB 2.0 specification] |
||
+ | * [http://www.usb.org/developers/devclass/ USB Class Standards] |
||
+ | * [http://www.beyondlogic.org/usbnutshell/ USB in a NutShell] |
||
+ | |||
==VxWorks== |
==VxWorks== |
||
Most non-DryOS cameras appear to use some variant of VxWorks 5.x |
Most non-DryOS cameras appear to use some variant of VxWorks 5.x |
||
* [http://en.wikipedia.org/wiki/Vxworks Overview on wikipedia] |
* [http://en.wikipedia.org/wiki/Vxworks Overview on wikipedia] |
||
− | * [http://www. |
+ | * [http://www-kryo.desy.de/documents/vxWorks/V5.5/books.html Tornado online manuals] |
:Includes VxWorks 5 developer documentation and API reference. |
:Includes VxWorks 5 developer documentation and API reference. |
||
* [http://www.windriver.com/ Wind river home] |
* [http://www.windriver.com/ Wind river home] |
||
Line 36: | Line 56: | ||
==Canon Digital Camera Software Developers Kit== |
==Canon Digital Camera Software Developers Kit== |
||
− | Current [http://www.usa.canon.com/consumer/ |
+ | Current [http://www.usa.canon.com/cusa/consumer/standard_display/sdk_homepage Canon SDK] Versions as of July 8, 2008 (requires proper access). |
− | * PS-ReC SDK 1.1. |
+ | * PS-ReC SDK 1.1.0e / CD-SDK 7.3 for PowerShot digital cameras |
* EDSDK 2.4/RC-SDK 8.4 for EOS digital cameras |
* EDSDK 2.4/RC-SDK 8.4 for EOS digital cameras |
||
− | |||
* EDSDK - support remote control, raw image conversion and downloading from select EOS Digital SLRs with DIGIC III or DIGIC II processors, starting with the EOS-1D Mark II and continuing through to the EOS Rebel XSi and XS. |
* EDSDK - support remote control, raw image conversion and downloading from select EOS Digital SLRs with DIGIC III or DIGIC II processors, starting with the EOS-1D Mark II and continuing through to the EOS Rebel XSi and XS. |
||
* RC-SDK - supports remote control, raw image conversion and downloading from most EOS Digital SLRs introduced before the EOS 30D. |
* RC-SDK - supports remote control, raw image conversion and downloading from most EOS Digital SLRs introduced before the EOS 30D. |
||
− | * PS-ReC SDK - supports remote control including video out with the PowerShot G9, G7, S5 IS, S3 IS, S80, SX100 IS, A640 and A620 models exclusively. |
+ | * PS-ReC SDK - supports remote control including video out with the PowerShot G10, G9, G7, S5 IS, S3 IS, S80, SX110 IS, SX100 IS, A640 and A620 models exclusively. |
* CD-SDK - supports downloading with all USB PowerShots released before 6/30/2005. Remote control and video out are supported with some of these models. |
* CD-SDK - supports downloading with all USB PowerShots released before 6/30/2005. Remote control and video out are supported with some of these models. |
||
* RD-SDK - supports raw image conversion with select USB PowerShots. |
* RD-SDK - supports raw image conversion with select USB PowerShots. |
||
Line 49: | Line 68: | ||
'''Note''': The obtaining the canon SDK may require you to agree to an NDA which would limit your ability to contribute to CHDK. |
'''Note''': The obtaining the canon SDK may require you to agree to an NDA which would limit your ability to contribute to CHDK. |
||
+ | ==CIPA Specs, Whitepapers & Guidelines== |
||
+ | CIPA - '''C'''amera & '''I'''maging '''P'''roducts '''A'''ssociation |
||
+ | *CIPA Homepage: http://www.cipa.jp/english/index.html |
||
+ | *CIPA Standards & Guidelines: http://www.cipa.jp/english/hyoujunka/kikaku.html |
||
+ | |||
+ | ==Adobe Digital Negative (DNG)== |
||
+ | An open, camera neutral RAW format. |
||
+ | * [http://www.adobe.com/products/dng/ Adobe DNG homepage] |
||
+ | * [http://www.adobe.com/support/downloads/detail.jsp?ftpID=3957 DNG SDK Download] - includes DNG specification and dng_validate tool |
||
+ | * [http://www.adobe.com/products/dng/pdfs/dng_spec_1_2_0_0.pdf DNG specification] |
||
[[Category:Development]] |
[[Category:Development]] |
||
+ | |||
+ | ==Exchangeable Image File Format (EXIF)== |
||
+ | *[http://exif.org/ exif.org] |
||
+ | *[http://exif.org/Exif2-1.PDF exif.org EXIF 2.1 Specifications] |
||
+ | *[http://exif.org/samples/canon-ixus.html exif.org Canon EXIF data sample] |
Latest revision as of 20:43, 29 August 2015
This page lists technical documentation relevant to CHDK development.
ARM Development
General ARM documentation
- Covers register usage, addressing modes, detailed description of each instruction, including encoding.
- Covers procedure call standards, mixing ARM/Thumb, mixing C/ASM, exceptions, and some useful stuff about ROM. Written for users of the arm SDK, but still relevant.
- ARM® Developer Suite Assembler Guide General ARM assembler information. Includes syntax, register names etc. Written for arms own SDK, so not all of it is applicable to GNU tools.
- GNUARM.org home
- GNU arm toolchain, also a lot of useful general docs in the resources section.
ARM946ES documentation
Digic 5 and below an ARM946E-S processor. See this thread Getting CPU configuration from CP15 for more information.
- ARM946E-S (Rev1)System-on-Chip DSP enhanced processor Product Overview Revision: r1p1
- ARM946E-S™ Technical Reference Manual
- ARM9E-S Core™ Technical Reference Manual Revision: r2p1
Cortex R4 documentation
Digic 6 uses a Cortex-R4 processor. See http://chdk.setepontos.com/index.php?topic=11316.msg124273#msg124273
- Cortex™-R4 and Cortex-R4F Technical Reference Manual
- ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition
Design rule for Camera File system (DCF)
This standard specifies the layout of the DCIM directory.
- note: This is version 1.0, which is outdated. The latest version is available for purchase from JETA.
It is technical identical with CIPA DC-009 Design rule for Camera File system. The current Versions are co-writen bei JETA and CIPA and can be found with "site:http://www.cipa.jp/english/hyoujunka/ pdf dc009"
Picture Transfer Protocol (PTP)
This is the protocol used for camera USB transfer.
Canon PowerShot Series Transfer Protocol Description (first updated in 2000, last updated 2005)
USB Protocol
VxWorks
Most non-DryOS cameras appear to use some variant of VxWorks 5.x
- Includes VxWorks 5 developer documentation and API reference.
- Mostly fluff, requires login for technical documentation.
Canon Digital Camera Software Developers Kit
Current Canon SDK Versions as of July 8, 2008 (requires proper access).
- PS-ReC SDK 1.1.0e / CD-SDK 7.3 for PowerShot digital cameras
- EDSDK 2.4/RC-SDK 8.4 for EOS digital cameras
- EDSDK - support remote control, raw image conversion and downloading from select EOS Digital SLRs with DIGIC III or DIGIC II processors, starting with the EOS-1D Mark II and continuing through to the EOS Rebel XSi and XS.
- RC-SDK - supports remote control, raw image conversion and downloading from most EOS Digital SLRs introduced before the EOS 30D.
- PS-ReC SDK - supports remote control including video out with the PowerShot G10, G9, G7, S5 IS, S3 IS, S80, SX110 IS, SX100 IS, A640 and A620 models exclusively.
- CD-SDK - supports downloading with all USB PowerShots released before 6/30/2005. Remote control and video out are supported with some of these models.
- RD-SDK - supports raw image conversion with select USB PowerShots.
Note: The obtaining the canon SDK may require you to agree to an NDA which would limit your ability to contribute to CHDK.
CIPA Specs, Whitepapers & Guidelines
CIPA - Camera & Imaging Products Association
- CIPA Homepage: http://www.cipa.jp/english/index.html
- CIPA Standards & Guidelines: http://www.cipa.jp/english/hyoujunka/kikaku.html
Adobe Digital Negative (DNG)
An open, camera neutral RAW format.
- Adobe DNG homepage
- DNG SDK Download - includes DNG specification and dng_validate tool
- DNG specification