From ae4978977d3a2ca1e9493c1152aed35078fd846e Mon Sep 17 00:00:00 2001 From: Aditya Naik Date: Tue, 20 Apr 2021 13:11:16 -0400 Subject: Cleanup and README --- README | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 README (limited to 'README') 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 -- cgit v1.2.3