45 lines
2.3 KiB
Plaintext
45 lines
2.3 KiB
Plaintext
|
|
See the top level README file for more information on documentation
|
|
and how to run these programs.
|
|
|
|
This is a very simple bootloader. Instead of the sd dance (see
|
|
top level README), this makes life a bit simpler and greatly reduces
|
|
physical wear and tear on the sd card socket. Do the sd card dance one
|
|
more time with this kernel.img. Get some sort of serial solution to
|
|
connect a dumb termial program with the ability to download raw/ascii
|
|
files.
|
|
|
|
bootloader01 was .hex based, this one is also .hex based but a
|
|
different way to parse it. bootloader02 through bootloader06
|
|
expect binary files, a binary image of the memory starting at
|
|
address 0x8000. I intend to release bootloader08 at the same time
|
|
and it will be .bin based but have the go feature.
|
|
|
|
This bootloader07 parses intel hex formatted files. Look that up at
|
|
wikipedia, it is very simple and historically widely used for bare
|
|
metal embedded work. (S record is another format like intel hex but
|
|
of course motorola had to have their own. Intel hex and Motorola S-
|
|
record). I felt like doing another state machine and honestly had
|
|
forgotten I did one before in bootloader01. This bootloader does
|
|
not make any of the others obsolete, it was just a fun exercise.
|
|
|
|
The thing that annoyed me the most about my bootloader is that
|
|
I use minicom and minicom spawns a separate program to do the file
|
|
transfers, xmodem, ascii, kermit, etc, and there is a delay and
|
|
a loss of data when the spawned program exits and minicom returns.
|
|
The solution is that you hit the g key when you want the program
|
|
to start so you are basically back in the terminal at that point.
|
|
|
|
I normally do not deliver binaries. In this case I have included all
|
|
of the build files so that you can at least get started without having
|
|
to build the bootloader. Backup whatever kernel.img file you are using
|
|
and replace with the kernel.img file in this repo (on your sd card) to
|
|
use this program. If on a Raspberry Pi 2 then use kernel7.img instead
|
|
of kernel.img.
|
|
|
|
blinker.hex is for older RPi boards the A and B whose activity led
|
|
is tied to GPIO16. The A+, B+, and RPi2 use GPIO47, also on these
|
|
latter boards the power led is on GPIO35. Last I checked they wouldnt
|
|
provide a schematic for these latter boards (so much for being "open")
|
|
so we have to just go on faith...
|