b04a3344d663452c47c792ef3367b1f9ba68a9bb
Right, I know...Got my raspberry pi today. This repo serves as a collection of low level examples. No operating system, embedded or low level embedded or deeply embedded, whatever your term is for this. From what we know so far there is a gpu on chip that boots off of I assume an on chip rom. This goes to the sd card and does things. it appears that the entry point for us as programmers is the kernel.img file, which appears to be the memory image copied into the ARM memory before releasing reset on the ARM processor. The name of course because this is intended to be a Linux based educational computer, but it is just a file name, just a memory image. You will want to go here http://elinux.org/RPi_Hardware And get the datasheet for the part http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf (might be an old link, find the one on the wiki page) And the schematic for the board http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf (might be an old link, find the one on the wiki page) I dont normally use .data nor gcc libraries nor C libraries so you can build most if not all of my examples using a gcc cross compilerl. Basically it doesnt matter if you use arm-none-linux-gnueabi or arm-none-eabi. what was formerly codesourcery.com still has a LITE version of their toolchain which is easy to come by, easy to install and well maybe not easy to use but you can use it. Building your own toolchain from gnu sources (binutils and gcc) is fairly straight forward and at some point will create a script to do that for you. My first bootloader is working, this will greatly save on wear and tear on the sd card socket. You will need some sort of serial adapter. The uart signals on the raspi are not at RS232 levels, you CANNOT simply connect them to a "COM port", you will fry your raspberry pi. A simple solution is to get these two items at sparkfun or something similar (there are many ftdi usb to serial 3.3v solutions out there) http://www.sparkfun.com/products/718 http://www.sparkfun.com/products/8430 On the raspberry pi, the connector with two rows of a bunch of pins is P1. Starting at that corner of the board, the outside corner pin is pin 2. From pin 2 heading toward the yellow rca connector the pins are 2, 4, 6, 8, 10. Pin 6 connect to gnd on the usb to serial board pin 8 is tx out of the raspi connect that to RX on the usb to serial board. pin 10 is rx into the raspi, connect that to TX on the usb to serial board. Careful not to have metal items on the usb to serial board touch metal items on the raspberry pi (other than the three connections described). On your host computer you will want to use some sort of dumb terminal program, minicom, putty, etc. Set the serial port (usb to serial board) to 115200 baud, 8 data bits, no parity, 1 stop bit. NO flow control. With minicom you likely have to save the config, exit minicom, then restart in order for flow control changes to take effect. going to work on a terminal based bootloder with xmodem, instead of the proprietary solution in bootloader01. I recommend you start with blinker01 and follow the discovery through those to uart01, etc. Now that I have the bootloader working I have to go back through these and generate a .hex file as well as a .img file.
Description
Languages
C
69%
Objective-C
9.4%
C++
8.7%
Assembly
8.5%
Makefile
4.4%