Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am good at C programming and also I am good at embedded devices. I have setup an embedded circuit myself using the basic arduino and by interfacing some devices with it.

But the main problem is that I do not know where and how to start programming this device with the known C programming skills. The device has an on chip boot loader.

By "start programming", I mean how to bring the embedded device into my programming and stuff.

I know program starts from a main() and an infinite loop makes the application run.

But the real question is, how to start this all and integrate the hardware with the software which I write.

Kindly help with this.

Thanks for the help in advance.

share|improve this question

closed as not a real question by MainMa, gnat, Walter, Yusubov, World Engineer Oct 22 '12 at 2:46

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

2 Answers 2

With Arduino, the main() method runs on the chip automatically. It calls a setup() method once at startup and a loop() method repeatedly from there (each time loop ends, it calls it again).

So you need to provide it a C file containing those two methods. It will do the rest.

There is an excellent language reference on the Arduino site, along with a very basic IDE that runs on anything.

Also, StackExchange has an electronics site, where the top tag is Arduino, so you'll probably find a lot of help and support there.

share|improve this answer
add comment

Try Programming Embedded Systems in C and C++ by Oreilly.
The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Even if you've done some embedded programming before, you'll still benefit from the topics in this book, which include:

  1. Testing memory chips quickly and efficiently
  2. Writing and erasing Flash memory
  3. Verifying nonvolatile memory contents with CRCs
  4. Interfacing to on-chip and external peripherals
  5. Device driver design and implementation
  6. Optimizing embedded software for size and speed
share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.