Real-Time Ousia
License
Saul2588/ousia
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Real-Time Ousia COPYRIGHT (C) LEAFGRASS Introduction ------------ "Ousia" is picked from Greek. Mainly intend to represent the essence of Real-Time Theory. Developed following K-I-S-S principle. Acknowledgments --------------- Parts of make system and libmaple stm32 low-level code are borrowed from libmaple. Thanks to their excellent works! - http://leaflabs.com Source Tree Architecture ------------------------ core: Ousia core routines. Ousia porting code are also placed here. docs: Complete documentation of Ousia. driver: Different kinds of device drivers based on Ousia. They are all configurable. framework: Framework based on Ousia. Such as shell, vfs, etc. They are scalable and configurable, either. include: Header files of main routines of Ousia. platform: Chip and board specific code. project: Project source code. Include several sample project instances. script: Useful scripts used while Ousia developing. support: Basic supporting stuffs for Ousia developing and building. Useful template files are placed here, such as porting code template. Core Developing Steps --------------------- - Choose or create a branch to work on. - Update source code, include those version related strings. - Modify related makefile and config file. - Update Ousia Syscall Reference Document if necessary. - Update Ousia Release Notes if necessary. - Commit it. - Tag a new one if a new version commited. Porting Steps ------------- - Create a directory named PLATFORM_NAME in folder "platform", then enter it. - Create three files: rules.mk config.mk target.mk. @rules.mk: makefile source code related rules @config.mk: parameters or flags for toolchains and environment @target.mk: rules for building target - Create a directory named "port" there then create three files in it. @ousia_cfg.h: os scalability related configuration. @ousia_port.h: header of porting code. @ousia_port.c: implentation of porting. - Create other porting related stuffs, such as linker scripts, if necessary. - Update TARGET_PLATFORM and PROJECT_NAME in main Makefile, then make. - Ps: If modify porting related code, should not edit directly in "core/port", do that in specific platform directory instead, e.g. "platform/stm32/port". Because makefile will copy them into "core/port" automatically. Create User Project Steps ------------------------- - Create a directory named PROJECT_NAME in folder "project". - Add user source code. - Create a file rules.mk to specify source code related rules for makefile. - Update TARGET_PLATFORM and PROJECT_NAME in main Makefile, then make. - Ps: Refer to existing projects for further detailed information. Build A Different Platform -------------------------- Only modify the header TODO in root Makefile - Assign specific TARGET_PLATFORM and PROJECT_NAME