aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAditya Naik2021-04-20 13:11:16 -0400
committerAditya Naik2021-04-20 13:11:16 -0400
commitae4978977d3a2ca1e9493c1152aed35078fd846e (patch)
tree34dee1775ef3c63dd443cb0c18c2fdd1e19c1eb6 /README
Cleanup and README
Diffstat (limited to 'README')
-rw-r--r--README42
1 files changed, 42 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..2dbd4b5
--- /dev/null
+++ b/README
@@ -0,0 +1,42 @@
+Embedded Application Template
+
+Summary:
+========
+
+This repo provides a simple template for cross-MCU embedded applications. Care has been taken to
+ensure that the template is as self-contained as possible without sacrificing simplicity of source
+code organization.
+
+Directory Structure:
+====================
+
+/src *.[c|cpp|S] source code files
+/include *.[h|hpp] source code files
+/build Build outputs
+/ports Port-specific source and header files
+ /posix POSIX port files
+ /stm32f1 STM32F1 port specific files
+ /stm32f4 STM32F4 port specific files
+/lib Cross-platform library sources. Preferably submodules.
+ /cmsis ARM CMSIS files with STM32F4 hardware specific imports
+ /FreeRTOS FreeRTOS submodule
+ /FreeRTOS-POSIX FreeRTOS+ POSIX-compliant variant submodule
+ /nanopb Embedded protobuf (nanopb) submodule
+ /f4 STM32F4 HAL and LL libraries
+
+Initialization:
+===============
+
+Once all libraries for a specific port have been recursively added to the repo, create directories
+for all ports in the /ports directory. the subdirectories of /ports hold all hardware initialization
+sources, as well as other headers and sources specific to that port. See the STM32F4 port for
+details.
+
+The makefile in root directory includes the makefile in ports directory; set the port currently
+being built in the makefile. In the future, this will be handled by autoconf and Linux kernel-style
+Kconfig.
+
+Wishlist:
+=========
+ - Add ARM CMSIS library as a submodule.
+ - Autoconf support instead of manually having to edit makefiles \ No newline at end of file