Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Starting Development and Compiling
| | |-+  Programming Help?
« previous next »
  • Print
Pages: [1]

Author Topic: Programming Help?  (Read 2268 times)

Offline froggyman

  • Member
  • *
  • Posts: 214
Programming Help?
« on: April 15, 2009, 05:36:11 PM »
Hello all, I have been using RockBox for quite some time now and I have also been looking into starting to program for a while too. And I thought that C would be a could language to start on being that so many things are written in it.

So does anyone know of any good, in depth guides to help someone who wants to start C programming. Also, the main reason i want to learn C is because of so many programs are made with it and so I can understand the rockbox source better, along with the patches.

 I do however have alot of programming expierence in Ti-Basic and Z80 assesmbly.

Sorry if this is the wrong thread for this, but it seemed like the best one.
Logged
iPod Video 5.5G 30GB - Now Dead :(
Sansa Fuzev2 4GB

"To prevent this day from getting worse, I'll just read ERROR as GOOD THING"

Offline aaron424

  • Member
  • *
  • Posts: 49
Re: Programming Help?
« Reply #1 on: May 07, 2009, 08:56:14 PM »
I also would like to start working with C programming. Any good articles?
Logged
I have DAPs. And Headphones. like these: 3 sansa e250s (all dead and rockboxed) 1 sansa e280 rockboxed moonscape's build with 8gb micro SDHC card (class 2), 1 sansa m250 rockboxed, 1 sansa c240 rockboxed, 1 sansa fuze 4 gb v2, 1 lonely sansa view 16 gb waiting for rockbox!!

Offline froggyman

  • Member
  • *
  • Posts: 214
Re: Programming Help?
« Reply #2 on: May 07, 2009, 09:12:23 PM »
I just got a book from my librairy titled "The C programming Language" by K & R.

I also managed to find one on wikibooks: http://en.wikibooks.org/wiki/C_Programming

From what I found, its mostly a time comitment. I have also found a lot of refrence articles (listing C commands and their syntax) help out alot when writing programs for the first time. For example I am working on a piano plugin for rockbox and use the refrence book to see what commands I need to do what I want , it will be some time before I get anything done that works for the plugin, as this is my first "big" C program and still end up getting a lot of errors and what not.
Logged
iPod Video 5.5G 30GB - Now Dead :(
Sansa Fuzev2 4GB

"To prevent this day from getting worse, I'll just read ERROR as GOOD THING"

Offline Chronon

  • Rockbox Expert
  • Member
  • *
  • Posts: 4379
Re: Programming Help?
« Reply #3 on: May 07, 2009, 10:52:03 PM »
That book, The C Programming Language, is considered by many to be the canonical text on C.

Perusing source for existing plugins is also helpful for familiarizing yourself with the Rockbox plugin API.
Logged
Sansa e280, Gigabeat F40, Gigabeat S60, Sansa Clip+, iPod Mini 2g

Offline GodEater

  • Member
  • *
  • Posts: 2829
Re: Programming Help?
« Reply #4 on: May 08, 2009, 03:14:02 AM »
The main problem I always found with programming text books like K&R is that they teach you these basic steps, and once you reached the end of the book you know quite a bit about programming. What they always fail to do though is point out that now you've reached this level of understanding there's no good reason to use all these new skills you have to solve ALL your problems.

For example : If you're writing a program to transfer data over the internet you *could* do it with the skills you've picked up from reading K&R cover to cover, but you'd be mostly wasting your time, and probably making a ton of mistakes. What you *should* do is find a library (in the sense of "someone else's code", not in the sense of "a place which stores loads of books") that already does that. A lot of Rockbox regulars will know that our beloved Bagder is also the chief programmer of libcurl and the curl command line utility. If you wanted to do the above you'd be far better of using all the code that he's sweated away at over the years than starting again from scratch on your own.

Learning what libraries are out there and the best way to use them is the next step on the programming path in my opinion, and there are few text books which make that point well.

Programming for Rockbox is slightly similar. We don't have "libraries" as such, but there is heaps of code in the Rockbox code base for doing certain functions - it's important once you've finished your C book to go through that and work out which bits you can use, and which bits need you to write new functions.
Logged

Read The Manual Please

Offline froggyman

  • Member
  • *
  • Posts: 214
Re: Programming Help?
« Reply #5 on: May 08, 2009, 04:06:30 PM »
Quote
Perusing source for existing plugins is also helpful for familiarizing yourself with the Rockbox plugin API.

yeah I was actually just starting to do this because I realized that I need to take the time to understand syntax of existing code (like looking at the already created plugins)

I have found programing in easy because I always "think like a programmer" and think out all of the steps needed to get done in order for the program to execute the code, so coming up with the code isnt the problem for me, its really just finding the time to write it out on a computer and make sure i didnt make any typos.
Logged
iPod Video 5.5G 30GB - Now Dead :(
Sansa Fuzev2 4GB

"To prevent this day from getting worse, I'll just read ERROR as GOOD THING"

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Starting Development and Compiling
| | |-+  Programming Help?
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.079 seconds with 15 queries.