CHDK Wiki
Register
Advertisement

Currently, there is no version available for download, it is far from usable yet.

Quick facts[]

  • Firmware versions 1.0.5 and 1.0.8 and 1.1.1 available.
  • Runs VxWorks
  • ARM946E-S
  • 256MB memory
  • Uses AUTOEXEC.BIN instead of DISKBOOT.BIN
    • Needs to be enabled in NVRAM
    • Requires an EOS_DEVELOP disklabel and BOOTDISK 'signature'
    • Can boot from FAT32
    • File format unknown, possibly needs a header but unlikely (probably a plain binary)
    • Runs from 0x800000

Possible extra functionality[]

  • Movie mode
  • Live view contrast AF
    • Might already be present in the firmware but that's just a guess based on some strings.
  • AF microadjustment
    • Some strings present but functionality likely not implemented.
  • Total shot counter
  • Scripts
  • Motion detection

Development[]

Work in progress... General EOS 40D development discussion


This page needs cleaning up and additional information :)

Firmare updates[]

v1.1.1

fileLen = 0x7d06fc
---.fir header---
0x000: modelId = 0x80000190, (40D, VxWorks)
0x010: version = 1.1.1
0x020: checksum = 0xc1be4dd8
0x024: updater1 header = 0xb0
0x028: updater1 offset = 0x120
0x02c: updater2 offset = 0xffffffff
0x030: firmware offset = 0x19dc80
0x034: 0xffffffff
0x038: embedded file size = 0x7d06fc
0x03c: 0x0
0x040: sha1 seed = 0x9b1bf2fb
0x044: 0x00000004 0x00000000 0x00000020 0x00000024 0x00000044 0x000000b0 0x0019dbd0
0x060: 0x19dc80
0x064: firmware length = 0x632a7c
0x068: updater1 hmac-sha1 = 5edae41600de8549c060cc69ed85b38579abf5fe
0x088: firmware hmac-sha1 = 1ddd1f063c617b0109ec10914ce75c900bbf8461
---updater1 header---
0x0b0: updater1 length = 0x19db60. starts at 0x120
0x0b4: 0x19db60
0x0b8: 0x0
0x0bc: xor seed value = 0xee742c27
0x120: --- updater1 (ciphered) ---
---firmware header---
0x19dc80: (+0x000), offset to decryption data = 0xc
0x19dc84: (+0x004), offset to encrypted data = 0x7c. starts at 0x19dc80
0x19dc88: (+0x008), total firmware length (including header) = 0x632a7c. starts at 0x19dc80
0x19dc8c: (+0x00c), firmware length (encrypted part) = 0x632a00. starts at 0x19dcfc
---firmware (encrypted)---
0x19dcfc: (+0x07c)
Advertisement