I'm resurrecting this dead ghost, hopefully philmoz or others may be around, but I finally remembered I never finished this
. I've rebuit my whole env did the gen_code, and looked at my old code. I'm basing it off the ixus310_500hs code base.
I've gotten the blinking lights again, and actually get a lot farther down. Oddly I seem to remember the LED blinking being a bit slower, but now it goes really fast.
I'm doing the "compile it with the blink test slowly farther down the different subroutines" method and I have passed quite a few now.
At any rate, it now blinks just fine until I get to the code block:
/*************************************************************/
//** taskcreatePhySw_my @ 0xFF0246A4 - 0xFF0246C4, length=9
void __attribute__((naked,noinline)) taskcreatePhySw_my() {
asm volatile (
" STMFD SP!, {R3-R5,LR} \n"
" LDR R4, =0x1C40 \n"
" LDR R0, [R4, #4] \n"
" CMP R0, #0 \n"
" BNE sub_FF0246D8 \n"
" MOV R3, #0 \n"
" STR R3, [SP] \n"
" LDR R3, =mykbd_task \n" // --> Patched. Old value = 0xFF024670.
" MOV R2, #0x2000 \n" // --> Patched. Old value = 0x800. stack size for new task_PhySw
" LDR PC, =0xFF0246C8 \n" // Continue in firmware
);
}
/*************************************************************/
//** init_file_modules_task @ 0xFF09920C - 0xFF099228, length=8
void __attribute__((naked,noinline)) init_file_modules_task() {
blinkLed();
asm volatile (
If you look at the part above, when I had my subroutine blinkLed(); in the block above it worked fine, but now, it's not blinking on the normal push of the play button, instead it does nothing and hangs the camera. If I hold the power button down for say 3 or 5 seconds the blinkled DOES come on though. since that section seems to be about the power button, maybe that's why?
I'm still looking into it.