Git Product home page Git Product logo

lxfwuxia / etaos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from etaos/etaos

0.0 0.0 0.0 4.2 MB

ETA/OS is a small system library, acting like an operating system, for small embedded chips (microcontrollers). (Mirror repository of https://git.bietje.net/etaos/etaos)

Home Page: http://etaos.bietje.net

License: GNU Lesser General Public License v3.0

Shell 0.37% JavaScript 0.49% Ruby 0.14% C++ 5.79% Python 6.29% Perl 0.70% C 70.79% Objective-C 0.30% Assembly 11.17% CSS 0.30% Makefile 2.51% HTML 0.14% Yacc 0.71% Lex 0.31%

etaos's Introduction

ETA/OS README

About

ETA/OS is a small scale, embedded kernel and/or operating system. It provides basic hardware abstraction allowing an application programmer to build somewhat portable embedded applications. Some of its features:

  • Memory management
  • Scheduler (semi-SMP ready)
  • Interrupt management
  • Timer management
  • Driver core
  • Several device and sensor drivers

License

ETA/OS is licenced as GNU Lesser General Public Licence version 3 or newer. The COPYING file should contian more information about the licence, or if it's not included, look at http://www.gnu.org/licences/.

ETA/OS
Copyright (C) 2014, 2015, 2016, 2017  ETA/OS developers <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser Lesser General Public License for more details.

You should have received a copy of the GNU Lesser Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Compiling ETA/OS

In order to build ETA/OS you need a working cross compile toolchain and a host toolchain to build the DevOps applications. The entire setup process is described here. The build scripts has a builtin help function. Run make help ARCH=<arch> to see all available targets.

Testing

ETA/OS comes with a set of unit tests, which can be found in the usr/tests directory. These tests can be ran manually, ofcourse, or the running process can be automated for most tests using a tool called Calypso. Calypso can be download as a Ruby gem:

user@pc# gem install calypso

Running all available unit tests can be done with the following command:

user@pc$ calypso -yfc usr/calypso.yaml

For test configurations, please check the Calypso help: calypso -h command.

Contributing

To see how you can help improving ETA/OS, read the contribution guide. You can find it in the CONTRIBUTING.md file in the repository or on the web.

Trouble shooting

  • Solving the avrdude timeout for the Arduino Mega / ATmega2560:

For some reason, avrdude is sometimes unable to properly communicate with the ATmega2560. This solution can be tried when you receive the following error:

avrdude: stk500v2_ReceiveMessage(): timeout

If you run into this error, there are 3 'scripts' provided to work around it:

user@pc$ scripts/avrdude_timeout_fix [DEVICE_FILE]

Now you can upload your binaries to the ATmega.

If you would like a tty-fix script and an upload in one, then you should give either calypso (for unit tests) or scripts/avr_upload a try.

user@pc$ scripts/avr_upload -h

Please note that these are not 'run once and be good forever' scripts. They need to be ran before every upload.

etaos's People

Contributors

michelmegens avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.