DryOS - some success - page 6 - DryOS Development - CHDK Forum supplierdeeply

DryOS - some success

  • 220 Replies
  • 183393 Views
*

Offline GrAnd

  • ****
  • 916
  • [A610, S3IS]
    • CHDK
Tools for starting...
« Reply #50 on: 06 / January / 2008, 13:57:46 »
Advertisements
I've made IDA-signature file for DryOS firmwares (based on functions from A720 dump). Also I've slightly adapted scripts for initial firmware disassembling/analysis. 
So, all this stuff can be applied to an another firmware to have a start point.
CHDK Developer.

Re: DryOS - some success
« Reply #51 on: 06 / January / 2008, 14:35:39 »
mlaprise: I think you should look in this thread: http://chdk.setepontos.com/index.php/topic,263.0.html. I can probably help you with some stuff, but I don't have a standard diode, standard output and standard tools, so beware ;)


Thanks... this is exactly what I was looking for !

Re: DryOS - some success
« Reply #52 on: 06 / January / 2008, 20:10:59 »
I hope this will get you an Idea. Just ckeck the entrypoints in my stubs_entry_2.S, find them in the a720-firmware and locate the same code in your own. Btw, since I had the S5-firmware opened: your physw_status is 0x11ABC.
It seems like the S5 doesn't have kbd_power_on and kbd_power_off. You might want to have a look how the kbd is handled with the S3.

Does anybody know where I can acquire a copy of the S3's firmware? I tried to google this a bit, but I guess it is a bit obscure. If someone could aide me in finding that, then that would be great. Trying to compare my S5 vs. the A720 leads to issues like the one mentioned above, and I find myself trying to find out what the S3 did instead.. and well, I guess it may even be handy to have a A710 firmware to compare against the A720.. but, certainly having the S3 firmware would be good.

Thanks!
-Scott

*

Offline jeff666

  • ****
  • 181
  • A720IS
Re: DryOS - some success
« Reply #53 on: 06 / January / 2008, 21:23:15 »
Quote from: geekmug
Does anybody know where I can acquire a copy of the S3's firmware?

You read this thread, did you?

In general it's a good to have as much information as possible, but the port you will be working on is from an A720 to an S5. Just because two DryOS cams of different device series have more in common than two G-series cams with different OS. The kbd is the only exception.

Quote from: GrAnd
I've made IDA-signature file for DryOS firmwares
Great, thanks.


Here's the current stage of development: http://www.zshare.net/download/62590591cd2690/
Changes:
  • fixed the naming convention bugs about "Statup" and got rid of unused function names in boot.c and stubs_entry_2.S
  • started with merging "CaptSeqTask" into CHDK. It's needed for raw-support and NR-suppression. I included the task itself in boot.c and capt_seq.c but I need to gain more information about what this task does and how it does it.
  • added two debug-functions. #1 is a memory viewer, #2 lists the running tasks. Press <Fn> to reset the Task-offset (else you'll see only junk).
  • updated DryOS function list.

Cheers.


Re: DryOS - some success
« Reply #54 on: 07 / January / 2008, 06:05:16 »
Quote from: geekmug
Does anybody know where I can acquire a copy of the S3's firmware?

You read this thread, did you?

In general it's a good to have as much information as possible, but the port you will be working on is from an A720 to an S5. Just because two DryOS cams of different device series have more in common than two G-series cams with different OS. The kbd is the only exception.

This is pretty much the exact thing I was working on that made me wonder.. beyond the surface level, the S5's code for handling the keyboard diverges from the A720 pretty drastically.

I've not had much success today.. I copied the relevant bits of the S5 code to the boot.c sequence and modified it all correctly, but I can't get the camera to complete a boot-up no matter where I shortcut out of the edited code. Presumably, I've gotta get at least to the part where I skip StartDiskboot, otherwise it'll be stuck in a loop of reading DISKBOOT.BIN. If I leave the StartDiskboot call in, I get a nice endless loop of flashing my "hacked code start on" LED. Commenting that out that call, like you did, Jeff, gets the thing to finish out the code, but I eventually end up with a locked up camera.. bleh.

I went ahead and made a StartDiskboot function that skips the check for DISKBOOT.BIN, just in case there was some magic in there that was being missed. However, I am still stuck at this point. The only red flag for me was that my task_Startup is slightly different than yours, but that really shouldn't matter that much if I am leaving it alone and just trying to get to a normal booted camera.. bleh (again).

Until another day,
-Scott

*

Offline jeff666

  • ****
  • 181
  • A720IS
Re: DryOS - some success
« Reply #55 on: 07 / January / 2008, 06:19:47 »
Quote from: geekmug
If I leave the StartDiskboot call in, I get a nice endless loop of flashing my "hacked code start on" LED.

This problem is mentioned in my (lengthy) tutorial-posting.
I had the same problem and needed a way out of the boot-loop. I did it by removing the card after my code has started but before the bootdisk loader would run.

It's your task to build something funny that allows you to run the camera with opened battery/card-case.

If you did this, you can rollback until you find the code that causes the failure.

Cheers.

*

Offline DDMan

  • *
  • 12
  • A720 IS
