Canon IXUS 900 Ti / Powershot SD900 1.00C Port - page 3 - General Discussion and Assistance - CHDK Forum

Canon IXUS 900 Ti / Powershot SD900 1.00C Port

  • 262 Replies
  • 150180 Views
*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #20 on: 16 / August / 2008, 21:48:21 »
Advertisements
@dixie

It looks like you're the first.  Are you aiming to step through h_usrKernelInit() to see where it stops?
Yes! Also this will help to get the rest in line...

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #21 on: 17 / August / 2008, 02:33:37 »
UPDATE

Current i'm unable to create an usefull dumb.elf for gdb / qemu... look here: Emulating Digicam with QEMU for more info.

But i've testet with led where my port stops at boot.c:

Code: (asm) [Select]
void  h_usrKernelInit() {
    int counter;
    volatile long *ledBlue = (void*)LED_BLUE;

    // ROM:FF811744
    asm volatile (
        "STMFD   SP!, {R4,LR}\n"
        "SUB     SP, SP, #8\n"
        "BL      sub_FFB54A84\n"     // classLibInit     <--- ### STOP ##########################
    );
    counter = DELAY; *ledBlue = 0x46;  while (counter--) { asm("nop\n nop\n"); };
    counter = DELAY; *ledBlue = 0x44;  while (counter--) { asm("nop\n nop\n"); };
    asm volatile (
        "BL      sub_FFB6786C\n"     // taskLibInit
        "LDR     R3, =0xD520\n"
        "LDR     R2, =0xA1960\n"
        "LDR     R1, [R3]\n"
        "LDR     R0, =0xA46D0\n"
        "MOV     R3, #0x100\n"
        "BL      sub_FFB6097C\n"     // qInit
        "LDR     R3, =0xD4E0\n"
        "LDR     R0, =0xDD28\n"
        "LDR     R1, [R3]\n"
        "BL      sub_FFB6097C\n"     // qInit
        "LDR     R3, =0xD59C\n"
        "LDR     R0, =0xA46A4\n"
        "LDR     R1, [R3]\n"
        "BL      sub_FFB6097C\n"     // qInit
        "BL      sub_FFB6BC28\n"     // workQInit
        "BL      sub_FF8112AC\n"
        "MOV     R4, #0\n"
        "MOV     R3, R0\n"
        "MOV     R12, #0x800\n"
        "LDR     R0, =h_usrRoot\n"   // important !!
        "MOV     R1, #0x4000\n"
        //"LDR     R2, =0xA4D10\n"   // DEBUG: original firmware call to MEMISOSTART, disable below "LDR     R2, =new_sa\n"
        "LDR     R2, =new_sa\n"      // skip some memory for later use with CHDK, MEMISOSTART 0xA4D10 + MEMISOSIZE 0x40000 = 0xD4D10
        "LDR     R2, [R2]\n"         // helps "LDR     R2, =new_sa\n"
        "STR     R12, [SP]\n"
        "STR     R4, [SP,#4]\n"
        "BL      sub_FFB64AAC\n"     // kernelInit
        "ADD     SP, SP, #8\n"
        "LDMFD   SP!, {R4,PC}\n"
    );
}

