?? introduction.sgml
字號:
<!-- {{{ Banner --><!-- =============================================================== --><!-- --><!-- introduction.sgml --><!-- --><!-- eCos User Guide --><!-- --><!-- =============================================================== --><!-- ####COPYRIGHTBEGIN#### --><!-- --><!-- =============================================================== --><!-- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. --><!-- Copyright (C) 2003 Nick Garnett --><!-- This material may be distributed only subject to the terms --><!-- and conditions set forth in the Open Publication License, v1.0 --><!-- or later (the latest version is presently available at --><!-- http://www.opencontent.org/openpub/) --><!-- Distribution of the work or derivative of the work in any --><!-- standard (paper) book form is prohibited unless prior --><!-- permission obtained from the copyright holder --><!-- =============================================================== --><!-- --> <!-- ####COPYRIGHTEND#### --><!-- =============================================================== --><!-- #####DESCRIPTIONBEGIN#### --><!-- --><!-- ####DESCRIPTIONEND#### --><!-- =============================================================== --><!-- }}} --><part ID="user-guide-introduction"><TITLE>Introduction</TITLE><!--<chapter ID="FOREWORD-WHATS-NEW"><TITLE>What's New?</TITLE><para>XXXXX So what is new??? XXXXX</para></chapter>--><!-- ==================================================== --><chapter ID="ecos-key-features"><TITLE>Key Features</TITLE><itemizedlist><listitem><para><productname>eCos</productname> is distributed under the GPLlicense with an exception which permits proprietary application codeto be linked with <productname>eCos</productname> without itself beingforced to be released under the GPL. It is also royalty and buyoutfree.</para></listitem><listitem><para>As an Open Source project, <productname>eCos</productname> isunder constant improvement, with an active developer community, basedaround the <productname>eCos</productname> web site at <ULINKURL="http://ecos.sourceware.org/">http://ecos.sourceware.org/</ULINK>.</para></listitem><listitem><para>Powerful GUI-based configuration system allowing both large andfine grained configuration of <productname>eCos</productname>. Thisallows the functionality of <productname>eCos</productname> to becustomized to the exact requirements of the application.</para></listitem><listitem><para>Full-featured, flexible, configurable, real time embeddedkernel. The kernel provides thread scheduling, synchronization,timer, and communication primitives. It handles hardware resourcessuch as interrupts, exceptions, memory and caches.</para></listitem><listitem><para>The Hardware Abstraction Layer (HAL) hides the specific featuresof each supported CPU and platform, so that the kernel and otherrun-time components can be implemented in a portable fashion.</para></listitem><listitem><para>Support for µITRON and POSIX Application ProgrammerInterfaces (APIs). It also includes a fully featured, thread-safe ISOstandard C library and math library.</para></listitem><listitem><para>Support for a wide variety of devices including many serialdevices, ethernet controllers and FLASH memories. There is alsosupport for PCMCIA, USB and PCI interconnects.</para></listitem><listitem><para>A fully featured TCP/IP stack implementing IP, IPv6, ICMP, UDPand TCP over ethernet. Support for SNMP, HTTP, TFTP and FTP are alsopresent.</para></listitem><listitem><para>The RedBoot ROM monitor is an application that uses the<productname>eCos</productname> HAL for portability. It providesserial and ethernet based booting and debug services duringdevelopment.</para></listitem><listitem><para>Many components include test programs that validate thecomponents behaviour. These can be used both to check that hardware isfunctioning correctly, and as examples of<productname>eCos</productname> usage.</para></listitem><listitem><para><productname>eCos</productname> documentation included this UserGuide, the Reference Manual and the Components Writer's Guide. Theseare being continually updated as the system develops.</para></listitem></itemizedlist></chapter><!-- ==================================================== --><chapter ID="ecos-overview"><TITLE><productname>eCos</productname> Overview</TITLE><PARA><productname>eCos</productname> is an open source, configurable, portable, and royalty-free embedded real-time operating system. The following text expands on these core aspects that define <productname>eCos</productname>.</PARA><PARA><productname>eCos</productname> is provided as an open source runtime system supported by the GNU open source development tools. Developers have full and unfettered access to all aspects of the runtime system. No parts of it are proprietary or hidden, and you are at liberty to examine, add to, and modify the code as you deem necessary. These rights are granted to you and protected by the GNU Public License (GPL). An exception clause has been added to the eCos license which limits the circumstances in which the license applies to other code when used in conjunction with eCos. This exception grants you the right to freely develop and distribute applications based on <productname>eCos</productname>. You are not expected or required to make your embedded applications or any additional components that you develop freely available so long as they are not derived from <productname>eCos</productname> code. We of course welcome all contributions back to <productname>eCos</productname> such as board ports, device drivers and other components, as this helps the growth and development of <productname>eCos</productname>, and is of benefit to the entire <productname>eCos</productname> community. See <XREF LINKEND="ecos-licensing"> for more details.</PARA><PARA>One of the key technological innovations in <productname>eCos</productname> is the configuration system. The configuration system allows the application writer to impose their requirements on the run-time components, both in terms of their functionality and implementation, whereas traditionally the operating system has constrained the application's own implementation. Essentially, this enables <productname>eCos</productname> developers to create their own application-specific operating system and makes <productname>eCos</productname> suitable for a wide range of embedded uses. Configuration also ensures that the resource footprint of <productname>eCos</productname> is minimized as all unnecessary functionality and features are removed. The configuration system also presents <productname>eCos</productname> as a component architecture. This provides a standardized mechanism for component suppliers to extend the functionality of <productname>eCos</productname> and allows applications to be built from a wide set of optional configurable run-time components. Components can be provided from a variety of sources including: the standard <productname>eCos</productname> release; commercial third party developers or open source contributors.</PARA><PARA>The royalty-free nature of <productname>eCos</productname> means that you can develop anddeploy your application using the standard <productname>eCos</productname> release withoutincurring any royalty charges. In addition, there are no up-frontlicense charges for the <productname>eCos</productname> runtime source code and associatedtools. We provide, without charge, everything necessary for basicembedded applications development.</PARA><PARA><productname>eCos</productname> is designed to be portable to awide range of target architectures and target platforms including 16,32, and 64 bit architectures, MPUs, MCUs and DSPs. The<productname>eCos</productname> kernel, libraries and runtimecomponents are layered on the Hardware Abstraction Layer (HAL), andthus will run on any target once the HAL and relevant device drivershave been ported to the target's processor architecture andboard. Currently <productname>eCos</productname> supports a largerange of different target architectures: </para><itemizedlist><listitem><para>ARM, Intel StrongARM and XScale</para></listitem><listitem><para>Fujitsu FR-V</para></listitem><listitem><para>Hitachi SH2/3/4</para></listitem><listitem><para>Hitachi H8/300H </para></listitem><listitem><para>Intel x86</para></listitem><listitem><para>MIPS</para></listitem><listitem><para>Matsushita AM3x</para></listitem><listitem><para>Motorola PowerPC</para></listitem><listitem><para>Motorola 68k/Coldfire</para></listitem><listitem><para>NEC V850</para></listitem><listitem><para>Sun SPARC</para></listitem></itemizedlist><para>including many of the popular variants of these architecturesand evaluation boards.</PARA><PARA><productname>eCos</productname> has been designed to supportapplications with real-time requirements, providing features such asfull preemptability, minimal interrupt latencies, and all thenecessary synchronization primitives, scheduling policies, andinterrupt handling mechanisms needed for these type ofapplications. <productname>eCos</productname> also provides all thefunctionality required for general embedded application supportincluding device drivers, memory management, exception handling, C,math libraries, etc. In addition to runtime support, the<productname>eCos</productname> system includes all the toolsnecessary to develop embedded applications, including<productname>eCos</productname> software configuration and buildtools, and GNU based compilers, assemblers, linkers, debuggers, andsimulators.</PARA><PARA>To get the most out of <productname>eCos</productname> youshould visit the <productname>eCos</productname> open sourcedevelopers site: <ULINKURL="http://ecos.sourceware.org/">http://ecos.sourceware.org/</ULINK>.</para><PARA>The site is dedicated to the <productname>eCos</productname> developer community and contains a rich set of resources including news, FAQ, online documentation, installation guide, discussion and announcement mailing lists, and runtime and development tools downloads. The site also supports anonymous CVS and WEBCVS access to provide direct access to the latest <productname>eCos</productname> source base. </PARA><PARA><productname>eCos</productname> is released as open source software because we believe that this is the most effective software development model, and that it provides the greatest benefit to the embedded developer community as a whole. As part of this endeavor, we seek the input and participation of <productname>eCos</productname> developers in its continuing evolution. Participation can take many forms including:</PARA><ITEMIZEDLIST><LISTITEM><PARA>providing us with feedback on how <productname>eCos</productname> might be made moreuseful to you - by taking part in the ongoing mailing list discussionsand by submitting problem reports covering bugs, documentation issues,and missing features</PARA></LISTITEM><LISTITEM><PARA>contributing bug fixes and enhancement patches</PARA></LISTITEM><LISTITEM><PARA>contributing new code including device drivers, boardports, libraries, and other runtime components</PARA></LISTITEM></ITEMIZEDLIST><PARA>Our long term aim is to make <productname>eCos</productname> arich and ubiquitous standard infrastructure for the development ofdeeply embedded applications. This will be achieved with theassistance of the <productname>eCos</productname> developer communitycooperating to improve <productname>eCos</productname> for all. Wewould like to take this opportunity to extend our thanks to the many<productname>eCos</productname> developers who have alreadycontributed feedback, ideas, patches, and code that have augmented andimproved this release.</PARA><para><emphasis>The <productname>eCos</productname> Maintainers</emphasis></para></chapter><!-- ==================================================== --><chapter ID="ecos-licensing"><TITLE><productname>eCos</productname> Licence Overview</TITLE><para>As of May 2002, <productname>eCos</productname> is releasedunder a modified version of the well known <ulinkurl="http://www.gnu.org/copyleft/gpl.html">GNU General Public License(GPL)</ulink>, now making it an <ulinkurl="http://www.gnu.org/philosophy/license-list.html">officialGPL-compatible Free Software License</ulink>. An exception clause hasbeen added to the <productname>eCos</productname> license which limitsthe circumstances in which the license applies to other code when usedin conjunction with <productname>eCos</productname>. The exceptionclause is as follows:</para><programlisting width=72> As a special exception, if other files instantiate templates or use macros or inline functions from this file, or you compile this file and link it with other works to produce a work based on this file, this file does not by itself cause the resulting work to be covered by the GNU General Public License. However the source code for this file must still be made available in accordance with section (3) of the GNU General Public License. This exception does not invalidate any other reasons why a work based on this file might be covered by the GNU General Public License.</programlisting><para>The goal of the license is to serve the<productname>eCos</productname> user community as a whole. It allowsall <productname>eCos</productname> users to develop products withoutpaying anybody anything, no matter how many developers are working onthe product or how many units will be shipped. The license alsoguarantees that the <productname>eCos</productname> source code willalways be freely available. This applies not only to the core<productname>eCos</productname> code itself but also to any changesthat anybody makes to the core. In particular, it should prevent anycompany or individual contributing code to the system and then laterclaiming that all <productname>eCos</productname> users are now guiltyof copyright or patent infringements and have to pay royalties. Itshould also prevent any company from making some small improvements,calling the result a completely new system, and releasing this under anew and less generous license.</para><para>The license does <emphasis>not</emphasis> require users torelease the source code of any <emphasis>applications</emphasis> thatare developed with <productname>eCos</productname>. However, ifanybody makes any changes to code covered by the<productname>eCos</productname> license, or writes new files derivedin any way from <productname>eCos</productname> code, then we believethat the entire user community should have the opportunity to benefitfrom this. The license stipulates that these changes must be madeavailable in source code form to all recipients of binaries based onthe modified code, either by including the sources along with thebinaries you deliver (or with any device containing such binaries) orwith a written offer to supply the source code to the general publicfor three years. It is perhaps most practical for<productname>eCos</productname> developers to make the source codeavailable online and inform those who are receiving binariescontaining <productname>eCos</productname> code, and probably also the<productname>eCos</productname> maintainers, about the location of thecode. See the <ulink url="http://www.gnu.org/copyleft/gpl.html">fulltext of the GPL</ulink> for the most authoritative definition of theobligations.</para><para>Although it is not strictly necessary to contribute the modifiedcode back to the <productname>eCos</productname> open source project,we are always pleased to receive code contributions and hope thatdevelopers will also be keen to give back in return for what theyreceived from the <productname>eCos</productname> project completelyfree of charge. The <productname>eCos</productname> maintainers areresponsible for deciding whether such contributions should be appliedto the public repository. In addition, a <ulinkurl="http://ecos.sourceware.org/assign.html">copyrightassignment</ulink> is required for any significant changes to the core<productname>eCos</productname> packages.</para>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -