Rockbox Development > Starting Development and Compiling

How to start on my own custom firmware - I have programming knowledge

(1/3) > >>

opalelement:
Greetings all :D

I have been into programming for about 7 years now, mostly with C#, PHP, HTML, and JavaScript, but I have also used ASP, ASP.NET, VB2005, Java, and Flash/ActionScript.

I wish to create my own custom firmware (everything, not just appearance) for my Sansa E200R, but I have a few questions first.

1) Can custom firmware be made using parts of Rockbox, such as the bootloader?
2) What would be the best programming language to use? It doesn't have to be one that I know already, I am about 95% self taught* and can learn a new one such as C++ if need be.
3) Is it possible to completely destroy the E200R, or will it be possible to revert it through recovery mode?

Thank you for all replies in advance.

* Self-taught doesn't mean the occasional boredom "Hello World" examples. I build things like content management systems, user login/registration/management systems, phpBB3 modifications, and Facebook applications. You can Google my name, Opalelement, to see my experience.

[Saint]:
Opalement,

It all depends entirely on whether or not you actually mean it when you say that you wish to develop everything for your firmware...or if you want to use elements already implemented by Rockbox.
If the answer to the question is the former, then I'd say...feel free to *attempt* to develop a firmware for your target entirely from scratch if you wish, and use whatever programming language you care to use....as it's entirely up to you.

However if the answer is the latter, then you're constrained to using the same language as the original developers, since you will be borrowing rather heavily from their already established code.

To "completely redevelop" a new OS for your target that compared with rockbox in any way, shape, or form would certainly take a substantially large amount of time and effort that could be better directed towards the further development of the current code.

To get to it's current state Rockbox has taken many years of development, and many, many, many more developers.

Even if you worked on it fulltime, it's a HUGE effort, and the groundwork of a free, open source FW has already been laid in Rockbox...

I'd suggest downloading the Rockbox Source via SVN and having a look at that before committing to the task of making an entirely new effort for one target alone.

It's piss-easy for even a novice user to apply changes to a copy of the SVN and recompile their own build of rockbox, compared with "nigh on impossible" to generate a new, complete working OS for your target from scratch.

As for: Will I kill my DAP in doing so?

If you rockbox as a base, then probably not.

But if you do choose to start messing around with things yourself and attemp to build an entirely new...."everything" from scratch, expect to brick a few players before you get it right...

One advantage of making a custom rockbox build is that the target chips architecture has already been investigated and understood (a massive task), and the code supports multiple targets, as opposed to just one.

Simply suggestions,
[St.]

nls:
I think developing your own firmware can be a very good learning exercise but as you probably understand and as was stated before, creating something like rockbox takes a *lot* of work (the rockbox hacking started 8 years ago and the project has more than 500 contributors by now).
The language to use is usually a question of understanding what you need and what that language needs to support it. Rockbox is written in C for a good reason.
If you want to create something that is your own firmware in a sense i'd suggest trying to port rockbox to a new player as it will probably give you a better understanding of how firmwares work without needing to rewrite everything from scratch, a new port is usually a *lot* of work as it is :)
Or if you are more interested in the apps layer, replace a part of it with something you like.

opalelement:
Thank you for your comments :)

Is there a way to view the source files of Rockbox where I can edit them, and then a way to compile them to firmware?

EDIT: Just found this: http://www.rockbox.org/wiki/SimpleGuideToCompiling

Next question; is it possible to edit/compile the firmware with Visual Studio?

saratoga:

--- Quote from: opalelement on December 28, 2009, 05:37:58 PM ---Next question; is it possible to edit/compile the firmware with Visual Studio?

--- End quote ---

You can edit them, but will not be able to compile.  This is because VS doesn't understand our build system, and also because it does not include a suitable compiler.  Instead, I recommend following the directions on that page.

Navigation

[0] Message Index

[#] Next page

Go to full version