diff options
-rw-r--r-- | README.md | 78 | ||||
-rw-r--r-- | docs/Building-and-running-explained.md | 21 | ||||
-rw-r--r-- | docs/Project-structure-explained.md | 58 |
3 files changed, 80 insertions, 77 deletions
@@ -53,19 +53,20 @@ First, build and test rpi-open-firmware. Now, copy either kernel.img or loader.i Now, connect RaspberryPi via UART to Your machine. GPIO on the Pi works with 3.3V, so You should make sure, that UART device on the other end is also working wih 3.3V. This is the pinout of the RaspberyPi 3 model B that has been used for testing so far: -Top left of the board is here - -+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -| 2| 4| 6| 8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40| -+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -| 1| 3| 5| 7| 9|11|13|15|17|19|21|23|25|27|29|31|33|35|37|39| -+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + Top left of the board is here + | + V + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | 2| 4| 6| 8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40| + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | 1| 3| 5| 7| 9|11|13|15|17|19|21|23|25|27|29|31|33|35|37|39| + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Under rpi-open-firmware (stock firmware might map UARTs differently): - pin 6 is Ground - pin 8 is TX - pin 10 is RX +1. pin 6 is Ground +2. pin 8 is TX +3. pin 10 is RX Once UART is connected, You can power on the board. @@ -198,41 +199,42 @@ Directory structure of the project: ### Most Significant Directories - doc/ - Contains documentation of the project. - - build/ - Contains main Makefile of the project. All objects created during the build process are placed there. - - Makefile - Proxies all calls to Makefile in build/. - - src/ - Contains all sources of the project. - - src/host/ - Contains sources of helper programs to be compiled using native GCC and run on the machine where development takes place. +doc/ + Contains documentation of the project. + +build/ + Contains main Makefile of the project. All objects created during the build process are placed there. + +Makefile + Proxies all calls to Makefile in build/. - src/arm/ - Contains sources to be compiled using ARM cross-compiler GCC and run on the RaspberryPi. +src/ + Contains all sources of the project. + +src/host/ + Contains sources of helper programs to be compiled using native GCC and run on the machine where development takes place. - src/arm/common - Contains sources used in both: privileged mode and unprivileged mode. +src/arm/ + Contains sources to be compiled using ARM cross-compiler GCC and run on the RaspberryPi. + +src/arm/common + Contains sources used in both: privileged mode and unprivileged mode. + +src/arm/PL0 + Contains sources used exclusively in unprivileged, user-mode (PL0) program, as well as the program's linker script. - src/arm/PL0 - Contains sources used exclusively in unprivileged, user-mode (PL0) program, as well as the program's linker script. +src/arm/PL1 + Contains sources used exclusively in privileged (PL1) mode. - src/arm/PL1 - Contains sources used exclusively in privileged (PL1) mode. +src/arm/PL1/loader + Contains sources used exclusively in the bootloader, as well as linker scripts for stages 1 and 2 of this bootloader. - src/arm/PL1/loader - Contains sources used exclusively in the bootloader, as well as linker scripts for stages 1 and 2 of this bootloader. +src/arm/PL1/kernel + Contains sources used exclusively in the kernel, as well as linker scripts for stages 1 and 2 of this kernel. - src/arm/PL1/kernel - Contains sources used exclusively in the kernel, as well as linker scripts for stages 1 and 2 of this kernel. +src/arm/PL1/PL1_common + Contains sources used in both: kernel and bootloader. - src/arm/PL1/PL1_common - Contains sources used in both: kernel and bootloader. ## Boot Process When RaspberryPi boots, it searches the first partition on SD card (which should be formatted FAT) for its firmware and configuration files, loads them and executes them. The firmware then searches for the kernel image file. The name of the looked for file can be kernel.img, kernel7.img, kernel8.img (for 64-bit mode) or something else, depending on configuration and firmware used (rpi-open-firmware looks for zImage). diff --git a/docs/Building-and-running-explained.md b/docs/Building-and-running-explained.md index 257c75f..2e72e51 100644 --- a/docs/Building-and-running-explained.md +++ b/docs/Building-and-running-explained.md @@ -51,19 +51,20 @@ First, build and test rpi-open-firmware. Now, copy either kernel.img or loader.i Now, connect RaspberryPi via UART to Your machine. GPIO on the Pi works with 3.3V, so You should make sure, that UART device on the other end is also working wih 3.3V. This is the pinout of the RaspberyPi 3 model B that has been used for testing so far: -Top left of the board is here - -+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -| 2| 4| 6| 8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40| -+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -| 1| 3| 5| 7| 9|11|13|15|17|19|21|23|25|27|29|31|33|35|37|39| -+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + Top left of the board is here + | + V + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | 2| 4| 6| 8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40| + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | 1| 3| 5| 7| 9|11|13|15|17|19|21|23|25|27|29|31|33|35|37|39| + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Under rpi-open-firmware (stock firmware might map UARTs differently): - pin 6 is Ground - pin 8 is TX - pin 10 is RX +1. pin 6 is Ground +2. pin 8 is TX +3. pin 10 is RX Once UART is connected, You can power on the board. diff --git a/docs/Project-structure-explained.md b/docs/Project-structure-explained.md index 355910d..7dc0789 100644 --- a/docs/Project-structure-explained.md +++ b/docs/Project-structure-explained.md @@ -64,38 +64,38 @@ Directory structure of the project: ### Most Significant Directories - doc/ - Contains documentation of the project. - - build/ - Contains main Makefile of the project. All objects created during the build process are placed there. - - Makefile - Proxies all calls to Makefile in build/. - - src/ - Contains all sources of the project. - - src/host/ - Contains sources of helper programs to be compiled using native GCC and run on the machine where development takes place. - - src/arm/ - Contains sources to be compiled using ARM cross-compiler GCC and run on the RaspberryPi. +doc/ + Contains documentation of the project. + +build/ + Contains main Makefile of the project. All objects created during the build process are placed there. + +Makefile + Proxies all calls to Makefile in build/. - src/arm/common - Contains sources used in both: privileged mode and unprivileged mode. +src/ + Contains all sources of the project. + +src/host/ + Contains sources of helper programs to be compiled using native GCC and run on the machine where development takes place. - src/arm/PL0 - Contains sources used exclusively in unprivileged, user-mode (PL0) program, as well as the program's linker script. +src/arm/ + Contains sources to be compiled using ARM cross-compiler GCC and run on the RaspberryPi. + +src/arm/common + Contains sources used in both: privileged mode and unprivileged mode. + +src/arm/PL0 + Contains sources used exclusively in unprivileged, user-mode (PL0) program, as well as the program's linker script. - src/arm/PL1 - Contains sources used exclusively in privileged (PL1) mode. +src/arm/PL1 + Contains sources used exclusively in privileged (PL1) mode. - src/arm/PL1/loader - Contains sources used exclusively in the bootloader, as well as linker scripts for stages 1 and 2 of this bootloader. +src/arm/PL1/loader + Contains sources used exclusively in the bootloader, as well as linker scripts for stages 1 and 2 of this bootloader. - src/arm/PL1/kernel - Contains sources used exclusively in the kernel, as well as linker scripts for stages 1 and 2 of this kernel. +src/arm/PL1/kernel + Contains sources used exclusively in the kernel, as well as linker scripts for stages 1 and 2 of this kernel. - src/arm/PL1/PL1_common - Contains sources used in both: kernel and bootloader. +src/arm/PL1/PL1_common + Contains sources used in both: kernel and bootloader.
\ No newline at end of file |