Rockbox - General Discussion and Assistance - CHDK Forum

Rockbox

  • 20 Replies
  • 6340 Views
*

Offline RaduP

  • *****
  • 908
Rockbox
« on: 22 / April / 2009, 03:37:57 »
Advertisements
I recently discovered Rockbox, http://www.rockbox.org/
It's sort of a sister project, targeted at some MP3 players that use some specific chips (which have ARM7 cores).
The project is GPL, and they have their own mini OS. I was thinking, it would be really nice if we could have something like this too, a total replacement for the Canon firmware. There are a lot of benefits to it, such as:
1. Easier to port to new cameras.
2. 100% legit, Canon would never be able to complain.
3. More freedom to do stuff (fewer memory constraints, no need for dirty hacks, etc.)
4. The ability to use the camera in ways it really wasn't designed to (use for astrophotography, microscopy, etc.)

I always wondered why no one attempted to do something like this.

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: Rockbox
« Reply #1 on: 22 / April / 2009, 04:25:03 »
it's funny this was already discussed in a thread you also took part in here :D

anyhows, last december a rockbox dev joined us in irc and was fascinated by the idea of a hackable camera and he was going to buy one. he got one for christmas, but didnt show up in the channel yet.

*

Offline RaduP

  • *****
  • 908
Re: Rockbox
« Reply #2 on: 22 / April / 2009, 04:29:18 »
Yes, it has been discussed there, but this time I was thinking more into the lines of trying to 'borrow' code from Rockbox, and having a micro kernel rather than a Linux distro. Besides, that topic is dead, so maybe there would be more interest in this one.

*

Offline reyalp

  • ******
  • 13500
Re: Rockbox
« Reply #3 on: 22 / April / 2009, 04:35:39 »
I always wondered why no one attempted to do something like this.
Try it and get back to us ;)
Don't forget what the H stands for.


*

Offline RaduP

  • *****
  • 908
Re: Rockbox
« Reply #4 on: 22 / April / 2009, 04:38:53 »
I would love to, if I were familiar with the hardware and with OSes. Unfortunately, my experience is with servers programming and stuff. But if someone gets it going, I might be able to help with some of the non very low level related stuff.

*

Offline RaduP

  • *****
  • 908
Re: Rockbox
« Reply #5 on: 28 / April / 2009, 20:37:29 »
Check this out: http://www.linuxdevices.com/news/NS2881537833.html
Sony has released the Linux kernel for their digital cameras, and since they use a similar CPU and hardware, I think it might be useful for CHDK, if someone ever wants to port Linux on it. I'll take a look at it, but I am not a Linux expert at all.

*

Offline reyalp

  • ******
  • 13500
Re: Rockbox
« Reply #6 on: 28 / April / 2009, 23:16:48 »
I would love to, if I were familiar with the hardware and with OSes.
No, if you were more familiar, you wouldn't wondering why no one had tried it, because you'd have some idea of the amount of work involved.

Check this out: http://www.linuxdevices.com/news/NS2881537833.html
Sony has released the Linux kernel for their digital cameras, and since they use a similar CPU and hardware.
The hardware is not "similar" in any useful sense. If you were going to replace the canon firmware instead of just hooking it like CHDK does, you'd have to reverse engineer the entire firmware and write drivers for all that completely undocumented hardware. This is far more work than everything that has been done in CHDK to date. If you wanted to support multiple cameras, you'd have to do a large part of it for each one, because canon changes their hardware. Digital cameras are much more complicated than MP3 players. Unlike MP3 players, much of the competition revolves around the unique, proprietary hardware.

Furthermore, because of RAM limitations you'd have to write your firmware to onboard flash, which would likely result in a few bricked cameras before you got it right. You'd also have to implement all the canon functionality to get useful behavior. Then there's interfacing with the DSP side of digic, which is basically a black box at this point.

Re the sony camera, does anyone know if Sony actually lets you upload modified code, or is the source just for show ?

Don't forget what the H stands for.

*

Offline RaduP

  • *****
  • 908
