From f851339621a3179ded94f8a27b30c9345896ccc5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 23 Nov 2007 13:26:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@106 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 docs/index.html (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..83bd285de --- /dev/null +++ b/docs/index.html @@ -0,0 +1,151 @@ + + + + ChibiOS/RT Homepage + + + + + + + + + + + +
+

ちびOS/RTTM +Homepage

+(ChibiOS/RT)
Current +Version 0.4.2
+-
+ Project on SourceForge
+ Documentation
+ Downloads
Wiki
Forum
+ Contact me
+-
+ History
+ Description
Current ports
+ Design
Performance and Size
+ Future
+-
+ Credits
+
+ SourceForge.net Logo
+
+ Support This Project
+

History

+This kernel is something I wrote back in 1990 for use on boards +equipped +with M68K processors, the development was made on an Atari ST. The OS +worked well for its intended purpose, Internet was not +widespread at that time so the system had a limited use.
+Recently I decided to release this system, formerly known as mkRTOS, as Free +Software. I cleaned up the code, improved the documentation, made a +port on a more modern architecture (ARM) and it is finally ready.
+While ChibiOS/RT is a new product it is based on a proven system so the +alpha/beta phases should not last long, the project was started as an +alpha +version mainly to be able to incorporate the feedback into the +product easily.
+

Description

+ChibiOS/RT is designed for embedded applications and it is meant to be +linked with the application code. The design philosophy is to make it +easy to use so I hope that all the APIs are meaningful, easy to +understand and with the parameters you would expect from them.
The +system offers threads, semaphores, messages, events, virtual timers, +queues, I/O channels with timeout capability and much more.
+

Current +ports

+Currently the ChibiOS/RT is ported to the following architectures:
+
    +
  • ARM7TDMI-LPC214x, the port to other LPC2000 chips +should be trivial, port to other ARM families should be easy too. Both +ARM and THUMB modes are supported.
  • Atmel AVR, the port is almost complete but untested because I broke my JTAG probe...
  • x86 as a Win32 process, this port allows to write +your application on the PC without the need of a development +board/simulator/emulator. Communication ports are simulated over +sockets, you can telnet on the simulator ports for the debug. I am +considering to create a similar simulator into a Linux process.
  • +
  • M68K, this was the original target but it is +currently removed from the source tree because currently I have no way +to test it, my old Atari ST is long dead. It should be very easy to +revive the port to the M68K or Coldfire CPUs.
  • +
+In general the port is very easy on architectures that can handle well +linked lists, the kernel is entirely reliant on lists so this +is a +very important efficiency factor. 16 and 32 bits architectures are +always fine, 8 bit architectures should be evaluated case by case but +are not ruled out, something like an H8 would not have problems. You +could port it +to a Z80/Z180 (I considered that too, and made tests using the SDCC +compiler) but the +resulting code is not much efficient because the instruction set is +missing the indirect addressing for 16 bits values that is important +for efficient linked lists traversal. +

Design

+The system was designed to be stable and avoid trouble as much as +possible so some rules were set:
+
    +
  • No arrays or tables, I don't like to have to +configure limits +for data structures, only use lists or other dynamic data structures. +See +the Documentation and +the demos.
  • +
  • No memory allocation inside the kernel, an allocator +can be +troublesome for RT applications. All the data structures are declared +in the application code and not allocated from a shared system heap. +This does not prevent the application code to use an allocator if +needed, it is just the kernel that does not require it.
  • +
  • No weird macros in the user code, everything should +look +and feel like normal C code with a normal main() function. I don't like +to bring someone else weird programming habits in my code and I think +this is true for everybody.
  • +
  • Encapsulate all the things that need changes while +porting +the OS to new architectures in few template files, fill the code into +the templates and the port is done.

Performance and Size

ChibiOS/RT +has a wide set of APIs but all the subsystems can be included or +removed from the memory image by editing the kernel configuration file +chconf.h. On ARM processors, the kernel size starts at just +1.5KiB depending on the included subsystems and the choosen +compiler optimizations.
As reference, a kernel configured with...
  • System startup code
  • Chip initialization code
  • Multithreading APIs
  • Virtual Timer APIs
  • Semaphore APIs
  • System time + Sleep API
  • Suspend/Resume APIs
  • Small main() program with flashing LEDs demo and 3 threads
...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a typical configuration +not a minimal one. A kernel configured with all the options and +optimized for speed takes about 8KiB. See the documentation about the +many available subsystems.

About performance, on a 48MHz LPC +ARM7 processor the kernel is capable of context switch time ranging +from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the +choosen complier/kernel optimizations. In the distribution is included +a spreadsheet with the exact values and the various space/time trade +offs.
The context switch time is *measured* using 2 threads +exchanging messages and doing *real* work, it is not a calculated peak +value. See the demo code, it includes the benchmark. +

Future

+Expect:
    + +
  • Documentation improvements.
  • + +
  • Ports to more architectures/boards when I am able to +put my hands on new hardware/tools.
  • +
  • More demos.
  • +
  • Creation of new subsystems.
  • +
  • Integration with +existing other free projects like: TCP/IP stacks, File Systems etc.
  • +
+

Credits

+ChibiOS/RT was created using:
+ +
+ + \ No newline at end of file -- cgit v1.2.3 From 6f0569444dafdae8b367a54a07a4bfaf3675f545 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 27 Nov 2007 16:02:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@117 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 83bd285de..526781160 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.2
+Version 0.4.3
-
Project on SourceForge
Documentation
@@ -148,4 +148,4 @@ ChibiOS/RT was created using:
- \ No newline at end of file + -- cgit v1.2.3 From 903575815458e4e3c12195418f0582f5a9350f81 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 3 Dec 2007 14:54:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@124 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 526781160..619357a57 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.3
+Version 0.4.4
-
Project on SourceForge
Documentation
-- cgit v1.2.3 From 9aaaebf0e2f93a70e725f9a4c0598bc636a78e38 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 11 Dec 2007 12:01:24 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@136 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 619357a57..4ac525ae0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.4
+Version 0.4.5
-
Project on SourceForge
Documentation
-- cgit v1.2.3 From 430010715e7a9af17185412273165674f3b58f20 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 16 Dec 2007 19:01:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@141 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 4ac525ae0..10b088bbb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.4.5
+Version 0.5.0
-
Project on SourceForge
Documentation
-- cgit v1.2.3 From dc39fea05ea07302e2c51fbfbf6b37530b124577 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 3 Jan 2008 14:27:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@164 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 10b088bbb..a4d9e32c2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -88,7 +88,7 @@ possible so some rules were set:
configure limits for data structures, only use lists or other dynamic data structures. See -the Documentation and +the Documentation and the demos.
  • No memory allocation inside the kernel, an allocator can be -- cgit v1.2.3 From b1db8a9f7fe3bc2cd48c52e7c2c50e0e118f8889 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 7 Jan 2008 14:06:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@166 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index a4d9e32c2..ae0284cae 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.0
    +Version 0.5.1
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From c7b67cff0eab340b5c58f168f4b44bdbc38f6d9b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 10 Jan 2008 13:52:44 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@173 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index ae0284cae..0eb82a19d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.1
    +Version 0.5.2
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From 86f169d26dbfb0ea1a35e1736401464e10c7ac94 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Jan 2008 14:51:26 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@183 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 0eb82a19d..9bde1d9f8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.2
    +Version 0.5.3
    -
    Project on SourceForge
    Documentation
    -- cgit v1.2.3 From 9d95345fd750466563a0fd95a35ab20e425018b9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 21 Feb 2008 15:10:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@199 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 9bde1d9f8..f8978bd4b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.3
    +Version 0.5.4
    -
    Project on SourceForge
    Documentation
    @@ -57,8 +57,13 @@ ports Currently the ChibiOS/RT is ported to the following architectures:
    • ARM7TDMI-LPC214x, the port to other LPC2000 chips -should be trivial, port to other ARM families should be easy too. Both -ARM and THUMB modes are supported.
    • Atmel AVR, the port is almost complete but untested because I broke my JTAG probe...
    • x86 as a Win32 process, this port allows to write +should be trivial. Both ARM and THUMB modes are supported.
    • +
    • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel +chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with +minimal changes.
    • +
    • Atmel AVR, the port is almost complete but untested because +I broke my JTAG probe...
    • +
    • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over sockets, you can telnet on the simulator ports for the debug. I am -- cgit v1.2.3 From ef79349ec13b036003e78c8b7585f9b4808efa63 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 22 Feb 2008 15:23:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@204 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index f8978bd4b..8856b5373 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.4
      +Version 0.5.5
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From d3ff29c1893323a3749e0c7f45a5d1541430929b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 7 Mar 2008 15:24:00 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@219 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 8856b5373..43738aa72 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.5.5
      +Version 0.6.0
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From 88c256ae5265f5d6a7ffa25dc17f693e036256bf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 11 Mar 2008 14:32:04 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@222 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 43738aa72..edd77fc03 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.6.0
      +Version 0.6.1
      -
      Project on SourceForge
      Documentation
      -- cgit v1.2.3 From 8ce99ed1fb2863a7609339bf9a1d42f09be11a1a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 16 Mar 2008 10:30:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@238 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index edd77fc03..7badfbbde 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,7 +29,15 @@ Version 0.6.1

      SourceForge.net Logo

      - Support This Project + Support This Project

      + + + + +

      History

      This kernel is something I wrote back in 1990 for use on boards @@ -127,9 +135,9 @@ exchanging messages and doing *real* work, it is not a calculated peak value. See the demo code, it includes the benchmark.

      Future

      Expect:
        - +
      • Documentation improvements.
      • - +
      • Ports to more architectures/boards when I am able to put my hands on new hardware/tools.
      • More demos.
      • -- cgit v1.2.3 From 19e65862b3ed09e603375e4cd541f3717ac692bc Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 29 Mar 2008 10:51:35 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@253 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 7badfbbde..72c427593 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.6.1
        +Version 0.6.2
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 735ba4c4ead1f994c3911add3bee13c14463b0db Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Apr 2008 08:10:47 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@255 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 72c427593..eda33ea5d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,13 +7,12 @@ -

        ちびOS/RTTM -Homepage

        -(ChibiOS/RT) +

        ChibiOS/RTTMHomepage

        + Current -Version 0.6.2
        +Version 0.6.3
        -
        Project on SourceForge
        Documentation
        @@ -58,8 +57,12 @@ ChibiOS/RT is designed for embedded applications and it is meant to be linked with the application code. The design philosophy is to make it easy to use so I hope that all the APIs are meaningful, easy to understand and with the parameters you would expect from them.
        The -system offers threads, semaphores, messages, events, virtual timers, -queues, I/O channels with timeout capability and much more.
        +system offers threads, semaphores, mutexes, messages, events, virtual +timers, +queues, I/O channels with timeout capability and much more. The +Priority Inheritance algorithm is implemented through the Mutexes +mechaninsm, the implementation supports any number of threads and +nested mutexes.

        Current ports

        Currently the ChibiOS/RT is ported to the following architectures:
        @@ -69,8 +72,7 @@ should be trivial. Both ARM and THUMB modes are supported.
      • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with minimal changes.
      • -
      • Atmel AVR, the port is almost complete but untested because -I broke my JTAG probe...
      • +
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over @@ -124,7 +126,7 @@ chconf.h. On ARM processors, the kernel size starts at just 1.5KiB depending on the included subsystems and the choosen compiler optimizations.
        As reference, a kernel configured with...
        • System startup code
        • Chip initialization code
        • Multithreading APIs
        • Virtual Timer APIs
        • Semaphore APIs
        • System time + Sleep API
        • Suspend/Resume APIs
        • Small main() program with flashing LEDs demo and 3 threads
        ...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a typical configuration not a minimal one. A kernel configured with all the options and -optimized for speed takes about 8KiB. See the documentation about the +optimized for speed takes about 6KiB. See the documentation about the many available subsystems.

        About performance, on a 48MHz LPC ARM7 processor the kernel is capable of context switch time ranging from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the @@ -161,4 +163,4 @@ ChibiOS/RT was created using:
        - + \ No newline at end of file -- cgit v1.2.3 From f80bb0647f6c51015cf6d3d8d6847c2e13c6ab84 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 19 Apr 2008 11:46:42 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@274 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index eda33ea5d..b4655bb54 100644 --- a/docs/index.html +++ b/docs/index.html @@ -39,7 +39,7 @@ Version 0.6.3

        History

        -This kernel is something I wrote back in 1990 for use on boards +This RTOS is something I wrote back in 1990 for use on boards equipped with M68K processors, the development was made on an Atari ST. The OS worked well for its intended purpose, Internet was not @@ -71,7 +71,7 @@ Currently the ChibiOS/RT is ported to the following architectures:
        should be trivial. Both ARM and THUMB modes are supported.
      • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with -minimal changes.
      • +minimal changes.
      • ARM Cortex-M3-STM32.
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development -- cgit v1.2.3 From 25d517877dd7725e67c2d094031a023c41ec6f05 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Apr 2008 08:36:16 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@275 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index b4655bb54..a7d34bc95 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ Current -Version 0.6.3
        +Version 0.6.4
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From f5551fd8d6e8b7db2537d8ec14b936d2ad897441 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 7 May 2008 13:08:43 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@283 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index a7d34bc95..07d2e6a37 100644 --- a/docs/index.html +++ b/docs/index.html @@ -71,8 +71,10 @@ Currently the ChibiOS/RT is ported to the following architectures:
        should be trivial. Both ARM and THUMB modes are supported.
      • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with -minimal changes.
      • ARM Cortex-M3-STM32.
      • +minimal changes. +
      • ARM Cortex-M3, ST Microelectronics STM32.
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • +
      • Texas Instruments MSP430, complete but untested.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over -- cgit v1.2.3 From cadf83110acc18314197ace9e3d5083a99e3fdb8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 16 May 2008 15:09:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@292 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 07d2e6a37..a5e391e8d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ Current -Version 0.6.4
        +Version 0.6.5
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From f42443a50a2b05df78e724da7f3f765116a810cd Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 12 Jun 2008 09:35:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@317 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index a5e391e8d..9f7e7c836 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ - ChibiOS/RT Homepage + ChibiOS/RT embedded RTOS homepage @@ -12,7 +12,7 @@ -- cgit v1.2.3 From 5f4dbf9ca9ba32bfeefa3dbab412867dc63f0892 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 2 Jul 2008 12:32:13 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@328 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 1d07bc0ee..ab2a7b800 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ + + -- cgit v1.2.3 From fa9b36aff3676a897503a359314d08db8fc5a09d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 14 Feb 2009 18:20:33 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@766 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 6543c3647..f499e90a5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -14,7 +14,7 @@
        Current -Version 0.6.5
        +Version 0.6.6
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 1a5246e99628e0c5763f01ef388c93c6c3535542 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 13 Jun 2008 12:59:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@318 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 9f7e7c836..1d07bc0ee 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,7 +7,7 @@
        -

        ChibiOS/RTTMHomepage

        +

        ChibiOS/RT embedded RTOS homepage

        Current -Version 0.6.6
        +Version 0.6.7
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 2a249f7ff91bbd62586334fee29e6a288859f421 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 22 Jul 2008 10:12:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@347 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index ab2a7b800..86ad1030d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.6.7
        +Version 0.6.8
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From eb9b4efd31018e4949e3cc09830a5ecfc1304664 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 25 Jul 2008 14:32:39 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@353 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 86ad1030d..40ce2d19d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.6.8
        +Version 0.6.9
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From f3c6388ed54a5b50a4fab613822c4d176b9e346c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 25 Aug 2008 17:36:58 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@405 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 40ce2d19d..bee25b525 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.6.9
        +Version 0.6.10
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From ac6b3caba1b75ca603e63946f8ca7f54c7ab598f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 26 Aug 2008 10:38:29 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@407 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index bee25b525..232949a08 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.6.10
        +Version 0.7.0
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 2a9e6947a1c0cefe24f8ac7f1b4997e0f661572f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 20 Sep 2008 15:34:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@434 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 232949a08..638e01887 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.7.0
        +Version 0.7.1
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 102341ad5d0e39af783675233b888977ab4585db Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 4 Oct 2008 07:44:48 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@447 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 638e01887..78bf64068 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.7.1
        +Version 0.7.2
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From dbe47e931ac6c9ffa72d861f283dd661fc289d65 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Oct 2008 09:58:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@478 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 78bf64068..2675e51cf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.7.2
        +Version 0.7.3
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From eb6426acaa7f18c4639eda5de529818e91df7c7e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 3 Nov 2008 21:35:45 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@496 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 2675e51cf..73d9030eb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.7.3
        +Version 0.7.4
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 9336c1fc9fdae776126295737131d0a22b2f05b8 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 8 Nov 2008 10:58:59 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@501 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 73d9030eb..e4cb1abfd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.7.4
        +Version 0.8.0
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From aa653cd45ac7291187c8c18363d03d534c9cd430 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 18 Nov 2008 20:36:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@516 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index e4cb1abfd..fde0eab1a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.8.0
        +Version 0.8.1
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 74b2ef532c2798d67be383c6eaa7220dafc3bac1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 21 Nov 2008 20:06:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@518 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index fde0eab1a..f2db24ff0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.8.1
        +Version 0.8.2
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 68a1ac21b8a7708cf6ff75391253e7746f18a9a1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 26 Nov 2008 18:06:55 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@519 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index f2db24ff0..0baf70ac5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -132,7 +132,7 @@ optimized for speed takes about 6KiB. See the documentation about the many available subsystems.

        About performance, on a 48MHz LPC ARM7 processor the kernel is capable of context switch time ranging from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the -choosen complier/kernel optimizations. In the distribution is included +choosen compiler/kernel optimizations. In the distribution is included a spreadsheet with the exact values and the various space/time trade offs.
        The context switch time is *measured* using 2 threads exchanging messages and doing *real* work, it is not a calculated peak -- cgit v1.2.3 From dae3de6609b9251dbaaa280c1ce886a350c3c0c5 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 7 Dec 2008 10:21:40 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@536 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 0baf70ac5..9f89f5399 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.8.2
        +Version 0.8.3
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 82585c79fe50b098ecdf48e1e6dae7e2909a8fd0 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Dec 2008 15:33:05 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@560 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 9f89f5399..40e5c6b15 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 0.8.3
        +Version 1.0.0rc1
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 8bd7d8023bca9cdfaac0672ef4619f1d4d6b6448 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Dec 2008 13:18:32 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@574 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 40e5c6b15..dbb30bdfc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,6 +29,11 @@ Version 1.0.0rc1
        SourceForge.net Logo

        Support This Project

        + +Wikipedia Affiliate Button + +
        +
        -

        History

        This RTOS is something I wrote back in 1990 for use on boards -- cgit v1.2.3 From 64e5a24e28d6746dc78c1784a474bccf784a272d Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Dec 2008 14:30:21 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@575 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index dbb30bdfc..40e5c6b15 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,11 +29,6 @@ Version 1.0.0rc1
        SourceForge.net Logo

        Support This Project

        - -Wikipedia Affiliate Button - -
        -
        -

        History

        This RTOS is something I wrote back in 1990 for use on boards -- cgit v1.2.3 From ed0322b9cb4234fdb4c230eee41a1449ae0479cb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 9 Jan 2009 20:24:44 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@600 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 40e5c6b15..d7ad024d9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 1.0.0rc1
        +Version 1.0.0rc2
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 239c51248d26bfc901a3a5ef1d185166fd2c9899 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 21 Jan 2009 18:14:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@664 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index d7ad024d9..fbe5a3d5d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
        Current -Version 1.0.0rc2
        +Version 1.1.0unstable
        -
        Project on SourceForge
        Documentation
        @@ -154,7 +154,7 @@ ChibiOS/RT was created using:
        • 7-Zip, http://7-zip.org
        • GCC and GNU binutils,  http://gcc.gnu.org
        • -
        • Doxigen, http://www.doxygen.org
        • +
        • Doxygen, http://www.doxygen.org
        • Inkscape, http://www.inkscape.org
        • MinGW, http://mingw.org
        • NVU, http://www.nvu.com
        • -- cgit v1.2.3 From 12ca3be7093ef8e4d28cac41f068a938a1dfe8fb Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 31 Jan 2009 08:58:54 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@700 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index fbe5a3d5d..6543c3647 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,11 +12,13 @@
        Current -Version 1.1.0unstable
        +Versions
        +1.0.0 stable
        +1.1.0 unstable
        -
        Project on SourceForge
        Documentation
        - Downloads
        Wiki
        Forum
        + Downloads
        Contact me
        -
        History
        @@ -45,13 +47,8 @@ with M68K processors, the development was made on an Atari ST. The OS worked well for its intended purpose, Internet was not widespread at that time so the system had a limited use.
        Recently I decided to release this system, formerly known as mkRTOS, as Free -Software. I cleaned up the code, improved the documentation, made a -port on a more modern architecture (ARM) and it is finally ready.
        -While ChibiOS/RT is a new product it is based on a proven system so the -alpha/beta phases should not last long, the project was started as an -alpha -version mainly to be able to incorporate the feedback into the -product easily.
        +Software. I cleaned up the code, improved the documentation, ported it +to more modern architectures and it is finally ready.

        Description

        ChibiOS/RT is designed for embedded applications and it is meant to be linked with the application code. The design philosophy is to make it @@ -74,7 +71,7 @@ chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with minimal changes.
      • ARM Cortex-M3, ST Microelectronics STM32.
      • Atmel AVR: AT90CAN128 and ATmega128 demos included.
      • -
      • Texas Instruments MSP430, complete but untested.
      • +
      • Texas Instruments MSP430.
      • x86 as a Win32 process, this port allows to write your application on the PC without the need of a development board/simulator/emulator. Communication ports are simulated over @@ -115,9 +112,7 @@ This does not prevent the application code to use an allocator if needed, it is just the kernel that does not require it.
      • No weird macros in the user code, everything should look -and feel like normal C code with a normal main() function. I don't like -to bring someone else weird programming habits in my code and I think -this is true for everybody.
      • +and feel like normal C code with a normal main() function.
      • Encapsulate all the things that need changes while porting the OS to new architectures in few template files, fill the code into @@ -150,14 +145,23 @@ put my hands on new hardware/tools.
      • existing other free projects like: TCP/IP stacks, File Systems etc.

        Credits

        -ChibiOS/RT was created using:
        +ChibiOS/RT is 100% proprietary software free and was created using all the following FOSS projects:
        Current Versions
        1.0.0 stable
        -1.1.0 unstable
        +1.1.1 unstable
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 3139ee3c532881a23fb5d4171cdc7120f4f1f869 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 21 Feb 2009 09:20:18 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@796 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index f499e90a5..87ea4e9f8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,8 +13,8 @@
        Current Versions
        -1.0.0 stable
        -1.1.1 unstable
        +1.0.1 stable
        +1.1.0 unstable
        -
        Project on SourceForge
        Documentation
        -- cgit v1.2.3 From 8588e9642d632d6d84e9c48388cfb566ecd4a36e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Mar 2009 08:15:23 +0000 Subject: Fixes to the documentation, swapped the values of constants TIME_INFINITE and TIME_IMMEDIATE (previously TIME_ZERO). git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@816 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/index.html | 180 +++----------------------------------------------------- 1 file changed, 8 insertions(+), 172 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 87ea4e9f8..bf4fe4e3f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,172 +1,8 @@ - - - - ChibiOS/RT embedded RTOS homepage - - - - - - - - - - - -
        -

        ChibiOS/RT embedded RTOS homepage

        -
        Current -Versions
        -1.0.1 stable
        -1.1.0 unstable
        --
        - Project on SourceForge
        - Documentation
        - Downloads
        - Contact me
        --
        - History
        - Description
        Current ports
        - Design
        Performance and Size
        - Future
        --
        - Credits
        -
        - SourceForge.net Logo
        -
        - Support This Project

        - - - - -
        -

        History

        -This RTOS is something I wrote back in 1990 for use on boards -equipped -with M68K processors, the development was made on an Atari ST. The OS -worked well for its intended purpose, Internet was not -widespread at that time so the system had a limited use.
        -Recently I decided to release this system, formerly known as mkRTOS, as Free -Software. I cleaned up the code, improved the documentation, ported it -to more modern architectures and it is finally ready.
        -

        Description

        -ChibiOS/RT is designed for embedded applications and it is meant to be -linked with the application code. The design philosophy is to make it -easy to use so I hope that all the APIs are meaningful, easy to -understand and with the parameters you would expect from them.
        The -system offers threads, semaphores, mutexes, messages, events, virtual -timers, -queues, I/O channels with timeout capability and much more. The -Priority Inheritance algorithm is implemented through the Mutexes -mechaninsm, the implementation supports any number of threads and -nested mutexes.
        -

        Current -ports

        -Currently the ChibiOS/RT is ported to the following architectures:
        -
          -
        • ARM7TDMI-LPC214x, the port to other LPC2000 chips -should be trivial. Both ARM and THUMB modes are supported.
        • -
        • ARM7TDMI-AT91SAM7X256, this port also supports other Atmel -chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with -minimal changes.
        • -
        • ARM Cortex-M3, ST Microelectronics STM32.
        • -
        • Atmel AVR: AT90CAN128 and ATmega128 demos included.
        • -
        • Texas Instruments MSP430.
        • -
        • x86 as a Win32 process, this port allows to write -your application on the PC without the need of a development -board/simulator/emulator. Communication ports are simulated over -sockets, you can telnet on the simulator ports for the debug. I am -considering to create a similar simulator into a Linux process.
        • -
        • M68K, this was the original target but it is -currently removed from the source tree because currently I have no way -to test it, my old Atari ST is long dead. It should be very easy to -revive the port to the M68K or Coldfire CPUs.
        • -
        -In general the port is very easy on architectures that can handle well -linked lists, the kernel is entirely reliant on lists so this -is a -very important efficiency factor. 16 and 32 bits architectures are -always fine, 8 bit architectures should be evaluated case by case but -are not ruled out, something like an H8 would not have problems. You -could port it -to a Z80/Z180 (I considered that too, and made tests using the SDCC -compiler) but the -resulting code is not much efficient because the instruction set is -missing the indirect addressing for 16 bits values that is important -for efficient linked lists traversal. -

        Design

        -The system was designed to be stable and avoid trouble as much as -possible so some rules were set:
        -
          -
        • No arrays or tables, I don't like to have to -configure limits -for data structures, only use lists or other dynamic data structures. -See -the Documentation and -the demos.
        • -
        • No memory allocation inside the kernel, an allocator -can be -troublesome for RT applications. All the data structures are declared -in the application code and not allocated from a shared system heap. -This does not prevent the application code to use an allocator if -needed, it is just the kernel that does not require it.
        • -
        • No weird macros in the user code, everything should -look -and feel like normal C code with a normal main() function.
        • -
        • Encapsulate all the things that need changes while -porting -the OS to new architectures in few template files, fill the code into -the templates and the port is done.

        Performance and Size

        ChibiOS/RT -has a wide set of APIs but all the subsystems can be included or -removed from the memory image by editing the kernel configuration file -chconf.h. On ARM processors, the kernel size starts at just -1.5KiB depending on the included subsystems and the choosen -compiler optimizations.
        As reference, a kernel configured with...
        • System startup code
        • Chip initialization code
        • Multithreading APIs
        • Virtual Timer APIs
        • Semaphore APIs
        • System time + Sleep API
        • Suspend/Resume APIs
        • Small main() program with flashing LEDs demo and 3 threads
        ...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a typical configuration -not a minimal one. A kernel configured with all the options and -optimized for speed takes about 6KiB. See the documentation about the -many available subsystems.

        About performance, on a 48MHz LPC -ARM7 processor the kernel is capable of context switch time ranging -from 3 to 6 microseconds depending on the code type (ARM/THUMB) and the -choosen compiler/kernel optimizations. In the distribution is included -a spreadsheet with the exact values and the various space/time trade -offs.
        The context switch time is *measured* using 2 threads -exchanging messages and doing *real* work, it is not a calculated peak -value. See the demo code, it includes the benchmark. -

        Future

        -Expect:
          - -
        • Documentation improvements.
        • - -
        • Ports to more architectures/boards when I am able to -put my hands on new hardware/tools.
        • -
        • More demos.
        • -
        • Creation of new subsystems.
        • -
        • Integration with -existing other free projects like: TCP/IP stacks, File Systems etc.
        • -
        -

        Credits

        -ChibiOS/RT is 100% proprietary software free and was created using all the following FOSS projects:
        - -
        - - \ No newline at end of file + + + + + + + + -- cgit v1.2.3