From 6a2ab0ca2871c8fb92ba02d75b153b42f2c119f5 Mon Sep 17 00:00:00 2001 From: vetch Date: Sat, 18 Jan 2020 11:49:32 +0100 Subject: Explained Project structure --- Project-structure-explained.txt | 191 ++++++++++++++++++++-------------------- 1 file changed, 96 insertions(+), 95 deletions(-) diff --git a/Project-structure-explained.txt b/Project-structure-explained.txt index 131e36b..355910d 100644 --- a/Project-structure-explained.txt +++ b/Project-structure-explained.txt @@ -1,100 +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 + 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: +### 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. + 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