Fandom

CHDK Wiki

Digic 6 Porting

598pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

IntroductionEdit

Cameras based on the Digic 6 processor differ significantly from previous generation cameras. CHDK support is for these cameras is a work-in-progress as of late 2016. The page collects information relevant to creating CHDK ports for Digic 6 cameras.

It is likely that some of this applies to Digic 6+ and Digic 7, but analysis of these systems has not been done yet.

Significant differences from prior Digic versionsEdit

  • The main CPU is now a Cortex-R4 (armv7 architecture)
  • The majority of Canon firmware code is in the Thumb2 instruction set. The varying size of instructions makes disassembly significantly more difficult, and prevents existing CHDK tools from working on these firmwares.
  • Several other CPUs exist, including an Xtensa core.
  • The display is (probably) driven by a TAKUMI GPU, somehow connected to the Xtensa core
  • Viewport and bitmap display frame buffer formats have changed significantly

ToolsEdit

  • User:Srsa_4c/GPL:disassemblev7.pl - Perl script to disassemble full digic 6 ROM.
  • finsig_thumb2 - Tool to find functions and variables in Digic 6 firmware code. In SVN trunk.
  • capdis - CHDK oriented disassembly tool, based on capstone. Useful for full dump disassembly and extracting ASM code for CHDK. See Capdis Disassembly Tool for usage information. In SVN trunk.

(TODO detailed info finsig_thumb2)

ARM documentationEdit

Ported camerasEdit

Known Digic 6 ports with at least some usable functionality

Forum threadsEdit


Partial portsEdit

Other ports that were started but don't yet have usable builds

Also on Fandom

Random Wiki