ELPH300HS aka IXUS220HS - Porting Thread - page 4 - DryOS Development - CHDK Forum

ELPH300HS aka IXUS220HS - Porting Thread

  • 899 Replies
  • 399470 Views
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #30 on: 03 / May / 2011, 15:46:21 »
Advertisements
Hi,

1. I am not convinced, that sx220hs is the right template because of the changed ROM-Base address!?

2. I am not addicted to GUI stuff, I would prefer simple make within EMACS...
    I just wanted to ensure that the CHDK-Shell stuff works properly...
   ...but as most times I get lost in the GUI  :xmas
   -> I cloned a platform directory...don't care which for the moment...into  trunk/<last_trunk>/platform/ixus220hs
   Now I've no idea how to use CHDK-Shell to compile this new platform.

May seem ridiculous to you...so please give me a hint how to bring this platform into the project list of the shell...Please!

...have fun...

Michi


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #31 on: 03 / May / 2011, 16:00:55 »

May seem ridiculous to you...so please give me a hint how to bring this platform into the project list of the shell...Please!

You need to modify the Makefile and makefile.inc in the root of the trunk directory to include your new port.

Ported :   A1200    SD940   G10    Powershot N    G16

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #32 on: 03 / May / 2011, 16:07:37 »
yeah...thx!

I found it this minute...seems to be common make structure to me below the GUI stuff...

I just have to adjust the path variable for the compiler and it will work fine!

...have fun...

Michi

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #33 on: 03 / May / 2011, 17:23:35 »
I found it this minute...seems to be common make structure to me below the GUI stuff...

I just have to adjust the path variable for the compiler and it will work fine!
Correct- the CHDK-Shell GUI is really just a wrapper around the standard gcc command line tools.
Ported :   A1200    SD940   G10    Powershot N    G16


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #34 on: 03 / May / 2011, 23:03:21 »
Hi,

I need some help understanding the build process better.

I tried to compile a cloned platform directory with the PRIMARY.BIN of the ixus220hs and get, as expected, some errors.

finsig reports a list of unresolved symbols:
Close
Fgets_Fut
Fread_Fut
Fwrite_Fut
GetCurrentAvValue
GetParameterData
...

I looked a bit inside of finsig, it does obviously a pattern matching search on the PRIMARY.BIN!
Can anyone give me a short overview, how this is done to understand why the function stubs are not found.
There seems to be a threshold percentage which is treated as fault. I'm not sure what the process is to fix the problem.

I understand, that the signatures as defined in signatures_dryos.h are defined are searched. What does it mean if the functions are not found in PRIMARY.BIN!?

Thx for your help in advance...

Michi
« Last Edit: 03 / May / 2011, 23:09:27 by michi1911 »

*

Offline reyalp

  • ******
  • 14082
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #35 on: 03 / May / 2011, 23:13:26 »
I understand, that the signatures as defined in signatures_dryos.h are defined are searched. What does it mean if the functions are not found in PRIMARY.BIN!?
It means that canons code has changed enough that you need to find the functions manually.
Don't forget what the H stands for.

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #36 on: 03 / May / 2011, 23:21:21 »
Okay...that seems to be pretty clear...

I just want to find out, where in the build process the overrides have to be placed?

The signatures_dryos.h is common for all platforms and it would be a bad idea to put in platform specific signatures!?


...have fun...

Michi

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #37 on: 03 / May / 2011, 23:52:01 »
Okay...that seems to be pretty clear...

I just want to find out, where in the build process the overrides have to be placed?

The signatures_dryos.h is common for all platforms and it would be a bad idea to put in platform specific signatures!?


...have fun...

Michi

Ahem ... you might find the pre-release of CHDK-PT that you downloaded somewhat useful.  Try the List Convert -> Stubs button.  It has finsig and gensig intergrated.  Point it at a few recent camera releases and see if it comes up with better matches than the old data in signatures_dryos.H that you are trying to use.

EDIT :  start with the stubs_entry_2.S files for each reference port you compare to.  If the routine you are looking for is there, then the one in stub_entry.S is almost certainly wrong.




« Last Edit: 04 / May / 2011, 00:16:00 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline reyalp

  • ******
  • 14082
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #38 on: 03 / May / 2011, 23:55:05 »
Okay...that seems to be pretty clear...

I just want to find out, where in the build process the overrides have to be placed?

The signatures_dryos.h is common for all platforms and it would be a bad idea to put in platform specific signatures!?
If a stub is not found, you find the address manually (perhaps with waterwingz tool) and then add the address manually to stubs_entry_2.S

Do not change the signatures files. edit to add: unless you are sure you know what you are doing
« Last Edit: 04 / May / 2011, 00:09:40 by reyalp »
Don't forget what the H stands for.

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #39 on: 04 / May / 2011, 00:04:48 »
Do not change the signatures files.
Background note :  if you do play with the signature files,  I believe that you have to recompile finsig.c manually.  The signature files are included at build time, not runtime - and as far as I can tell finsig is not recompiled as part of a normal build., because the primary.bin files used to create them are not included in the tools directory.

Also,  I believe that changing the signature files means your port will not be eligible to include in the autobuild server as it could break many other ports.
« Last Edit: 04 / May / 2011, 00:24:34 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

 

Related Topics