IXUS 1100 HS ELPH 510 Porting Thread - page 9 - DryOS Development - CHDK Forum

IXUS 1100 HS ELPH 510 Porting Thread

  • 89 Replies
  • 38366 Views
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #80 on: 07 / January / 2017, 15:31:58 »
Advertisements
The white bar in the video looks like you do not have the proper chdk logo file written on the SD card in the camera.

*

Offline reyalp

  • ******
  • 14080
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #81 on: 07 / January / 2017, 15:42:46 »
The white bar in the video looks like you do not have the proper chdk logo file written on the SD card in the camera.
Yes, it looks like the splash screen box. There could also be palette issues.
Don't forget what the H stands for.

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #82 on: 07 / January / 2017, 19:26:43 »
Oh that made me double check and most of the folders were empty in the CHDK folder.  I thought the make firzip would populate that, but apparently it doesn't.  So I downloaded the ixus310_elph500 zip and copied the chdk folder over and I get a lot more, splash etc.  The initial splash seems to have the white bar still, but things seem to be a bit more 'sensical' now.  Still no touch screen.  What else should I tinker with?   


~Phil

*

Offline srsa_4c

  • ******
  • 4451
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #83 on: 09 / January / 2017, 11:54:12 »
I have no idea how to do the canon heap related hack
It's in your source already.

Still no touch screen.  What else should I tinker with?
For a clean start:
- comment out the task hooks
- this startup related hack should be corrected, if it's not done yet - could prevent booting if it is not correct
- comment out the line that starts spytask
- comment out this modification too (start the original sub_FF0246A4 instead)

This should give you a clean boot, the "card locked" message and no sign of CHDK. The touch should work normally.


Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #84 on: 09 / January / 2017, 13:30:40 »
Ok cool thanks then if it's back I can start adding those back in, one at a time, to see what's wrong?  I'll give that a go.


~Phil


Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #85 on: 11 / January / 2017, 12:46:07 »
Tried it, now it won't boot.  I'll have to get the lines and put here, but I did it and then got sidetracked.  I'm now at work and can't access it.  /sigh


~Phil

*

Offline Caefix

  • *****
  • 945
  • Sorry, busy deleting test shots...
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #86 on: 11 / March / 2021, 12:50:44 »
 :xmas Fw 101a 16Mb dump...
https://filebin.net/i1svlycofh3vkbv8
Added Funcs_by_*, stubs_entry & errlog (from Ix310 dummy)

Edit: Canon Fw Update available here:
https://www.touslesdrivers.com/index.php?v_page=23&v_code=33378
« Last Edit: 11 / March / 2021, 13:18:05 by Caefix »
All lifetime is a loan from eternity.

*

