Last night, g3gg0 and I took a quick loook at the firmware update, and here are our first notes:
- instruction set is Thumb-2. Juicy stuff here:
http://chdk.setepontos.com/index.php?topic=9992- both master and slave start at 0xFE0A0000, in ARM mode, no gaonisoy
- both of them switch to Thumb mode from 0xFE0A000C
- during startup, the following things are copied to RAM:
- on master:
- from 0xFEC1A798 to 0x00000000 size=0x3C9D (at FE0A00B2)
- from 0xFEC1E438 to 0x80000800 size=0xB37C (at FE0A00C6)
- from 0xFEC297B4 to 0x00004000 size=0x37FB4 (at FE0A00DA)
- on slave:
- from 0xFE472804 to 0x00000000 size=0x3C9D (at FE0A00B2)
- from 0xFE4764A4 to 0x80000800 size=0xB144 (at FE0A00C6)
- from 0xFE4815E8 to 0x00004000 size=0x8500 (at FE0A00DA)
- caching bit is still 0x40000000 (from alloc_dma_memory FE6834D0)
- there appears to be an extra memory block at 0x80000000 (not sure how big)
- MMIO range expanded (C0000000 - DFFFFFFF); CHDK guys mentioned it as well
- to enable the UART console (TIO) on master firmware, patch 0xFEC4DCBC from 0 to 1
- there is a FPGA which handles SD, CF, USB and "SYS"
- there is hardware integer division (SDIV)
Interesting strings:
OpenGL ES-CM 1.1
OpenGL_ES OpenVG
lvae_afledon
PROP_LED_LIGHT
Still unknown:
- card LED address
Early QEMU logs ( source at
https://bitbucket.org/hudson/magic-lantern/commits/branch/qemu ):
DRYOS version 2.3, release #0055+p4
Copyright (C) 1997-2013 by CANON Inc.
K289M READY
K289S READY
http://pastebin.com/vpPFXDFEhttp://pastebin.com/u9C5WfMC