Re: Rockbox
« Reply #7 on: 28 / April / 2009, 23:34:38 »
No, if you were more familiar, you wouldn't wondering why no one had tried it, because you'd have some idea of the amount of work involved.
People ported Linux on devices much harder to port to. Of course it is hard, but that's not a reason to not do it.

Quote
The hardware is not "similar" in any useful sense. If you were going to replace the canon firmware instead of just hooking it like CHDK does, you'd have to reverse engineer the entire firmware and write drivers for all that completely undocumented hardware. This is far more work than everything that has been done in CHDK to date. If you wanted to support multiple cameras, you'd have to do a large part of it for each one, because canon changes their hardware. Digital cameras are much more complicated than MP3 players. Unlike MP3 players, much of the competition revolves around the unique, proprietary hardware.
I am thinking in small steps. First get the camera to boot Linux and be able to use the SD i/o stuff, and print things on the screen. Then do the camera specific stuff.

Quote
Furthermore, because of RAM limitations you'd have to write your firmware to onboard flash, which would likely result in a few bricked cameras before you got it right. You'd also have to implement all the canon functionality to get useful behavior. Then there's interfacing with the DSP side of digic, which is basically a black box at this point.
As we were discussing earlier, the ram is NOT a limitation, the minimum amount seems to be 32MB of RAM, and that's more than enough space for Linux. Only about 15 MB of memory is actually needed for RAW/JPG stuff (you don't need a buffer for the whole JPG image).

[/quote]Re the sony camera, does anyone know if Sony actually lets you upload modified code, or is the source just for show ?[/quote]
I think it's just for the show. It's not the whole firmware, only the Linux stuff that is GPL and they are legally required to release.


*

Offline reyalp

  • ******
  • 13500
Re: Rockbox
« Reply #8 on: 29 / April / 2009, 00:26:25 »
People ported Linux on devices much harder to port to. Of course it is hard, but that's not a reason to not do it.
I'm not saying it's impossible, just that it is a huge amount of work. The gain from the thousands of hours (and I have enough knowledge of the cameras to say this is NOT an exaggeration) it would take to do this is dubious.

If you just wanted to hack on something for the sake of it, sure, knock yourself out. It would be nifty to see a scratch built OS on your camera. Instead, you seem to be saying someone else should do it, without any grasp of the effort required.
Quote
I am thinking in small steps. First get the camera to boot Linux and be able to use the SD i/o stuff, and print things on the screen. Then do the camera specific stuff.
So ? To actually get something that is usable as a camera, you need to do all the camera specific stuff. To have a camera that is as functional as a stock canon camera you to do much more. If you invested the same effort in improving CHDK, it could be very slick. Instead of duplicating the many man-years of programmer time canon has put into their firmware, you can take advantage of it.

Quote
As we were discussing earlier, the ram is NOT a limitation, the minimum amount seems to be 32MB of RAM, and that's more than enough space for Linux. Only about 15 MB of memory is actually needed for RAW/JPG stuff (you don't need a buffer for the whole JPG image).
You are making unwarranted assumptions here.
Don't forget what the H stands for.

*

Offline RaduP

  • *****
  • 908
Re: Rockbox
« Reply #9 on: 29 / April / 2009, 03:12:21 »
If you just wanted to hack on something for the sake of it, sure, knock yourself out. It would be nifty to see a scratch built OS on your camera. Instead, you seem to be saying someone else should do it, without any grasp of the effort required.
I, and many other people would be able to contribute to CHDK if it was less hacky to do so. If I could write normal code for a normal OS, without very strict memory constraints, it would be pretty easy.

Quote
So ? To actually get something that is usable as a camera, you need to do all the camera specific stuff. To have a camera that is as functional as a stock canon camera you to do much more. If you invested the same effort in improving CHDK, it could be very slick. Instead of duplicating the many man-years of programmer time canon has put into their firmware, you can take advantage of it.
There is no point in duplicating the Canon firmware and implementing the same features. The point is to add some other features that are hard or impossible to do in CHDK. The only feature that would have to be duplicated is to actually take a picture.

Quote
You are making unwarranted assumptions here.
How so?

 

Related Topics