From d747a54860307dc2c1f0312d1a3349d02388f276 Mon Sep 17 00:00:00 2001 From: vetch Date: Tue, 21 Jan 2020 13:50:37 +0100 Subject: Nice mdfication --- docs/Project-structure-explained.md | 101 ++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 docs/Project-structure-explained.md (limited to 'docs/Project-structure-explained.md') diff --git a/docs/Project-structure-explained.md b/docs/Project-structure-explained.md new file mode 100644 index 0000000..355910d --- /dev/null +++ b/docs/Project-structure-explained.md @@ -0,0 +1,101 @@ +## Project structure +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 + + +### 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. + + 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. -- cgit v1.2.3