Hi,
I'll have this camera for a few weeks, but I'll try to port as much as I could.
Dump is available at box.net/chdk repository.
// Camera info:
// DRYOS R50 (DRYOS version 2.3, release #0050)
// Firmware Ver B1.01
// Canon PowerShot A2300
Tools used: chdkpt and
arm-elf-gcc-4.6.0 for linux.
LED Addresses:
#define LED_GREEN 0xC0220120 //LED on the back of the camera
#define LED_AF 0xC0223030 //Autofocus LED
I'm using SX260HS and ELPH310 as reference port.
The SX260HS port was choosen because it is a Release #0050 port, but it uses a Digic V.
ELPH130 (IXUS230) uses DryOS Release #0049, but the processor is a Digic IV, the same used for the A2300. Looking the firmware, specially taskcreate_Startup_my(), the port of ELPH310 seems to be more similar to our objective.
The A2300 seems to be one of the first powershot with Release #0050 being ported, and I'm having problems with boot.
I used a LED blinking to follow boot process, it is going to task_Startup_my() beginning, but after that camera freezes. In task_Startup_my() I'm calling the original taskcreate_PhySw() and taskHook() contents is commented. I expected to see camera starting normally, turning on LCD, but after LED blinking nothing happens, or am I wrong? I commented calls to LED blinking function, camera freezes too.
Debugging inside assembly code of task_Startup_my() (using LED blinking), I could see that camera is going to line where StartFactoryModeController is called, but it stops there.
Well, what could I do? Do you have any suggestions? The boot.c file is in attachment.
Thanks.