gnuk/ChibiOS_2.0.6/docs/html/target.html
2010-11-22 14:53:37 +09:00

89 lines
4.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChibiOS/RT: Application Range</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
</table>
<hr size="1">
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="navpath">
<ul>
<li><a class="el" href="main.html">ChibiOS/RT</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<h1>Application Range </h1> </div>
</div>
<div class="contents">
<p>ChibiOS/RT Application Range.</p>
<ul>
<li><a class="el" href="target.html#applications">Application Scenarios</a></li>
<li><a class="el" href="target.html#min_requirements">Absolute Minimum Requirements</a></li>
<li><a class="el" href="target.html#desirable_features">Desirable Features</a></li>
<li><a class="el" href="target.html#upper_limit">Upper Recommended Limit</a></li>
</ul>
<h2><a class="anchor" id="applications"></a>
Application Scenarios</h2>
<p>ChibiOS/RT is usable in many applicative areas, as example and not limited to:</p>
<ul>
<li>Automotive.</li>
<li>Robotic Applications.</li>
<li>Consumer Electronics.</li>
<li>Energy Management.</li>
<li>Teaching and Learning.</li>
<li>Hobby.</li>
</ul>
<h2><a class="anchor" id="min_requirements"></a>
Absolute Minimum Requirements</h2>
<p>A certain set of minimum system requirements must be satisfied in order to use ChibiOS/RT on a new architecture:</p>
<ul>
<li>8bits architecture minimum.</li>
<li>A "real" stack pointer that can be positioned anywhere in the data address space. The OS could be ported to architectures with an hardware stack but I wouldn't recommend it because the context switch would become ridiculously inefficient.</li>
<li>Support for maskable interrupt sources and at least an OS-dedicated timer.</li>
<li>Support for standard C89 (C99 supported) language with no architecture-related non-standard restrictions. Non standard mandatory language extensions or restrictions may result in reduced functionality or impossibility of use.</li>
<li>256/512bytes RAM permanently allocated to the kernel and its two mandatory threads "idle" and "main", the exact amount depends on the architecture. This figure is not inclusive of the HAL and device drivers (non mandatory components).</li>
<li>8KiB of program space for a full featured kernel scalable down to about 1.2KiB for reduced configurations. This figure is not inclusive of the HAL and device drivers (non mandatory components).</li>
</ul>
<h2><a class="anchor" id="desirable_features"></a>
Desirable Features</h2>
<ul>
<li>Efficient instruction set for linked lists traversal. The kernel makes extensive use of simple and bidirectional linked lists so the performance is directly affected by the supported addressing modes, number of registers etc.</li>
<li>Uniformly sized C pointers.</li>
<li>2KiB RAM.</li>
<li>16KiB ROM/Flash.</li>
</ul>
<h2><a class="anchor" id="upper_limit"></a>
Upper Recommended Limit</h2>
<p>The application range of ChibiOS/RT ends when one or more of the following features are required:</p>
<ul>
<li>Separation between user code space and kernel space, both just logical or using a Memory Management/Protection Unit. Applications in ChibiOS/RT are supposed to be monolithic and trusted. The kernel and the application share the same address space.</li>
<li>Multiple applications. ChibiOS/RT supports the single multithreaded application model.</li>
<li>Multicore SMP architectures. Currently ChibiOS/RT only supports a single core unless running multiple distinct and separate OS instances. A true multicore kernel is planned for when multicore MCUs will become commonly available.</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated on Sun Oct 24 2010 09:40:45 for ChibiOS/RT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.1</small></address>
</body>
</html>