hpr1619 :: Bare Metal Programming on the Raspberry Pi (Part 1)
This show is about how to program a Raspberry Pi with no operating system and no libraries.
Hosted by Gabriel Evenfire on Thursday, 2014-10-16 is flagged as Clean and is released under a CC-BY-SA license.
programming, embedded systems, raspberry pi.
2.
The show is available on the Internet Archive at: https://archive.org/details/hpr1619
Listen in ogg,
spx,
or mp3 format. Play now:
Duration: 01:02:14
Programming 101.
A series focusing on concepts and the basics of programming
This show is about programming on a Raspberry Pi with on operating system or libraries. In this programming environment, the only software that the CPU executes is the software that you write. This episode introduces how to configure the build environment and get a basic application up and running. From here one can leverage these techniques to build more sophisticated applications and deepen ones knowledge of systems programming.
Here is some of the source material that I used while working on this little learning experience.
dwelch67's bare metal repository
- https://github.com/dwelch67/raspberrypi
- The best guide I know on this topic. Very thorough and what I used as my starting point.
CATRPI
- Homepage: https://gitorious.org/catrpi
- Git repo: git://gitorious.org/catrpi/catrpi.git
- My own repository of code that I wrote during this little project.
Adafruit USB to TTL cable
Script to build the ARM toolchain
ARM ARM
- https://morrow.ece.wisc.edu/ECE353/arm_reference/ddi0100e_arm_arm.pdf
- Contains the ARM assembly language as well as chip architecture overview.
- You'll need the ARM 11 Architecture Reference Manual
ARM TRM
- https://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf
- Contains info about the specific SOC that the Raspberry PI uses
RPI Schematics
- https://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf
- Shows how the Raspberry Pi is wired up
RPI Peripherals
- https://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
- Describes functionality and programming model for the various Raspberry Pi peripherals.