Re: DryOS - some success
« Reply #56 on: 07 / January / 2008, 10:45:05 »
Because this is my first post, I first want to thank all the CHDK developers for their excellent work and Jeff particularly for progressing the DryOS port! I bought my cam 3 months ago and was sad to hear that Canon changed to DryOS.

I wanted to try your current status with my A720 firmware 1.00c but I think I am a little bit too fast.
I copied the diskboot.bin and the .fir file from the bin folder of your zip on to the root folder of my SD card. But when I start my cam in play mode there is no option to update and therefore start CHDK.  :blink:

Could you please help me?

Cheers
« Last Edit: 07 / January / 2008, 10:50:39 by DDMan »
A720 IS Firmware 1.00c

*

Offline DataGhost

  • ****
  • 314
  • EOS 40D, S5IS
    • DataGhost.com
Re: DryOS - some success
« Reply #57 on: 07 / January / 2008, 10:58:07 »
Ok, I get some very strange behaviour from my S5. I decided to see if the boot works again after removing the memorycard, I'm unsure why it worked before (with a small led-blink on startup), but if I make the delay after the blink (in boot() ) long enough to have enough time to remove the SD card, the camera starts showing strange behaviour, possibly/probably caused by a timer expiring somewhere... when I turn on my camera, I get the delay and the reboot, as expected (I run the code which is called directly after the 'second' subroutine, the one which is called from sub_????000C, sub_????01B8 in my firmware, and I jump to the rebootcode (or 0xFF810000, doesn't matter) afterwards). Though, when I remove my SD card while the led is still lit, it stops working? It doesn't respond to any keys anymore, while it should actually reboot itself. Even more, if I insert the SD card again, it starts blinking again? I can even recompile the code for another LED, upload that onto the SD and feed it to my camera, it'll blink the other LED. What I notice is, shortly after removing the SD card (so, after the delay has ended), the camera emits a very subtle *tick* noise, it also does that when starting the camera into display mode with no memory card inserted or when turning it off.
Anyway, if I insert a non-bootable SD card in my camera, nothing happens, but if I wait a bit longer before inserting it, the display quickly shows the bootup logo and turns off again. At that point I cannot turn the camera on, with or without non-bootable memory card. If I insert the bootable card again, it'll resume blinking *after* I turn it on again. Very strange. I uploaded two short movies so you can see what I'm talking about :)

http://stack.dataghost.com/07012008069.mp4 Camera reboots though refuses to run it's own code
http://stack.dataghost.com/07012008070.mp4 Camera goes through a fairly complete initialization, LCD blinks for an instant and it refuses to do anything until I insert my bootdisk again and turn it on.

Oh and grrrr.. for some reason, 'it works again'? I tried shortening the loop while my camera was rebooting itself, it didn't continue (sometimes it doesn't continue :p ), so I cut off the power and turned it on again... it rebooted quickly as expected, it booted into display mode when I removed the memorycard, as expected... so I undid my change to the source and compiled it again to have my initial program back and now it does go into display mode when I remove the card :|


edit: Never mind, forget this. My camera asked me to change the batteries when I turned it on in picture mode, so I turned it off, started display mode and went to picture mode without a problem... I could also enter picture mode again afterwards... turns out that my battery-construction is crappy (hey, it's just cardboard), the power is sometimes interrupted for a very short time when I touch it right around the SD card area, the thing I'm constantly touching with my thumb. I'm going to build a new one now :)
« Last Edit: 07 / January / 2008, 11:01:42 by DataGhost »


*

Offline jeff666

  • ****
  • 181
  • A720IS
Re: DryOS - some success
« Reply #58 on: 07 / January / 2008, 13:17:27 »
Quote from: DDMan
I wanted to try your current status with my A720 firmware 1.00c but I think I am a little bit too fast.
I copied the diskboot.bin and the .fir file from the bin folder of your zip on to the root folder of my SD card. But when I start my cam in play mode there is no option to update and therefore start CHDK.  :blink:

The "traditional" method to start CHDK doesn't work with DryOS since it doesn't have the "Firm Update" Menu. Well, actually it seems like "Firm Update" is still there, but we don't know what enables it, yet.

To start CHDK in a DryOS-Cam you need to make your card "bootable" (see: http://chdk.wikia.com/wiki/Bootable_SD_card, the article also talks about "blinking" - just ignore that). If the card lock is set, the camera will try to load "diskboot.bin" on startup, thus starting CHDK if it is on the card. Forget about the .FIR-file. You just need "diskboot.bin"

Be warned about the lack of features. It still doesn't do much and is "not cool" for most users (it is for developers, though :D). Nice features (like raw-support and NR-suppression, which are basically the only features) will be available after I figure out how "task_CaptSeqTask" works.

Cheers.

*

Offline DDMan

  • *
  • 12
  • A720 IS
Re: DryOS - some success
« Reply #59 on: 07 / January / 2008, 13:49:04 »
Thanks, Jeff! You're the man! Works fine ;-)

Hope to see more of your work. Will gladly test it. ;-)

So which features are implemented by now?  :D

Cheers
A720 IS Firmware 1.00c

 

Related Topics