diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/index.html | 180 | ||||
-rw-r--r-- | docs/reports/STM32F103-72.txt | 6 |
2 files changed, 11 insertions, 175 deletions
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 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head>
- <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
- <title>ChibiOS/RT embedded RTOS homepage</title></head>
-<body>
-<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
- <tbody>
- <tr align="center">
- <td colspan="2" rowspan="1">
- <h2>ChibiOS/RT embedded RTOS homepage</h2>
- </td>
- </tr>
- <tr>
- <td style="text-align: center; vertical-align: top; width: 150px;">Current
-Versions<br>
-1.0.1 stable<br>
-1.1.0 unstable<br>
--<br>
- <a href="http://sourceforge.net/projects/chibios/" rel="me" target="_top">Project on SourceForge</a><br>
- <a href="html/index.html" target="_top" rel="me">Documentation</a><br>
- <a href="http://sourceforge.net/project/showfiles.php?group_id=205897" rel="me" target="_top">Downloads</a><br>
- <a href="http://sourceforge.net/users/gdisirio/" rel="me" target="_top">Contact me</a><br>
--<br>
- <a href="#History">History</a><br>
- <a href="#Description">Description</a><br><a href="index.html#Current_ports">Current ports</a><br>
- <a href="#Design">Design</a><br><a href="#Performance_and_Size">Performance and Size</a><br>
- <a href="#Future">Future</a><br>
--<br>
- <a href="#Credits">Credits</a><br>
- <br>
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=205897&type=4" alt="SourceForge.net Logo" border="0" height="37" width="125"></a><br>
- <br>
- <a href="http://sourceforge.net/donate/index.php?group_id=205897"><img src="http://images.sourceforge.net/images/project-support.jpg" alt="Support This Project" border="0" height="32" width="88"></a><br><br>
-<!-- Inizio Codice Shinystat -->
-<script type="text/javascript" language="JavaScript" src="http://codice.shinystat.com/cgi-bin/getcod.cgi?USER=ChibiOS"></script>
-<noscript>
-<a href="http://www.shinystat.com/it" target="_top">
-<img src="http://www.shinystat.com/cgi-bin/shinystat.cgi?USER=ChibiOS" alt="Statistiche" border="0"></a>
-</noscript>
-<!-- Fine Codice Shinystat -->
- </td>
- <td style="text-align: justify; vertical-align: top;">
- <h3><a name="History"></a>History</h3>
-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.<br>
-Recently I decided to release this system, formerly known as <span style="font-style: italic;">mkRTOS</span>, as Free
-Software. I cleaned up the code, improved the documentation, ported it
-to more modern architectures and it is finally ready.<br>
- <h3><a name="Description"></a>Description</h3>
-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.<br>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.<br>
- <h3><a name="Current_ports"></a>Current
-ports</h3>
-Currently the ChibiOS/RT is ported to the following architectures:<br>
- <ul>
- <li>ARM7TDMI-LPC214x, the port to other LPC2000 chips
-should be trivial. Both ARM and THUMB modes are supported.</li>
- <li>ARM7TDMI-AT91SAM7X256, this port also supports other Atmel
-chips: SAM7XC, SAM7S and the various sizes (128, 256, 512) with
-minimal changes.</li>
- <li>ARM Cortex-M3, ST Microelectronics STM32.</li>
- <li>Atmel AVR: AT90CAN128 and ATmega128 demos included.</li>
- <li>Texas Instruments MSP430.</li>
- <li>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.</li>
- <li>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.</li>
- </ul>
-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.
- <h3><a name="Design"></a>Design</h3>
-The system was designed to be stable and avoid trouble as much as
-possible so some rules were set:<br>
- <ul>
- <li>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 <a href="http://chibios.sourceforge.net/html/index.html" target="_top" rel="me">Documentation</a> and
-the demos.</li>
- <li>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.</li>
- <li>No weird macros in the user code, everything should
-look
-and feel like normal C code with a normal main() function.</li>
- <li>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.</li></ul><h3><a name="Performance_and_Size"></a>Performance and Size</h3>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.<br>As reference, a kernel configured with...<br><ul><li>System startup code</li><li>Chip initialization code</li><li>Multithreading APIs</li><li>Virtual Timer APIs</li><li>Semaphore APIs</li><li>System time + Sleep API</li><li>Suspend/Resume APIs</li><li>Small main() program with flashing LEDs demo and 3 threads</li></ul>...just takes 2.11KiB of program space when compiled using THUMB code and space optimizations. Note that this is quite a <span style="font-weight: bold;">typical configuration</span>
-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.<br><br>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.<br>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.
- <h3><a name="Future"></a>Future</h3>
-Expect:<br><ul>
-
- <li>Documentation improvements.</li>
-
- <li>Ports to more architectures/boards when I am able to
-put my hands on new hardware/tools.</li>
- <li>More demos.</li>
- <li>Creation of new subsystems.</li>
- <li>Integration with
-existing other free projects like: TCP/IP stacks, File Systems etc.</li>
- </ul>
- <h3><a name="Credits"></a>Credits</h3>
-ChibiOS/RT is 100% proprietary software free and was created using all the following FOSS projects:<br>
- <ul>
- <li>7-Zip, <a href="http://7-zip.org" target="_top">http://7-zip.org</a></li>
- <li>GCC and GNU binutils, <a href="http://gcc.gnu.org" target="_top">http://gcc.gnu.org</a></li>
- <li>Doxygen, <a href="http://www.doxygen.org" target="_top">http://www.doxygen.org</a></li>
- <li>Eclipse, <a href="http://www.eclipse.org" target="_top">http://www.eclipse.org</a></li>
- <li>Eclox, <a href="http://eclox.eu" target="_top">http://eclox.eu</a></li>
- <li>Freemarker, <a href="http://freemarker.org" target="_top">http://freemarker.org</a></li>
- <li>FMPP, <a href="http://fmpp.sourceforge.net" target="_top">http://fmpp.sourceforge.net</a></li>
- <li>Graphviz, <a href="http://www.graphviz.org" target="_top">http://www.graphviz.org</a></li>
- <li>Inkscape, <a href="http://www.inkscape.org" target="_top">http://www.inkscape.org</a></li>
- <li>MinGW, <a href="http://mingw.org" target="_top">http://mingw.org</a></li>
- <li>MSPGCC, <a href="http://mspgcc.sourceforge.net" target="_top">http://mspgcc.sourceforge.net</a></li>
- <li>NVU, <a href="http://www.nvu.com/" target="_top">http://www.nvu.com</a></li>
- <li>OpenOCD, <a href="http://openocd.berlios.de/web" target="_top">http://openocd.berlios.de/web</a></li>
- <li>WinARM, <a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects" target="_top">http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects</a></li>
- <li>WinAVR, <a href="http://winavr.sourceforge.net" target="_top">http://winavr.sourceforge.net</a></li>
- <li>YAGARTO, <a href="http://www.yagarto.de" target="_top">http://www.yagarto.de</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-</body></html>
\ No newline at end of file +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="Refresh" content="0; URL=html/index.html">
+ </head>
+ <body>
+ </body>
+</html>
diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index e871e0c13..f7f0bcda0 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -60,7 +60,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, context switch #2, empty ready list)
---- Score : 178664 msgs/S, 357328 ctxswc/S
+--- Score : 178663 msgs/S, 357326 ctxswc/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, context switch #3, 4 threads in ready list)
@@ -72,7 +72,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads creation/termination, optimal)
---- Score : 210632 threads/S
+--- Score : 210633 threads/S
--- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, mass reschedulation, 5 threads)
@@ -92,7 +92,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS
---------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, mutexes lock/unlock)
---- Score : 601124 lock+unlock/S
+--- Score : 601120 lock+unlock/S
--- Result: SUCCESS
---------------------------------------------------------------------------
|