[admin: avoid swearing please], im stupid, I thought h_usrRoot is the last thing to be executed. just found im wrong. i will continue investigating.
OK, I found that the fw update method died when executing "BL sub_FFB10A78\n"which is the kernelInit function. But still haven't figured out why.
*((volatile int*) 0xc0220088) = 0x46; // turn on LED
"BL 0xFFB13C50\n" // j_taskResume
MOV LR,PCLDR PC,=FFB13C50
Quote from: revivery on 02 / November / 2009, 00:43:41 "BL 0xFFB13C50\n" // j_taskResumeThis is wrong. You cannot BL to an arbitrary address. You should do BL sub_FFB13C50 which will cause the CHDK build process to generate the appropriate veneer for you in stubs_auto.S Or roll your own withCode: [Select]MOV LR,PCLDR PC,=FFB13C50You shouldn't need to copy any more of that function.edit:the assembler accepts BL <constant> because it can interpret it as a PC relative offset, but it doesn't do what you want, and doesn't have the range to jump from RAM to ROM.
Started by israelt « 1 2 3 » Firmware Dumping
Started by outslider General Chat
Started by dazpope General Help and Assistance on using CHDK stable releases
Started by koshy Firmware Dumping
Started by Canada Goose « 1 2 3 4 » General Help and Assistance on using CHDK stable releases