aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2020-01-17 18:03:48 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2020-01-17 18:03:48 +0100
commitb2bd2a8c11eacc0a7fffb177e7f556892f4ead61 (patch)
tree55ff2032223087d816cc35df3f87fe7443d8bf5a
parentc907b549db95e75203cb92fe405ae73af9d94f0a (diff)
downloadrpi-MMU-example-b2bd2a8c11eacc0a7fffb177e7f556892f4ead61.tar.gz
rpi-MMU-example-b2bd2a8c11eacc0a7fffb177e7f556892f4ead61.zip
explain project structure
-rw-r--r--Project-structure-explained.txt100
1 files changed, 100 insertions, 0 deletions
diff --git a/Project-structure-explained.txt b/Project-structure-explained.txt
new file mode 100644
index 0000000..131e36b
--- /dev/null
+++ b/Project-structure-explained.txt
@@ -0,0 +1,100 @@
+Directory structure of the project:
+
+doc/
+build/
+ Makefile
+Makefile
+src/
+ lib/
+ rs232/
+ rs232.c
+ rs232.h
+ host/
+ pipe_image.c
+ makefs.c
+ arm/
+ common/
+ svc_interface.h
+ strings.c
+ io.h
+ io.c
+ strings.h
+ PL0/
+ PL0_utils.h
+ svc.S
+ PL0_utils.c
+ PL0_test.c
+ PL0_test.ld
+ PL1/
+ loader/
+ loader_stage2.ld
+ loader_stage2.c
+ loader_stage1.S
+ loader.ld
+ kernel/
+ demo_functionality.c
+ paging.h
+ setup.c
+ interrupts.h
+ interrupt_vector.S
+ kernel.ld
+ scheduler.h
+ atags.c
+ translation_table_descriptors.h
+ bcmclock.h
+ ramfs.c
+ kernel_stage1.S
+ paging.c
+ ramfs.h
+ interrupts.c
+ armclock.h
+ atags.h
+ kernel_stage2.ld
+ cp_regs.h
+ psr.h
+ scheduler.c
+ memory.h
+ demo_functionality.h
+ PL1_common/
+ global.h
+ uart.h
+ uart.c
+
+
+Meaning of significant directories and files:
+
+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.
+
+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/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/PL1_common
+Contains sources used in both: kernel and bootloader.