0

I come from a windows background and i am proficient with the .net platform. For work, i need to bring up a custom embedded system platform. We have bought the pandaboard ES as the test platform. The application is to stream images over the wifi. If you think about it, we are building something similar to a netgear router - the only difference being when you log into the device it serves images.

Because my background is in windows i am not quite sure how to start off with embedded linux development. in reading through various sites i have come to the conclusion that going to linux as development host is the best option.

Can some one point to me in the right direction regarding the set up. I have a windows machine that will be used for development purposes. I can either do a virtual box or setup a partition for linux. But the finer details are what throwing me off..what i need to know is

1) once i install linux what other software do I need - Code blocks, 2) what about toolchain 3) How to debug - through serial port ? 4) Is there a way to send the image built directly to the CF card?

Thanks

user1797375
  • 164
  • 2
  • 6
  • 2
    Strong, strong suggestion: buy this book: [Embedded Linux Primer, Christpher Hallinan](http://www.amazon.com/Embedded-Linux-Primer-Practical-Real-World/dp/0137017839) – paulsm4 Nov 04 '12 at 01:50
  • 4
    PS: If I were you, I would seriously consider using Linux as your development workstation. Or at least set up a Linux VM running on your Windows host. IMHO... – paulsm4 Nov 04 '12 at 01:52
  • Even if the question is interesting and well formulated, I'm not sure you got the right Stack for that. My guess would be: http://programmers.stackexchange.com/?as=1 – LightStriker Nov 04 '12 at 02:06
  • This question is too broad, and at least 4 questions as you indicate at the end of this post. Can you break it down into the parts you feel you would need answered to accomplish your larger goal? – vgoff Nov 04 '12 at 02:10
  • for 4) - answer yes - use `dd if=image.img of=/dev/YOURDEVICEWITHCF` – zb' Nov 04 '12 at 05:05
  • + why use CF ? cf is expensive big and i suspect energy noneffective, here already many cheap mmc/sd controllers – zb' Nov 04 '12 at 05:07

1 Answers1

1

i suggest you to install linux on your desktop or laptop, perhaps In a virtual machine.

Then, learn to compile on the command line (the order of program arguments to gcc is important).

Start an editor like emacs. Take half an hour to follow its tutorial.

Edit the helloworld.c file.

Compile it with

   gcc -Wall -g helloworld.c -o hello 

Improve it till no warnings are given.

Use

    ./hello 

To run it.

Learn to use make with your own Makefile.

Use a version control system like git.

Learn to use cross compilation tools.

addenda

See also my answer here and also this answer.

Cross-building is not very different from native Linux building, except for the names of the cross-compilation tools.

But my feeling is that installing Linux and learning to develop Linux applications on Linux will teach you a lot of skills necessary for cross-development targeted for embedded Linux systems. So read material about Advanved Linux Programming and Advanced Unix Programming.

Remote debugging thru the serial port should be possible.

Community
  • 1
  • 1
Basile Starynkevitch
  • 223,805
  • 18
  • 296
  • 547
  • All, thanks a lot for your response. I have ordered the Embedded linux primer book. I hope its going to be of great help. – user1797375 Nov 05 '12 at 16:49
  • @LightStriker thanks for your comment. I shall post in programmers as well. – user1797375 Nov 05 '12 at 16:50
  • Comming from a windows/.net/ms visual background, emacs/vi is not the easiest route. IDEs like code blocks, eclipse, qt creator, kdevelop are going to feel much more familiar. – Antoine Nov 05 '12 at 17:07