Embedded Nirvana

Getting Started With Embedded Systems

This is a series of articles which would help you get started with ARM based Embedded systems using Linux OS.

The presentation contain the guidelines, while the wiki pages associated with it has specific instructions. Some of the code presented in these presentations would be updated on the git. The course content has been packaged in a Fedora VMware image, so that you can get started without any installation hiccups. You can get the DVD here.

Also the videos would be updated soon.

Introduction to Toolchain

Building Systems on Bare Metal - An ARM Perspective

Basics of Linux Kernel Development

Compiling Linux Kernel for Embedded Device

Debugging techniques.

Hardware Emulation Using QEMU

Using Eclipse IDE

You can find a brief description on this on wiki page.


Hardware Emulation Using QEMU

These presentations are a comprehensive introduction to using QEMU for simulation of your ARM device.

You canĀ  read the wiki page here


Building Systems on Bare Metal

This presentation gives an overview of ARM architecture and introduction on how to write bare metal programs for embedded system. This article specifically deals with programming of ARM7 chips, but the same analogy can be used for other architectures.

You can refer to the wiki article here.

You can download the codeĀ  github


Developing embedded system applications using Eclipse IDE

This presentation gives a brief history of Eclipse IDE and why it should be used for developing your embedded applications.

Read the wiki page on how to configure Eclipse IDE here


Debugging Techniques

This presentation introduces how to debug your application using various tools.

The wiki page here would guide you how to compile gdb and gdbserver for your target device.


Toolchains for Embedded Systems

This presentations gives an introduction to toolchains and how we can use them for development of embedded systems.

You can find more info on the wiki article here


12th March Meeting Agenda

Agenda for this week's meeting.

  • Planning for the 26th March session.
  • Allocating slots for the speakers.
  • Formatting the course content.
  • Formatting the guidelines for the session.

What Embedded Nirvana is All About

What we are doing?

  • This is a non-commercial activity run completely be volunteers from industry and students
  • We meet weekly and churn out some code and release it. Have a look at our vmware Fedora image. We have put all our work there so that you can just jumpstart with your ideas, without any hassles of configuration on the entire development environment.
  • Once in a blue moon we have a demo session or a day long educational session , where we demonstrate what we have done so far.
  • We take care of arranging the talks, getting speakers, contribute the code & documentation
  • Topics are likely to be around current trends in industry like:

"Android or MeeGo Development", "Panda/Beagle/Hawk Board", DSP programming etc, communication protocols , etc.

Agenda for the Embedded Nirvana

Just to summarize the purpose in one sentence it would be "Building industrially viable and resourceful opensource technology"
The word building is very significant here since we necessarily may not create or innovate, but do something which has industrial significance. The goals in descending order of importance would be.

  • Primary aim would be to contribute to opensource.
  • Deliver value to industry with the opensource contribution, i.e. the outcome of the activity should have a value and must be purpose driven.
  • A practical lab where we do designing, coding, documentation, releases, etc and not just talk about OpenSource.
  • Common place where ARM-Linux enthusiasts can meet and share hands on knowledge.
  • Community based knowledge generation and sharing.
  • Lastly explore newer realms of our creativity as engineers.

What's in for me?

  • Even if you are James Gosling, there is something you won't know about Java (Said by James Gosling himself). A community based learning would significantly boost knowledge in a very short period of time.
  • We are talking about a hands-on-lab and not a blabber-blabber forum, so end of the day what you take home is hands on experience on a technology . This can be helpful in your professional field.
  • Sensible contribution to Open Source brings reputation in your tech domain.


  • All the code generated would be made Open Source and put on the website under Apache 2.0 License.
  • All the articles generated would be shared under Creative Commons CC-BY-SA Licence.
Filed under: UPDATE Comments Off

5th Feb Meeting Updates

Here's the agenda for the next meeting.

Creating debug environment for the vmware image using gdb, kgdb and qemu.

Last few session we have worked on simulating ARM device on Fedora, by compiling all the tools from scratch so that one single script can be used for all Linux platforms.

Now we plan to create a complete debug environment for the target device. Work on gdb is already complete, we need update gdb on vmware image.

Planning for Gnunify:

As you all might know that GNUnify is scheduled on 11th and 12th of feb and we are aiming to spread the word about our community. There are quite a few things that we have to do before we spread the word.

  1. Formulating presentation strategy for GNUnify.
  2. Finalizing the DvD that we are planning to distribute at GNUnify.

Venue : COEP embedded systems lab.

Time : 10.30 am - 12.30 pm