sub_FFB54A84
Code: (asm) [Select]
ROM:FFB54A84 classLibInit                            ; CODE XREF: h_usrKernelInit+8p
ROM:FFB54A84
ROM:FFB54A84 var_C           = -0xC
ROM:FFB54A84 var_8           = -8
ROM:FFB54A84
ROM:FFB54A84                 STMFD   SP!, {LR}
ROM:FFB54A88                 SUB     SP, SP, #8
ROM:FFB54A8C                 LDR     R12, =classInit
ROM:FFB54A90                 STR     R12, [SP,#0xC+var_C]
ROM:FFB54A94                 LDR     R3, =classDestroy
ROM:FFB54A98                 STR     R3, [SP,#0xC+var_8]
ROM:FFB54A9C                 LDR     R0, =0xC7F0
ROM:FFB54AA0                 LDR     R3, =classCreate
ROM:FFB54AA4                 MOV     R1, #0x34
ROM:FFB54AA8                 MOV     R2, #0
ROM:FFB54AAC                 LDR     R0, [R0]
ROM:FFB54AB0                 BL      classInit
ROM:FFB54AB4                 MOV     R0, #0
ROM:FFB54AB8                 ADD     SP, SP, #8
ROM:FFB54ABC                 LDMFD   SP!, {PC}
ROM:FFB54ABC ; End of function classLibInit
Currently i don't know why this happens.
Must be something wrong before this ... But how to determ what cause this mess?
« Last Edit: 17 / August / 2008, 20:50:31 by pixeldoc2000 »

Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #22 on: 19 / August / 2008, 04:23:56 »

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #23 on: 21 / August / 2008, 12:57:17 »
« Last Edit: 21 / August / 2008, 13:53:44 by pixeldoc2000 »

*

Offline reyalp

  • ******
  • 14125
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #24 on: 21 / August / 2008, 14:13:27 »
I don't see how moving an immediate to a register could possible cause the camera to hang.

Are you sure your blinking code isn't clobbering some registers the the later ASM needs ? My impression was that when mixing ASM and C, you needed to tell the compiler which registers your ASM touches, as shown here:
ARM GCC Inline Assembler Cookbook in the "clobbers" section ?

edit: although if it stops before the blinks, I guess that wouldn't explain it.
« Last Edit: 21 / August / 2008, 14:20:47 by reyalp »
Don't forget what the H stands for.

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #25 on: 28 / August / 2008, 14:05:36 »
I don't see how moving an immediate to a register could possible cause the camera to hang.
Me neither...

Are you sure your blinking code isn't clobbering some registers the the later ASM needs ? My impression was that when mixing ASM and C, you needed to tell the compiler which registers your ASM touches, as shown here:
ARM GCC Inline Assembler Cookbook in the "clobbers" section ?
edit: although if it stops before the blinks, I guess that wouldn't explain it.
As I wrote, i've tested it with and without blink code in c and asm... nothing works... I'm really out of ideas about this issus...

edit: although if it stops before the blinks, I guess that wouldn't explain it.
Yes!
Something before this must be incorrect which cause the camera to stop late at this point...

Besides, I haven't got much time to look for it at the lasts two weeks...
Currently I'm thinking about suspend or chancel this port... it looks like i'm wasting our time... :-[ ... sOrRy!
« Last Edit: 29 / August / 2008, 13:07:09 by pixeldoc2000 »

Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #26 on: 29 / August / 2008, 05:18:58 »
Hi, good morning(maybe). Im a Chinese user of IXUS900Ti, I was finding CHDK for 900Ti everywhere but I can't . Thank God, Im grateful to see there's something about it!!!  So, I downloaded the beta version and tried, but it didn't work out. there must be something wrong with my operation. plz help me ::)
at first, I used the cardtricks to format my card, made it bootable and copied the CHDK files to my card. after locking the card, I started the camera. unfortunately, it just dad some lights on it. the lights sparked in turn, endlessly.
could anyone tell me what was wrong with my operation or my camera?
btw, I know my english isn't so good. if there're some mistakes, feel free to correct me. thanx.

*

Offline nkh

  • *
  • 10
    • smovs.dk
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #27 on: 29 / August / 2008, 09:37:20 »
Besides, I haven't got much time to look for it at the lasts two weeks...
Currently I'm thinking about suspend or chancel this port... it looks like i'm wasting our time... :-[ ... sOrRy!
You're definitely not wasting out time, just getting as far as the blinking lights wouldn't have happened if you hadn't started the port. I hope you'll find time to look into it again some time, and maybe someone else will pop-up and help out. Your work is greatly appreciated!

*

Offline nkh

  • *
  • 10
    • smovs.dk
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #28 on: 29 / August / 2008, 09:50:24 »
I started the camera. unfortunately, it just dad some lights on it. the lights sparked in turn, endlessly.
could anyone tell me what was wrong with my operation or my camera?
This is actually what's suppose to happen, as this is all the current version of the port does. So you've done everything right, the port just needs to be developed further to actually make it usable. Hopefully pixeldoc2000 will find the hints and time he needs to complete the port, otherwise we'll just have to hope that someone else with the right skills will pick up the porting.

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: Canon IXUS 900 Ti / Powershot SD900 1.00C Port
« Reply #29 on: 29 / August / 2008, 13:31:21 »
I started the camera. unfortunately, it just dad some lights on it. the lights sparked in turn, endlessly.
As nkh already answered...
The flashing Lights are intended, as this is the only interesting action for non developers as the moment.

Also check your Firmware Version like i wrote at the WIKI.

Sadly i'm unable to get chdk to start correctly at the moment, but i'm working on it, if i have some free time...

 

Related Topics


SimplePortal © 2008-2014, SimplePortal