Main / Projorg
Bare Metal Demo Code Sections Example/******************************************************************************/ /*----------------------------------Includes----------------------------------*/ /******************************************************************************/ /******************************************************************************/ /*-----------------------------------Macros-----------------------------------*/ /******************************************************************************/ /******************************************************************************/ /*--------------------------------Enumerations--------------------------------*/ /******************************************************************************/ /******************************************************************************/ /*-----------------------------Data Structures--------------------------------*/ /******************************************************************************/ /******************************************************************************/ /*------------------------------Global variables------------------------------*/ /******************************************************************************/ /******************************************************************************/ /*-------------------------Function Prototypes--------------------------------*/ /******************************************************************************/ /******************************************************************************/ /*------------------------Private Variables/Constants-------------------------*/ /******************************************************************************/ /******************************************************************************/ /*-------------------------Function Implementations---------------------------*/ /******************************************************************************/ Here's a possible Scons hierarchyFolder Layout: =========================================================================== ├ app_sw_lib # Folder that contains App Software libraries ├ build_env | |-platform # Folder that contains list of target platform env which contains the compiler/linker/assembler flags | |-toolchain # Folder that contains list of compiler env which has the compiler/linker/assembler name and also the build command to generate the executable ├ devices # Folder that contains off-chip 3rd party device drivers | |-[BOARD] # Folder containing drivers for devices only found on particular boards ├ docs # Folder that contains the documentation ├ drivers # Folder that contains peripheral driver code of the platform | |-[VERSION] | | |-[PLATFORM] ├ hal | |-hal_api # Folder that contains the HAL (hardware abstraction layer) API. This should be pure header files | |-hal_imp # Folder that contains platform implementation of the HAL API layer | | |-[PLATFORM] ├ projects | |-[PROJECT] | | |-[PLATFORM] | | | |-linker # Folder containing the linker file(s) | | | |-board # Folder containing the list of board(s) | | | | |-common # Folder containing the Common related c/h files to the boards | | | | |-ISRPriority.h # File containing the ISR priority for a given board on a given platform | | | | |-[BOARD] # Folder containing the boards specific files | | | | | |-device_config.txt # File containing the common pin configuration | | | | | |-[REVISION] # Folder containing the boards revision | | | | | | |-pin_mappings.c # File containing the pin configuration for this board/rev | | | | | | |-pin_mappings.h # File containing the pin configuration for this board/rev | | | | | | |-pinmap_work # Folder containing the project workspace for Pin Map tool | | |-README # File containing information about this project | | |-Sconscript # File containing the Scons project specific build flags and the files to be built | | |-src # Folder for src code ├ README.md ├ rtos # Folder that contains the RTOS kernel ├ Sconstruct # High level Sconstruct that takes in the argument parameter to build a project for a given platform using a specific toolchain └ site_scons # Folder for common Scons files |