⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 introduction.sgml

📁 eCos操作系统源码
💻 SGML
📖 第 1 页 / 共 2 页
字号:
<para>The result is a royalty-free system with minimal obligations onthe part of application developers. This has resulted in the rapiduptake of <productname>eCos</productname>. At the same time,<productname>eCos</productname> is fully open source with all thebenefits that implies in terms of quality and innovation. We believethat this is a winning combination.</para><sect1 id="ecos-licensing-qna"><title>Questions and answers</title><para>The following queries provide some clarification as to theimplications of the <productname>eCos</productname> license. They donot consititute part of the legal meaning of the license.</para><para><emphasis>Q.</emphasis> What is the effect of the<productname>eCos</productname> license?</para><para><emphasis>A.</emphasis> In the simplest terms, when youdistribute anything containing <productname>eCos</productname> code,you must make the source code to <productname>eCos</productname>available under the terms of the GPL.</para><para><emphasis>Q.</emphasis> What if I make changes to<productname>eCos</productname>, or write new code based on<productname>eCos</productname> code?</para><para><emphasis>A.</emphasis> Then you must make those changesavailable as well.</para><para><emphasis>Q.</emphasis> Do I have to distribute the sourcecode to my application? Isn't the GPL "viral"?</para><para><emphasis>A.</emphasis> You do not have to distribute anycode under the terms of the GPL other than<productname>eCos</productname> code or code derived from<productname>eCos</productname>. For example, if you write a HAL portbased on copying an existing <productname>eCos</productname> HAL inany way, you must make the source code available with thebinary. However you would not need to make available any other code,such as the code of a wholly separate application linked with<productname>eCos</productname>.</para><para><emphasis>Q.</emphasis> I would rather stick with theRHEPL code, but I updated my anonymous CVS checkout.</para><para><emphasis>A.</emphasis> You can check out the finalversion of anonymous CVS before the license change using the CVS tag<literal>last-rhepl</literal>. See <ulinkurl="http://ecos.sourceware.org/anoncvs.html">the anonymous CVSaccess page</ulink>for details.</para></sect1><sect1 id="ecos-licensing-previous"><title>Previous License</title><para>Prior to May 2002, <productname>eCos</productname> was released underthe <ulink url="http://ecos.sourceware.org/old-license.html">RedHat eCos Public License (RHEPL)</ulink>. The RHEPL required anymodifications to <productname>eCos</productname> code to be madeavailable under preferential terms to Red Hat and was thereforeincompatible with code licensed under the GPL.  The use of<productname>eCos</productname> source code which was licensed underthe RHEPL is not affected by the switch to the modified GPL for laterrevisions.</para></sect1></chapter><!-- ==================================================== --><chapter id="notation-and-conventions"><title>Notation and Conventions</title><para>Since there are many supported target architectures, notationconventions are used in this manual to avoid repeating instructionsthat are very similar.</para><SECT1 ID="GDB-AND-GCC-COMMAND-NOTATION"><!-- <index></index> --><!-- <xref> --><TITLE>GDB and <!-- <index></index> -->GCC Command Notation</TITLE><para>Cross-development commands like <COMMAND>gcc</COMMAND> and<COMMAND>gdb</COMMAND> will be shown with a<replaceable>TARGET-</replaceable> prefix. You need to replace<replaceable>TARGET-</replaceable> with the correct prefix beforeusing the command. Just using <command>gcc</command> or<command>gdb</command> will use the tools for the host, which is not(usually) what you want.</para><para>For example use <command>arm-elf-gcc</command> and<command>arm-elf-gdb</command> for ARM, Thumb, and StrongARM targets.Use <command>xscale-elf-gcc</command> and<command>xscale-elf-gdb</command> for Intel Xscale targets.Use <command>i386-elf-gcc</command> and<command>i386-elf-gdb</command> for IA32 targets. And so on, the exactprefix to use is shown in the documentation for each target.</para><PARA>Note that some versions of the GCC cross compiler generateexecutable files with the <FILENAME>.exe</FILENAME> suffix on Windows,but not on Linux. The suffix <FILENAME>.exe</FILENAME> will be omittedfrom executable file names, so you will see <FILENAME>hello</FILENAME>instead of <FILENAME>hello.exe</FILENAME>.</PARA></sect1><SECT1 ID="DIRECTORY-AND-FILE-SYSTEM-CONVENTIONS"><!-- <index></index> --><TITLE>Directory and File System Conventions</TITLE><PARA>The default directory for installing<productname>eCos</productname> on Windows (usually<FILENAME>C:/Program Files/eCos</FILENAME>) is different from that onLinux (usually <FILENAME>/opt/ecos</FILENAME>).  Since many commandline examples in the tutorials use these paths, this default (base)directory will be cited as <replaceable>BASE_DIR</replaceable>.</PARA><PARA>Windows and Linux have a similar file system syntax, but theMS-DOS command interpreter on Windows uses the backslash character(\) as a path separator, while Linux and POSIX shells (includingthe Cygwin bash shell for windows) use the forward slash (/).</PARA><PARA>This document will use the POSIX shell convention of forwardslashes throughout.</PARA></SECT1><!-- ==================================================== --><SECT1 ID="VERSION-CONVENTIONS"><TITLE>Version Conventions</TITLE><para>This manual does not refer explicitly to any particular version of<productname>eCos</productname>. However, version numbers form part ofmany file path names. In all of these places the version number willbe shown like this: <replaceable>&Version;</replaceable>.</para><para>If you have used anonymous CVS to check<productname>eCos</productname> out of the CVS repository, the versionnumber will always be <literal>current</literal>, since that is thename of the directory in the repository. When a stable release is madethis directory name is changed, in the release, to the number of therelease, for example <literal>v2_0</literal> or<literal>v2_1</literal>.</para></SECT1></chapter><chapter id="documentation-roadmap"><title>Documentation Roadmap</title><para>The <productname>eCos</productname> documentation is divided into athree main parts:</para><VARIABLELIST><VARLISTENTRY><TERM><EMPHASIS>User Guide</EMPHASIS></TERM><LISTITEM><PARA>This document. It includes the following sections:</PARA>  <VARIABLELIST>  <VARLISTENTRY>  <TERM>Installing <productname>eCos</productname></TERM>  <LISTITEM>  <para>  This section describes how to install the  <productname>eCos</productname> software, how to set up your  hardware and how to test that it is all working.  </para>  </listitem>  </varlistentry>  <VARLISTENTRY>  <TERM>Programming Under <productname>eCos</productname></TERM>  <LISTITEM>  <para>  This section describes how to write programs that run under  <productname>eCos</productname> by running through some examples.  </para>  </listitem>  </varlistentry>  <VARLISTENTRY>  <TERM>The <productname>eCos</productname> <application>Configuration Tool</application></TERM>  <LISTITEM>  <para>  This section describes the <productname>eCos</productname> graphical  configuration tool and how to use it to change how  <productname>eCos</productname> behaves.</para>  </listitem>  </varlistentry>  <VARLISTENTRY>  <TERM><productname>eCos</productname> Programming Concepts and Techniques</TERM>  <LISTITEM>  <PARA>An explanation of the <productname>eCos</productname> programming	    cycle, and a description of some debugging facilities that	    <productname>eCos</productname> offers.  </PARA>  </listitem>  </varlistentry>  <VARLISTENTRY>  <TERM>Configuration and the Package              Repository</TERM>  <LISTITEM>  <PARA>Information on how to configure <productname>eCos</productname>              manually, including a reference on the              <command>ecosconfig</command> command, memory layouts,              and information on how to manage a package repository              using the <productname>eCos</productname> Package Administration              Tool.            </PARA>  </LISTITEM>  </VARLISTENTRY>  </variablelist></LISTITEM></VARLISTENTRY><VARLISTENTRY><TERM><EMPHASIS>Reference Guide</EMPHASIS></TERM><LISTITEM><PARA>The Reference Guide provides detailed documentation on variousaspects of <productname>eCos</productname>. This document is beingconstantly updated, so the following list just mentions the moreimportant sections, take a look at the guide itself for the fullstory.</PARA>  <variablelist>  <VARLISTENTRY>  <TERM>The <productname>eCos</productname> Kernel</TERM>  <LISTITEM>  <PARA>In-depth description of <productname>eCos</productname>&quot;s              native C kernel API Important considerations are given              for programming the <productname>eCos</productname>              kernel. The semantics for each kernel function are              described, including how they are affected by              configuration. </PARA>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>POSIX and &micro;ITRON APIs</TERM>  <LISTITEM>  <PARA>A description of the POSIX and &micro;ITRON APIs and how they  are supported under <productname>eCos</productname>.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>The <productname>eCos</productname> Hardware Abstraction Layer (HAL)</TERM>  <LISTITEM>  <PARA>A description of the structure and functionality of the  <productname>eCos</productname> HAL. This section also includes a  porting guide to help moving <productname>eCos</productname> to  different platforms.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>Device Drivers</TERM>  <LISTITEM>  <PARA>A description of the philosophy behind              <productname>eCos</productname> device drivers, as well as a              presentation of the C language APIs for using the current              device drivers. </PARA>  <para>    Device driver support includes serial, ethernet and FLASH devices,    and support for PCI, PCMCIA and USB interconnects.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>RedBoot User's Guide</TERM>  <LISTITEM>  <PARA>This describes RedBoot, which provides a complete bootstrap        environment for a range of embedded operating systems, such as        embedded Linux and <productname>eCos</productname>, and        includes facilities such as network downloading and        debugging. It also provides a simple flash file system for        boot images.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>TCP/IP Stack Support</TERM>  <LISTITEM>  <PARA>This describes the Common Networking for        <productname>eCos</productname> package, which provides        support for a complete TCP/IP networking stack. The design        allows for the actual stack to be modular and at the current        time two different implementations, one based on OpenBSD from        2000 and a new version based on FreeBSD, are available.  </para>  <para>Other components related to networking, including support for        SNMP, DNS, HTTP and FTP, are also described.  </para>  </LISTITEM>  </VARLISTENTRY>  </variablelist></LISTITEM></VARLISTENTRY><VARLISTENTRY><TERM><EMPHASIS>Component Writer's Guide</EMPHASIS></TERM><LISTITEM><PARA>The Component Writer's Guide is intended for developers who needto add or modify parts of <productname>eCos</productname> itself. Itdescribes the following things:</PARA>  <VARIABLELIST>  <VARLISTENTRY>  <TERM>Overview</TERM>  <LISTITEM>  <PARA>An explanation of the configuration technology used in  <productname>eCos</productname>, why it is done this way, how it  works and the terminology used.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>Package Organization</TERM>  <LISTITEM>  <PARA>A description of the <productname>eCos</productname> package  repository, how it is organized and how packages themselves are  organized.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>The CDL Language</TERM>  <LISTITEM>  <PARA>A description of the CDL language and how it is used to  control the configuration of <productname>eCos</productname>  components. The document also contains a complete specification of  the language.  </para>  </LISTITEM>  </VARLISTENTRY>  <VARLISTENTRY>  <TERM>The Build Process</TERM>  <LISTITEM>  <PARA>A description of what happens once a configuration has been  created and must be built into a set of executables.  </para>  </LISTITEM>  </VARLISTENTRY>  </variablelist></LISTITEM></VARLISTENTRY></variablelist></chapter></part>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -