SD980 beta release - page 9 - CHDK Releases - CHDK Forum  

SD980 beta release

  • 376 Replies
  • 119498 Views
*

Offline valor

  • *
  • 33
Re: SD980 beta release
« Reply #80 on: 03 / March / 2010, 03:07:24 »
Advertisements
Hi Symbol,
Welcome to the project, good timing too :)
I really hope your camera comes with 1.01C too  :xmas

Re: SD980 beta release
« Reply #81 on: 16 / March / 2010, 01:11:41 »
Thanks for the welcome.

I have received my camera (today) and verified that it has Firmware Version 1.01C (according to EXIFTOOL anyway).

I have looked at IDA (and my mouth watered), but I cannot afford the price tag.
(Well, strictly speaking, I won't even try to convince my wife that we can afford it.  :-X  )
So, I have looked at other ways to examine the 1.01C code.
I have the 4MB (incomplete) dump - thanks to whoever created it (was it valor?)
I have created a dis-assembly file using the scripts from another developer thread here.
I have found a tool that allows me to "simulate" the execution of the program from the .BIN file - it is Crossware - Community Edition.
I set up a completely different ARM processor - using the AT91SAM9G20 - and I "skip around" instructions that are not well handled because of the different base architecture (PMU vs. MMU, for one).
I have emulated enough of the code to notice that the 4MB dump is not the complete firmware dump.
(for starters, the startup code copies code from ffc0282c through ffc2181b to location 00001900.)
However the dump data ends at ffc0fbff.
This means that there is some code missing in the dump.
Does anybody know yet how to get the remaining dump data?
I noticed a post or two that indicates that the LED dumping hangs at the end of the first 4MB.  (which is what this dump essentially is)
I am lazy enough to not particularly wish to try dumping additional memory if someone else is better set up for this than I am.

I was unable to obtain the beta source code for CHDK for the FW1.00 SD980 port.
(Something about a limit on the number of downloads, or some such)
So my efforts to understand the CHDK source code have gone not very far yet.
I have tried a binary compare of the 1.00 dump to the 1.01C dump.
Much is the same, but much is also different
Quick scanning, however, seems to show most changes are simply new memory addresses for routines, etc.
This is all going to take considerable time, but now that I am started, I can keep "chugging away" at it.

Anyway, it is getting late here so I am off to bed.

Good night...





*

Offline RaduP

  • *****
  • 908
Re: SD980 beta release
« Reply #82 on: 16 / March / 2010, 14:24:12 »
Hi, let me post the latest source code from my port, it should help you quite a bit port the new firmware.
« Last Edit: 16 / March / 2010, 14:25:44 by RaduP »

Re: SD980 beta release
« Reply #83 on: 16 / March / 2010, 21:16:03 »
Thank you RaduP.

I have looked the code over (briefly) - looks *very* useful.

I did notice that a lot of the disassembled startup code is present as straight assembly - with no comments at all.
Is there some reason for the lack of comments (other than: nobody has done it yet)?
If there is no reason not to, I can contribute quite a few comments on the startup code already as I have been concentrating on understanding what is going on, and not just skipping past this code.

I am expecting to use Yagarto tools and Eclipse as my cross development platform.
This could also take a while to set up for CHDK - or not.
I have experience with these tools, and am currently working with the AT91SAM9G20 (which is why I am using it as my base for the investigative emulation of the code)

Thanks again,

Symbol


Re: SD980 beta release
« Reply #84 on: 16 / March / 2010, 22:51:29 »
Hi again RaduP. Which svn revision did you start with?

*

Offline reyalp

  • ******
  • 13457
Re: SD980 beta release
« Reply #85 on: 19 / March / 2010, 00:50:09 »
I did notice that a lot of the disassembled startup code is present as straight assembly - with no comments at all.
Some other ports are commented (not always correctly ;)). This code is very similar between cameras.

Quote
I am expecting to use Yagarto tools and Eclipse as my cross development platform.
CHDK is very picky about toolchain configuration. I would either use one of the pre-built ones or build your own. If you happen to be a GCC/ARM expert and can explain what needs to be changed to make this saner, please do :)
Don't forget what the H stands for.

Re: SD980 beta release
« Reply #86 on: 20 / March / 2010, 18:02:48 »
Thanks reyalp.
I will look at other comments and compare mine.
I will incorporate them into my version
Also thanks for the tips about the toolchains.
While I probably could figure out how to use another toolchain, I don't really want to spend the time.
I am working out how to use the CHDK-Shell as my tool.
At this point, I have a working directory under Tortoise SVN control - with all the source checked out from assembla, and starting to add new development directories/folders.
The first job to complete is to add in the Source from RaduP (and version 1.00C) and get it building.
Then I want to start building my version 1.01C and get it operational.

*

Offline reyalp

  • ******
  • 13457
Re: SD980 beta release
« Reply #87 on: 20 / March / 2010, 18:28:12 »
Quote
At this point, I have a working directory under Tortoise SVN control - with all the source checked out from assembla, and starting to add new development directories/folders.
The first job to complete is to add in the Source from RaduP (and version 1.00C) and get it building.
Then I want to start building my version 1.01C and get it operational.
Great. You may find the G11 port a useful reference, since it's another one of the newest dryos verion cameras that has been pretty much fully ported.
Don't forget what the H stands for.


*

Offline valor

  • *
  • 33
Re: SD980 beta release
« Reply #88 on: 20 / March / 2010, 18:34:24 »
Hi Symbol,
Thanks for taking the initiative.
The 1.01C dump I made was prepared for a release with some help from RaduP, it should be complete, but if you find out that it lacks some bits, I still have the the IR COM cable, so i can i blink the firmware out again.

Re: SD980 beta release
« Reply #89 on: 20 / March / 2010, 19:02:59 »
Thanks for the tip reyalp.  I was scanning releases to see which might be most useful.
That is valuable information.

valor - the dump I got (probably yours) is not complete.
It is a full 4Mbyte dump, but as my previous post indicates, the startup code expects something in the ROM (actually, it is probably Flash memory) at least all the way to 0xffc2181b (which would take at least 4.068 <binary> Mbytes of dump to get it complete)
Perhaps if I get a small amount of code working from your dump, I can get a complete dump put onto an SD card from my camera using CHDK (ultra-lite)

 

Related Topics