|
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 hierarchy
Folder 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
|