Home > ousia

ousia

Ousia is a project mainly written in ..., based on the View license.

Real-Time Ousia

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
Previous:Global-Connect