Skip to main content

A software development kit for Resea

Project description

# Resea SDK
[![Build Status](https://travis-ci.org/resea/sdk.svg?branch=master)](https://travis-ci.org/resea/sdk)
[![PyPI version](https://badge.fury.io/py/reseasdk.svg)](http://badge.fury.io/py/reseasdk)

A development tools for Resea.

## Installation
```
# pip3 install reseasdk
```

## Quickstart

### Building an OS
```
$ reseasdk new hello # create a project directory
$ cd hello # move into the created directory
$ edit config.release.yml # edit build config for building
$ reseasdk build # build
```

### Developing a application
```
$ edit package.yml # edit project configuration
$ reseasdk scaffold # generate boilerplate code
$ edit # write code
$ edit config.test.yml # edit build config for testing
$ reseasdk test # build and run tests
```

## Files
### package.yml
`package.yml` contains information for a package: name, type, required packages,
interface/data type/config definitions, etc.

- `early_startup: boolean`: It is mainly used in interface packages. If it is
`yes`, applications' `STARTUP()` which implement the interface package MUST
return. It is essential for fundamental applications such as timer device
drivers, memory manager and thread manager.

### config.yml
`config.*.yml` contains build configuration.
- `config.release.yml`: used in `build` command
- `config.test.yml`: used in `test` command
- `config.global.yml`: Default config applied to all packages. This file is used
in special libraries to define build rules.

#### Configration defined by SDK
- `BUILTIN_APPS`: A list of applications to be embeded in an executable.
- `TEST`: A boolean. If it is `yes`, SDK includes test code in an executable.
- `HAL`: HAL library.
- `STARTUP_WITH_THREAD`: If it is `yes`, Resea starts applications in a new
thread separately. If it is `no`, the application except `early_startup`
applications is started by calling `STARTUP()` directly. It is useful for
developing application for Arduino.

## Commands
### Creating new project
- **new**: create a project directory

### Building / Testing
- **sync:** download required packages and update build config
- **build:** build a executable
- **clean:** remove intermediate files such as `*.o`
- **test:** build and test an executable
- **log:** print kernel log omitted in tests

### Debugging
- **debug:** test an executable in a debugger
- **analyze:** analyze kernel log

### Misc.
- **search:** search for packages
- **release:** create new version
- **gendocs:** generate web pages from documentation and source code
- **scaffold:** generate boilerplates
- **scancode:** analyze source code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ReseaSDK-0.0.3.tar.gz (10.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page