At the top of the log is the module name "ExpDrv.c" and the line number of the assert.The module name is loaded into R0 and the line number into R1 before DebugAssert is called.There may be multiple asserts in a given module - the line number will help you find which one was called.
"loc_FF8CB830:\n"" CMP R6, #1 \n" " STRH R0, [R4, #0xC] \n" " BNE sub_FF8CB85C \n" " LDR R2, =0xBB8 \n" " LDR R0, [R9, #0x1C] \n" " MOV R1, #2 \n" " BL sub_FF88DB18 \n" // we called some sub " TST R0, #1 \n" // expected it to return 1" LDRNE R1, =0x15C1 \n" // if it didn't, we're loading up some parameters... line number" LDRNE R0, =0xFF8C75F4 \n" // ExpDrv.c" BLNE sub_FF81EC88 \n" // <-- and call DebugAssert here"loc_FF8CB85C:\n" // (normal flow presumably continues here)
Quote from: philmoz on 03 / December / 2011, 17:13:27At the top of the log is the module name "ExpDrv.c" and the line number of the assert.The module name is loaded into R0 and the line number into R1 before DebugAssert is called.There may be multiple asserts in a given module - the line number will help you find which one was called.Thanks for the tip. There are dozens of asserts in ExpDrv.c. The one above is not the right one. It's this one (line 5569 = 0x15c1):Code: [Select]"loc_FF8CB830:\n"" CMP R6, #1 \n" " STRH R0, [R4, #0xC] \n" " BNE sub_FF8CB85C \n" " LDR R2, =0xBB8 \n" " LDR R0, [R9, #0x1C] \n" " MOV R1, #2 \n" " BL sub_FF88DB18 \n" // we called some sub " TST R0, #1 \n" // expected it to return 1" LDRNE R1, =0x15C1 \n" // if it didn't, we're loading up some parameters... line number" LDRNE R0, =0xFF8C75F4 \n" // ExpDrv.c" BLNE sub_FF81EC88 \n" // <-- and call DebugAssert here"loc_FF8CB85C:\n" // (normal flow presumably continues here)Unfortunately, my ARM is too weak and my symbols too sparse for me to have much of an idea what FF88DB18 does, or why it might return something other than 1 (I'm not even sure where its return statement(s) are).
I've also attached builds--if you're interested in manual focus, please give it a try.
I tried this, and it works, except that now all of the above key presses take us to REVIEW mode,in other words, the only way to go to REC is pressing half-shutter after booting to REVIEW.I suppose this means something in kbd.c (keymasks and/or keymap ?) needs tweaking ?wim
Noticed you mentioned using a script to get the crash - missed that before.Can you provide a link to the script - if it's an old one there might be something incompatible in it.I can test it on my cameras to make sure we're not chasing the wrong thing.Phil.
manual focus-enabled builds for 1.01a and 1.01c (1.01d/1.01e can use the 1.01c build)
Noticed you mentioned using a script to get the crash - missed that before.Can you provide a link to the script - if it's an old one there might be something incompatible in it.I can test it on my cameras to make sure we're not chasing the wrong thing.
// have to sleep here, zoom_busy set in another task, without sleep this will hang while (zoom_busy) msleep(10);
#if defined (CAMERA_s95) // this will hang sometimes on s95 when zoom_busy gets stuck as a 1 // we add a timeout as a work-around for this problem startTime = get_tick_count(); while (get_tick_count() < (startTime + 2000)) { if (!zoom_busy) break; } #else // !CAMERA_s95 while (zoom_busy); #endif // !CAMERA_s95
while (zoom_busy) msleep(10);
startTime = get_tick_count(); while (get_tick_count() < (startTime + 2000)) { if (!zoom_busy) break; msleep(10); }
#if defined (CAMERA_s95) // this will hang sometimes on s95 when zoom_busy gets stuck as a 1 // we add a timeout as a work-around for this problem startTime = get_tick_count(); while (get_tick_count() < (startTime + 2000)) { if (!zoom_busy) break; } #elif defined(CAMERA_ixus220_elph300hs) while (zoom_busy) msleep(10); #else // !CAMERA_s95 while (zoom_busy); #endif // !CAMERA_s95
#undef CAM_CAN_SD_OVER_NOT_IN_MF
Recently, philmoz has (I believe) decided its safe to remove all that G12, G10,SX30 etc customization from core/kbc.d if you simply add the following to your platform_camera.h file :Code: [Select] #undef CAM_CAN_SD_OVER_NOT_IN_MF This does not fix the problems mentioned in the above thread for the SD780/SD940/SD980 but it might help you ?
Quote from: philmoz on 04 / December / 2011, 00:25:49Noticed you mentioned using a script to get the crash - missed that before.Can you provide a link to the script - if it's an old one there might be something incompatible in it.I can test it on my cameras to make sure we're not chasing the wrong thing.Phil.Using script CHDK/SCRIPTS/EXAM/tv_uni_e.lua from current trunk revision 1454 leads to crash for me as well.For me it doesn't crash when pressing HalfShutter.I started script and pressed <UP> to use Zoom function of script. After pressing <UP> one or more times camera freezes and shutsdown (with lens staying outside) after showing LiveView for some more seconds.Please try to reproduce on other camera than elph300.
Started by acseven General Discussion and Assistance
Started by ELPH300 « 1 2 » Hello, I'm a NEWBIE - HELP!! (Newbies assistance, User Guides and thank you notes)
Started by VincentD « 1 2 3 » General Help and Assistance on using CHDK stable releases
Started by yoshiharra General Help and Assistance on using CHDK stable releases
Started by igb General Help and Assistance on using CHDK stable releases