?? books.htm
字號(hào):
programmers have learned to fear <font face="Courier New">
malloc()</font> and it’s potential for heap fragmentation as well as its often poor
determinism. Labrosse shows an alternative that is used in his OS as well as many
commercial products.<br>
The original 礐/OS has been successfully ported to many
dozens of microprocessors. In this book the author gives explicit porting directions. <br>
If you currently do not use an RTOS, read this book to gain
a deep understanding of what these powerful tools can do for your code. If you're looking
at commercial products, read the book to understand some of the tradeoffs and gain an
appreciation for what happens when in an OS. And if you just like to see how to write
beautiful, well documented code, check out the included disk to see how rigorously applied
software standards and coding discipline can make code read like a novel. Well,
almost."
<p align="center"><a href="#TOP"><img border="0" src="books.1.gif" tppabs="http://www.ucos-ii.com/images/bookstore/books.1.gif" width="67" height="30"></a></td>
<td width="29%" height="336"><p align="center"><img src="uCOS-75.jpg" tppabs="http://www.ucos-ii.com/images/uCOS-75.jpg" alt="uCOS-75.jpg (23631 bytes)" width="239" height="294"></p>
<p align="center"><strong>ISBN 0-87930-543-6</strong></td>
</tr>
</table>
<hr>
<p align="center"><code><big><big><font face="Arial Black"><big><b><code>礐/OS-II</code></b></big></font></big></big></code></p>
<p><font face="Times New Roman">This book describes the design and implementation of <code>礐/OS-II</code>
(pronounced "Micro C O S 2"), which stands for MicroController Operating System
Version 2. <code>礐/OS-II</code> is based on <code>礐/OS</code>, The Real—Time
Kernel that was first published in 1992. Thousands of people around the world are
using <code>礐/OS</code> in all kinds of applications, such as cameras, medical
instruments, musical instruments, engine controls, network adapters, highway telephone
call boxes, ATM machines, industrial robots, and more. Numerous colleges and
universities also have used <code>礐/OS</code> to teach students about real—time
systems.</font></p>
<p><font face="Times New Roman"><code>礐/OS-II</code> is upward compatible with <code>礐/OS
V1.11</code> but provides many improvements, such as the addition of a fixed—sized
memory manager; user—definable callouts on task creation, task deletion, task switch,
and system tick; TCB extensions support; stack checking; and much more. I also added
comments to just about every function, and I made <code>礐/OS-II</code> much easier to
port to different processors. The source code in <code>礐/OS</code> was placed in two
files. Because <code>礐/OS-II</code> contains many new features and functions, I
decided to split <code>礐/OS-II</code> into a few source files to make the code easier to
maintain.<br>
<br>
If you currently have an application that runs with <code>礐/OS</code>, it should run
virtually unchanged with <code>礐/OS-II</code>. All of the services (i.e., function
calls) provided by <code>礐/OS</code> have been preserved. You may, however, have
to change include files and product build files to "point" to the new filenames.<br>
This book contains all the source code for <code>礐/OS-II</code> and a port for the Intel
80x86 processor running in real mode and for the large model. The code was developed on a
PC running the Microsoft Windows 95 operating system. Examples run in a
DOS—compatible box under the Windows 95 environment. Development was done using the
Borland International C/C++ compiler V3.1. Although <code>礐/OS-II</code> was
developed and tested on a PC, <code>礐/OS-II</code> was actually targeted for embedded
systems and can be ported easily to many different processor architectures.
</font></p>
<p align="center"><a href="#TOP"><img border="0" src="books.1.gif" tppabs="http://www.ucos-ii.com/images/bookstore/books.1.gif" width="67" height="30"></a><font face="Times New Roman"><br>
</font></p>
<p align="center"><code><font face="Arial Black"><b><big><big><big>礐/OS-II
Features</big></big></big></b></font></code></p>
<b><p><big>Source Code</big></b> This book contains all the source code for <code>礐/OS-II</code>
. I went to a lot of effort to provide you with a high—quality product. You may not
agree with some of the style constructs that I use, but you should agree that the code is
both clean and very consistent. Many commercial real—time kernels are provided in
source form. I challenge you to find any such code that is as neat, consistent, well
commented, and well organized as that in <code>礐/OS-II</code> . Also, I believe that
simply giving you the source code is not enough. You need to know how the code works and
how the different pieces fit together. You will find that type of information in this
book. The organization of a real—time kernel is not always apparent when staring at
many source files and thousands of lines of code. </p>
<p><big><b>Portable</b></big> Most of <code>礐/OS-II</code> is written in highly portable
ANSI C, with target microprocessor—specific code written in assembly language.
Assembly language is kept to a minimum to make <code>礐/OS-II</code> easy to port to
other processors. Like <code>礐/OS, <code>礐/OS-II</code> </code>can be ported to a
large number of microprocessors as long as the microprocessor provides a stack pointer and
the CPU registers can be pushed onto and popped from the stack. Also, the C compiler
should provide either in—line assembly or language extensions that allow you to
enable and disable interrupts from C. <code>礐/OS-II</code> can run on most 8-, 16-, 32-,
or even 64-bit microprocessors or microcontrollers and DSPs.<br>
All the ports that currently exist for <code>礐/OS</code> can be converted to <code>礐/OS-II</code>
in about an hour. Also, because <code><code>礐/OS-II</code> </code>is upward compatible
with <code>礐/OS</code>, your <code>礐/OS</code> applications should run on <code>礐/OS-II</code>
with few or no changes. Check for the availability of ports on the <code>礐/OS-II</code>
Web site at <code>www.uCOS-II.com.</code> </p>
<p><b><big>ROMable</big> </b><code>礐/OS-II</code> was designed for embedded
applications. This means that if you have the proper tool chain (i.e., C compiler,
assembler, and linker/locator), you can embed <code>礐/OS-II</code> as part of a product.
</p>
<p><big><b>Scalable</b></big> I designed <code>礐/OS-II</code> so that you can use only
the services you need in your application. This means that a product can use just a few <code>礐/OS-II</code>
services, while another product can have the full set of features. This allows you to
reduce the amount of memory (both RAM and ROM) needed by <code>礐/OS-II</code> on a
per—product basis. Scalability is accomplished with the use of conditional
compilation. Simply specify (through <code>#define</code> constants) which features you
need for your application or product. I did everything I could to reduce both the code and
data space required by <code>礐/OS-II</code> . </p>
<p><big><b>Preemptive</b></big> <code>礐/OS-II</code> is a fully preemptive
real—time kernel. This means that <code>礐/OS-II</code> always runs the highest
priority task that is ready. Most commercial kernels are preemptive, and <code>礐/OS-II</code>
is comparable in performance with many of them. </p>
<p><big><b>Multitasking</b></big> <code>礐/OS-II</code> can manage up to 64 tasks;
however, the current version of the software reserves eight of these tasks for system use.
This leaves your application up to 56 tasks. Each task has a unique priority assigned to
it, which means that <code>礐/OS-II</code> cannot do round—robin scheduling. There
are thus 64 priority levels. </p>
<p><big><b>Deterministic</b></big> Execution time of all <code>礐/OS-II</code> functions
and services are deterministic. This means that you can always know how much time <code>礐/OS-II</code>
will take to execute a function or a service. Furthermore, except for one service,
execution time of all <code>礐/OS-II</code> services do not depend on the number of tasks
running in your application. </p>
<p><big><b>Task Stacks</b></big> Each task requires its own stack; however, <code>礐/OS-II</code>
allows each task to have a different stack size. This allows you to reduce the amount of
RAM needed in your application. With <code>礐/OS-II</code> 'stack—checking feature,
you can determine exactly how much stack space each task actually requires. </p>
<p><big><b>Services</b></big> <code>礐/OS-II</code> provides a number of system services,
such as mailboxes, queues, semaphores, fixed—sized memory partitions,
time—related functions, and so on.</p>
<b><p><big>Interrupt Management</big></b> Interrupts can suspend the execution of a task.
If a higher priority task is awakened as a result of the interrupt, the highest priority
task will run as soon as all nested interrupts complete. Interrupts can be nested up to
255 levels deep. </p>
<p><big><b>Robust and Reliable</b></big><code> 礐/OS-II</code> is based on <code>礐/OS</code>,
which has been used in hundreds of commercial applications since 1992. <code>礐/OS-II</code>
uses the same core and most of the same functions as <code>礐/OS</code> yet offers more
features. </p>
<p align="center"><a href="#TOP"><img border="0" src="books.1.gif" tppabs="http://www.ucos-ii.com/images/bookstore/books.1.gif" width="67" height="30"></a></p>
<hr>
<table border="0" width="100%">
<tr>
<td width="22%"><p align="center"><img border="0" src="esbb2ed.gif" tppabs="http://www.ucos-ii.com/images/bookstore/esbb2ed.gif" width="283" height="349"></td>
<td width="78%" rowspan="2">This book provides basic, reusable real-time system modules
and explains how to use and modify them. Portable, ready to use code will save time and
costs in system development and shorten time to market. Time to market is becoming as
important as cost control in gaining competitive advantage. <p>Jean J. Labrosse has been
designing embedded systems for over 15 years. Thousands of people are using his first
book, <a href="javascript:if(confirm('http://www.rdbooks.com/scripts/store/vsc/store/products/rd2343.htm?L+/htdocs/rdbooks/config/store+aotp4118 \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.rdbooks.com/scripts/store/vsc/store/products/rd2343.htm?L+/htdocs/rdbooks/config/store+aotp4118'" tppabs="http://www.rdbooks.com/scripts/store/vsc/store/products/rd2343.htm?L+/htdocs/rdbooks/config/store+aotp4118"><i>礐/OS-II:
The Real-Time Kernel.</i></a> His experience has taught him that certain pieces are common
to most systems: a display, a keypad for interacting with the system, various analog and
discrete inputs, various types of outputs, communications with host computers, event
timing, and keeping track of date and time. Labrosse provides basic building blocks for
all these processes, freeing other developers to work on the fun and unique parts of their
designs. By providing some of the peripheral functions, Labrosse enables designers to put
their energy into the hard specifics of each unique system. </p>
<p>Designers can use Labrosse's code for rapid prototyping, or modify it as needed to
include in their final product. For students, Labrosse takes the mystery out of the unique
requirements of embedded systems design with concrete programming examples. By providing
the code in C, the book allows students to use a wide range of microprocessors. </p>
<p>Each chapter describes one or more of the building blocks, and the user can jump to any
chapter as needed,.</p>
<p><b>Audience:</b> <br>
This book is for embedded system programmers, consultants, and students. It assumes the
reader knows C programming language and at least a minimum of assembly language
programming. Using the book also requires some knowledge of microprocessors and basic
electronics, although the hardware explained is easy to understand. </p>
<p><b>About the Author:</b> <br>
Jean J. Labrosse has been developing real-time software for more than 15 years on a wide
range of microprocessors. He works in Fort Lauderdale, Florida, designing control software
for large industrial reciprocating engines. </p>
<pre>640 pages, 8 x 10, Hardcover
Includes CD-ROM
<a href="javascript:if(confirm('http://www.rdbooks.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.rdbooks.com/'" tppabs="http://www.rdbooks.com/">R&D Books</a>, 1999
<strong><big><big>ISBN 0-87930-604-1</big></big></strong></pre>
<div align="center">
<center>
<pre><a href="#TOP"><img border="0" src="books.1.gif" tppabs="http://www.ucos-ii.com/images/bookstore/books.1.gif" width="67" height="30"></a></pre>
</center>
</div>
</td>
</tr>
<tr>
<td width="22%" valign="middle"><p align="center"><a href="javascript:if(confirm('http://www.amazon.com/exec/obidos/ASIN/0879306041/jeanjlabro/102-7792679-0068052 \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.amazon.com/exec/obidos/ASIN/0879306041/jeanjlabro/102-7792679-0068052'" tppabs="http://www.amazon.com/exec/obidos/ASIN/0879306041/jeanjlabro/102-7792679-0068052"><big><strong><big><big><big>Order</big></big></big></strong></big></a></p>
<p align="center"><big><strong>this</strong></big></p>
<p align="center"><big><big><big><big><strong>Book</strong></big></big></big></big>
<p align="center"> </td>
</tr>
</table>
<!--msnavigation--></td></tr><!--msnavigation--></table></body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -