I figured I would spend a bit of time explaining the environment you should use when developing for the raspberry pi. Let’s start by explaining my current development environment:
As a C#/ASP.NET developer, I pretty much have to have Windows. And as a bleeding-edge adopter, I pretty much have to have Windows 8! That being said, I’ve discovered that Linux is SO MUCH BETTER for the type of developing that we will be doing. If you already have linux, that’s great. If not – I recommend you look at the following:
Virtual Box – This software allows you to emulate other operating systems within your host environment. for example, I can use VirtualBox to emulate linux while running Windows 8. I highly recommend this flavor of emulators, because it’s free and very reliable. https://www.virtualbox.org/
Crunch Bang (#!) Linux – Personally, I am a fan of Arch Linux. But please note: the raspberry pi is 32bit. This means you have to make sure that you can compile 32 bit applications. Since Arch is only 64 bit, you will have a hard time setting everything up properly. Personally, I gave up on trying to be cool and opted for an already-32-bit operating system. http://crunchbang.org/download/
Here is a list of software I recommend using with linux for raspberry pi development.
GIT – Although not necessary, this is a really useful tool for downloading source code examples including the latest raspberry pi firmware! The command for this: sudo apt-get install git
WGET – I don’t remember if this comes with crunchbang or not. I use it all the time because if you know the url, it’s usually faster and easier to download to specific locations. sudo apt-get install wget
The ARM GCC Toolchain – There are many options for compiling ARM-Compatible code. I randomly chose this one and it’s served me well. All of my code will be compiled using this compiler, so all bets are off if you try to use my scripts with other toolchains! Download information can be found here: https://pixhawk.ethz.ch/imu_toolchain/sourcery
That’s pretty much it! I think that’s all I’ve had to download in order to start developing. Keep in mind this list has evolved over time. I’ve tried multiple compiler toolchains, different operating systems, etc. This is what I’ve settled on for now.