supplierdeeply

A1000IS porting effort

  • 4 Replies
  • 3270 Views
A1000IS porting effort
« on: 22 / October / 2008, 23:08:30 »
Advertisements

EDIT: The (actual) porting effort is happening over here. Consider any information below out of date. LCB


--------------------------------------------------
Hello all,

I'm interested in porting to the A1000IS platform. From what I've seen so far, the porting itself can't be too terribly difficult. I've outlined the process that I apparently need to go through, along with my understanding of what needs to happen.

I've completed the following steps:

- Dump firmware (link at A1000IS - CHDK Wiki)

- Create a platform subdirectory for a new camera model/fw version (you can just copy an existing one)
Question: I've copied from the SX100IS, as it works currently and has the closest P-ID. Is this the best folder to copy from? (see table at P-ID (Table) - CHDK Wiki)
Question: Which of the files do I need to keep? Which of the files to I need to modify? Which should I get rid of and start over on?

Here is my current situation:
- Have firmware dump
- Have strings
- Have disassembled firmware
- Have setup to compile firmwares for other platforms
- Don't have IDA

The following is left:
- Find the adresses of the RAW-, video- and frame-buffers.
Question: Where do I look for this stuff? I may be able to figure this out by looking at the disassembly.

- Modify a couple of addresses and constants.
Question: Which ones?

- Check the keyboard "driver" (button constants and behaviour).
Question: I am assuming that this simply involves putting the firmware on the camera and checking that the buttons are capable of bringing up menus, etc or something.

- Run auto-find tools (Documentation: Signature finder - CHDK Wiki)
Question: Exactly which functions are needed for CHDK to run correctly? Is there a list? Surely there's a way to list dependencies of CHDK on the firmware.
Question: The above referenced page instructs you to put "all firmware dumps of every camera" into the tree. Is it really necessary to find the 60+ different firmwares? I am aware of the firmware download page at [DOWNLOAD LINKS] Firmware dumps available .

- Check the addresses of autofound functions. Manually correct/find the right addresses for some of them with a disassembler like IDA Pro.

Any tips that will help me complete the above would be great. I'm currently trying to make my way through a couple of other porting threads, including the S9 thread.

-----------------------------
Setup details:
Using a cygwin configuration on Windows XP. Have an A1000IS.
« Last Edit: 12 / December / 2008, 21:18:28 by leecbaker »

*

Offline reyalp

  • ******
  • 11343
Re: A1000IS porting effort
« Reply #1 on: 23 / October / 2008, 02:12:08 »
The following is left:
- Find the adresses of the RAW-, video- and frame-buffers.
Question: Where do I look for this stuff? I may be able to figure this out by looking at the disassembly.
What I would do is look at the corresponding addresses (and code that refers to it) on a known camera. Then try to find the equivalent on yours. How exactly you find the equivalent depends what landmarks are available. Sometimes there's a string or obvious sequence of code, or sometimes you have to find something related and trace your way through it.
Quote
- Modify a couple of addresses and constants.
Question: Which ones?
You'll have to look through all the platform and loader code. You basically have to be pretty familiar with this to successfully port CHDK, so there wouldn't be much gained by trying to keep a list. This answer applies to most your questions, BTW.
Quote
- Run auto-find tools (Documentation: Signature finder - CHDK Wiki)
Question: Exactly which functions are needed for CHDK to run correctly? Is there a list? Surely there's a way to list dependencies of CHDK on the firmware.
Not explicitly. First step would be to get the boot process working, you can just stub out all the functions that aren't required by that.

In the end, basically all of the functions in stubs_entry.S, stubs_entry2.S and stubs_min.S + some miscellaneous stuff found in the rest of the platform code need to be correct for a full CHDK port. You can leave stuff out if you don't use the features that depend on them.
Quote
Question: The above referenced page instructs you to put "all firmware dumps of every camera" into the tree. Is it really necessary to find the 60+ different firmwares? I am aware of the firmware download page at [DOWNLOAD LINKS] Firmware dumps available .
You only need all of them if you are trying to add new auto detected entry points. For porting, you will probably want to have a few on hand, including whichever camera you use as a basis for your port, and the reference firmware for your cameras OS.

You should read through these threads (as well as the For Developers section of the wiki, but I assume you already found that)
How does CHDK start running
DryOS - some success

If you aren't already familiar with it, you'll want to spend some time with the ARM documentation. ARM does a lot of things that might not immediately make sense to someone used to something like x86.
Don't forget what the H stands for.

*

Offline ma_jk

  • **
  • 60
Re: A1000IS porting effort
« Reply #2 on: 20 / November / 2008, 18:12:57 »
So... how many A1000 users are out there?
Would it be worth starting a port on this camera?

Leave a message  ;)

Re: A1000IS porting effort
« Reply #3 on: 22 / November / 2008, 06:41:59 »
Absolutely worth it...very solid camera for the price point...Diablo seems to be on his way towards a successful port... A1000IS porting...


Re: A1000IS porting effort
« Reply #4 on: 26 / November / 2008, 22:59:19 »
So... how many A1000 users are out there?
Would it be worth starting a port on this camera?

Leave a message  ;)

I have the camera myself and am loving it. Would be incredibly happy and grateful if a port was made to it, mainly to use it for RAW shooting.

Like letsapocalypso said, Diablo is making his way towards a A1000IS port.

 

Related Topics