Offline Caefix

  • *****
  • 945
  • Sorry, busy deleting test shots...
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #87 on: 12 / March / 2021, 12:03:12 »
 :) Worst case looks different, but...  :-[
Code: [Select]
**** GCC 4.9.3 : BUILDING CHDK-CHDK_DE, #1.6.0-5780 FOR ixus1100_elph510hs-101a
finsig_thumb2.c: In function 'find_ctypes':
finsig_thumb2.c:5950:18: warning: 'match_i' may be used uninitialized in this function [-Wmaybe-uninitialized]
     save_misc_val("ctypes",ctypes_matches[match_i],0,min_adr);
                  ^
firmware_load_ng.c: In function 'find_dryos_vers':
firmware_load_ng.c:2133:13: warning: 'match_i' may be used uninitialized in this function [-Wmaybe-uninitialized]
         int match_i;
             ^
lib.c: In function 'camera_set_led':
lib.c:68:45: warning: unused parameter 'bright' [-Wunused-parameter]
 void camera_set_led(int led, int state, int bright) {
                                             ^
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s: Assembler messages:
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:100: Error: thumb conditional instruction should be in IT block -- `movne R1,#0'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:101: Error: thumb conditional instruction should be in IT block -- `movne R0,R5'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:102: Error: thumb conditional instruction should be in IT block -- `blne _PostLogicalEventToUI'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:147: Error: thumb conditional instruction should be in IT block -- `ldrne R1,=0x322'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:148: Error: thumb conditional instruction should be in IT block -- `ldrne R0,=0xFF059C34'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:149: Error: thumb conditional instruction should be in IT block -- `blne _DebugAssert'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:154: Error: thumb conditional instruction should be in IT block -- `ldrne R1,=0x323'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:155: Error: thumb conditional instruction should be in IT block -- `ldrne R0,=0xFF059C34'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:156: Error: thumb conditional instruction should be in IT block -- `blne _DebugAssert'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:201: Error: thumb conditional instruction should be in IT block -- `blne sub_FF059ADC'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:215: Error: thumb conditional instruction should be in IT block -- `blne sub_FF059ADC'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:334: Error: thumb conditional instruction should be in IT block -- `ldrcc R2,[R0],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:335: Error: thumb conditional instruction should be in IT block -- `strcc R2,[R1],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:341: Error: thumb conditional instruction should be in IT block -- `strcc R2,[R3],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:376: Error: thumb conditional instruction should be in IT block -- `ldrcc R2,[R0],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:377: Error: thumb conditional instruction should be in IT block -- `strcc R2,[R1],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:384: Error: thumb conditional instruction should be in IT block -- `ldrcc R2,[R0],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:385: Error: thumb conditional instruction should be in IT block -- `strcc R2,[R1],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:389: Error: r13 not allowed here -- `mov SP,#0x1000'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:392: Error: r13 not allowed here -- `mov SP,#0x1000'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:398: Error: thumb conditional instruction should be in IT block -- `strcc R2,[R0],#4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:478: Error: thumb conditional instruction should be in IT block -- `ldrlt R0,=0xFF005FF4'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:479: Error: thumb conditional instruction should be in IT block -- `bllt _err_init_task'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:482: Error: thumb conditional instruction should be in IT block -- `ldrlt R0,=0xFF005FFC'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:483: Error: thumb conditional instruction should be in IT block -- `bllt _err_init_task'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:487: Error: thumb conditional instruction should be in IT block -- `ldrlt R0,=0xFF006014'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:488: Error: thumb conditional instruction should be in IT block -- `bllt _err_init_task'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:492: Error: thumb conditional instruction should be in IT block -- `ldrlt R0,=0xFF006028'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:493: Error: thumb conditional instruction should be in IT block -- `bllt _err_init_task'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:496: Error: thumb conditional instruction should be in IT block -- `ldrlt R0,=0xFF006034'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:497: Error: thumb conditional instruction should be in IT block -- `bllt _err_init_task'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:500: Error: thumb conditional instruction should be in IT block -- `ldrlt R0,=0xFF006040'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:501: Error: thumb conditional instruction should be in IT block -- `bllt _err_init_task'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:534: Error: thumb conditional instruction should be in IT block -- `moveq R6,#1'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:646: Error: thumb conditional instruction should be in IT block -- `ldrne R1,=0x311'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:647: Error: thumb conditional instruction should be in IT block -- `ldrne R0,=0xFF059C34'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:704: Warning: conditional infixes are deprecated in unified syntax
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:704: Error: thumb conditional instruction should be in IT block -- `ldmcsfd SP!,{R3-R5,PC}'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:710: Warning: conditional infixes are deprecated in unified syntax
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:710: Error: thumb conditional instruction should be in IT block -- `ldmnefd SP!,{R3-R5,PC}'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:773: Warning: conditional infixes are deprecated in unified syntax
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:773: Error: thumb conditional instruction should be in IT block -- `ldmeqfd SP!,{R3-R9,LR}'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:837: Error: thumb conditional instruction should be in IT block -- `bxne LR'
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:267: Error: invalid constant (c000002f) after fixup
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:271: Error: invalid constant (40000035) after fixup
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:273: Error: invalid constant (80000017) after fixup
C:\Users\User\AppData\Local\Temp\ccFMkSBd.s:292: Error: invalid constant (80000006) after fixup
gmake[1]: *** [boot.o] Error 1
Edit: main.c now for 10x zoom lens.
« Last Edit: 12 / March / 2021, 14:18:18 by Caefix »
All lifetime is a loan from eternity.


*

Offline reyalp

  • ******
  • 14080
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #88 on: 12 / March / 2021, 15:15:36 »
Something is very wrong with your makefiles. Ixus 1100 is a digic 4 camera, so it should not be trying to compile inline assembler as thumb. I'd suggest looking to working ports of similar generation cameras (digic 4 released in 2011) for examples.
Don't forget what the H stands for.

*

Offline Caefix

  • *****
  • 945
  • Sorry, busy deleting test shots...
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #89 on: 12 / March / 2021, 15:41:39 »
 ??? The makefiles are from 2017.
I just did the c/p to makefile.inc that stubs_entry.S suggested.

Moving "DIGIC = 40# DIGIC 4" to the 'upper' makefile.inc cleaned the window...

Code: [Select]
lib.c: In function 'camera_set_led':
lib.c:68:45: warning: unused parameter 'bright' [-Wunused-parameter]
   68 | void camera_set_led(int led, int state, int bright) {
      |                                         ~~~~^~~~~~
movie_rec.c: In function 'change_video_tables':
movie_rec.c:6:30: warning: unused parameter 'a' [-Wunused-parameter]
    6 | void change_video_tables(int a, int b){
      |                          ~~~~^
movie_rec.c:6:37: warning: unused parameter 'b' [-Wunused-parameter]
    6 | void change_video_tables(int a, int b){
      |                                 ~~~~^
gmake[1]: *** No rule to make target '../../../../platform/ixus1100_elph510hs/sub/101a/firmware_crc_data.h', needed by 'firmware_crc_data.thm.o'.  Stop.
gmake: *** [all-recursive] Error 1
// solved with dummy #define FIRMWARE_CRC_DISABLED 1 in firmware_crc_data.h

Other / next issues:
? Loader/main.c is from Ix310,...
100a:
Quote
-> main.elf
   text      data       bss       dec       hex   filename
  90840     44448      6792    142080     22b00   main.elf
bin size mismatch 139264 <  142080
../../../makefile_sub.inc:67: recipe for target 'main.elf' failed
101a: main.c:(.text+0xcc): undefined reference to `focus_len_table'
« Last Edit: 13 / March / 2021, 16:03:27 by Caefix »
All lifetime is a loan from eternity.

 

Related Topics