Matt Richardson is a San Francisco-based creative technologist and Contributing Editor at MAKE. He’s the co-author of Getting Started with Raspberry Pi and the author of Getting Started with BeagleBone.
I’ve had my eye on the section of the Raspberry Pi forum dedicated to “bare metal” programming of the popular $35 computer platform. Bare metal programming is the practice of writing code for the CPU without an operating system (like Linux) on board. Bare metal didn’t look exactly inviting to an intermediate programmer like me, but that just changed. In this online course from Alex Chadwick of the University of Cambridge Computer Lab, you can learn how to use assembly code to write your own mini-OS for the Raspberry Pi. Going this route means basic things become quite a bit more difficult to do, but if you’re interested in how operating systems work with memory and the CPU, this looks like a great way to learn.
18 thoughts on “Baking Pi: Free Course in Basic “Bare Metal” Raspberry Pi Development”
Matt Richardsonsays:
I was posting this article to my G+ profile with some additional commentary and I thought I would leave it here as well:
I find myself so excited by the prospect of learning how to program the “bare metal” of these embedded systems and I imagine that there are many others out there like me. Perhaps we’ll start to see a resurgence of people learning assembly code? It looks like it’s challenging yet gratifying. How cool would it be to be able to write your own OS to do just what you want? Perhaps this is perfect for the future kernel developers out there.
The next Linus Torvalds might be starting his or her journey from this very tutorial.
fonzsays:
if you want to go bare metal why not pick one of the thousands of cpus where you can actually get a real datasheet?
ccasesays:
Was curious about this as well, but got turned off since the embedded system is very closed and there is no documentation about it. How does one interface with the hardware directly if the drivers are closed? Can’t even find a block diagram :(
Billsays:
Just Googling I found this: http://elinux.org/RPi_Hardware
That page has a lot of links to technical data for the hardware.
Baking Pi: Free Course in Basic “Bare Metal” Raspberry Pi Development « A Programmer's Nonsensessays:
[…] about programming for Raspberry Pi!. Introduction page of the original author can be found at http://blog.makezine.com/2012/09/03/baking-pi-free-course-in-basic-bare-metal-raspberry-pi-developme… and the free cource provided by University Cambridge is […]
Raspberry Pi begins UK production at Sony facility | GeekInvaders.comsays:
[…] Baking Pi: Free Course in Basic “Bare Metal” Raspberry Pi Development […]
Matt Richardson is a San Francisco-based creative technologist and Contributing Editor at MAKE. He’s the co-author of Getting Started with Raspberry Pi and the author of Getting Started with BeagleBone.
Our websites use cookies to improve your browsing experience. Some of these are essential for the basic functionalities of our websites. In addition, we use third-party cookies to help us analyze and understand usage. These will be stored in your browser only with your consent and you have the option to opt-out. Your choice here will be recorded for all Make.co Websites.
Allow Non-Necessary Cookies
Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!
I was posting this article to my G+ profile with some additional commentary and I thought I would leave it here as well:
I find myself so excited by the prospect of learning how to program the “bare metal” of these embedded systems and I imagine that there are many others out there like me. Perhaps we’ll start to see a resurgence of people learning assembly code? It looks like it’s challenging yet gratifying. How cool would it be to be able to write your own OS to do just what you want? Perhaps this is perfect for the future kernel developers out there.
The next Linus Torvalds might be starting his or her journey from this very tutorial.
if you want to go bare metal why not pick one of the thousands of cpus where you can actually get a real datasheet?
Was curious about this as well, but got turned off since the embedded system is very closed and there is no documentation about it. How does one interface with the hardware directly if the drivers are closed? Can’t even find a block diagram :(
Just Googling I found this: http://elinux.org/RPi_Hardware
That page has a lot of links to technical data for the hardware.
…and these:
http://elinux.org/RPi_DatasheetCategories
http://elinux.org/RPi_Software
http://elinux.org/RPi_Programming
[…] about programming for Raspberry Pi!. Introduction page of the original author can be found at http://blog.makezine.com/2012/09/03/baking-pi-free-course-in-basic-bare-metal-raspberry-pi-developme… and the free cource provided by University Cambridge is […]
[…] Baking Pi: Free Course in Basic “Bare Metal” Raspberry Pi Development […]
Reblogged this on Gigable – Tech Blog.
Reblogged this on Gigable – Tech Blog.