亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? programming.sgml

?? 開放源碼實時操作系統源碼.
?? SGML
?? 第 1 頁 / 共 4 頁
字號:
<!-- {{{ Banner                         -->

<!-- =============================================================== -->
<!--                                                                 -->
<!--     programming.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-programming">
<TITLE>Programming With <productname>eCos</productname></TITLE>

<CHAPTER ID="PROGRAMMING-WITH-ECOS">
<TITLE>Programming With <productname>eCos</productname></TITLE>

<PARA>The following chapters of this manual comprise a simple tutorial
for configuring and building <productname>eCos</productname>, building and running <productname>eCos</productname> tests,
and finally building three stand-alone example programs which use
the  <productname>eCos</productname> API to perform some simple tasks.</PARA>

<PARA>You will need a properly installed <productname>eCos</productname> system, with the correct
versions of the GNU toolchain.<!-- <conditionaltext> --> On Windows
you will be using the bash command line interpreter that comes with
Cygwin, with the environment variables set as described in the
toolchain documentation.</PARA>

<SECT1 id="development-process">
<TITLE>The Development Process</TITLE>

<PARA>Most development projects using <productname>eCos</productname> would contain some (or
most) of  the following:</PARA>

<SECT2>
<TITLE><productname>eCos</productname> Configuration</TITLE>

<PARA><productname>eCos</productname> is configured to provide the desired API (the inclusion
of libc, uitron, and the disabling of certain undesired funtions,
etc.), and semantics (selecting scheduler, mutex behavior, etc.).
See <XREF LINKEND="CONFIGURING-AND-BUILDING-ECOS-FROM-SOURCE">.</PARA>

<PARA>It would normally make sense to enable <productname>eCos</productname> assertion checking
at this time as well, to catch as many programming errors during
the development phase as possible.</PARA>

<PARA>Note that it should not be necessary to spend much time on
<productname>eCos</productname> configuration initially. It may be important to perform fine
tuning to reduce the memory footprint and to improve performance
later when the product reaches a testable state.</PARA>
</SECT2>

<SECT2>
<TITLE>    Integrity check of the <productname>eCos</productname> configuration</TITLE>

<PARA>While we strive to thoroughly test <productname>eCos</productname>, the vast number
of configuration permutations mean that the particular configuration
parameters used for your project may not have been tested. Therefore,
we advise running the <productname>eCos</productname> tests after the project's
<productname>eCos</productname> configuration has been determined. See <XREF LINKEND="RUNNING-AN-ECOS-TEST-CASE">.</PARA>

<PARA>Obviously, this should be repeated if the configuration changes
later on in the development process.</PARA>
</SECT2>

<SECT2>
<TITLE>    Application Development - Target Neutral Part</TITLE>

<PARA>While your project is probably targeting a specific architecture
and platform, possibly custom hardware, it may be possible to perform
part of the application development using simulated or synthetic
targets.</PARA>

<PARA>There are three good reasons for doing this:</PARA>

<ITEMIZEDLIST>

<LISTITEM>
<PARA>It may be possible by this means to perform application
development in parallel with the design/implementation
of the target hardware, thus providing more time for developing
and testing functionality, and reducing time-to-market.</PARA>
</LISTITEM>

<LISTITEM>
<PARA>The build-run-debug-cycle may be faster when the application
does not have to be downloaded to a target via a serial interface.
Debugging is also likely to be more responsive when you do not have to
to communicate with the remote GDB stubs in RedBoot via serial. It
also removes the need for manually or automatically resetting the
target hardware.</PARA>
</LISTITEM>

<listitem>
<para>
New hardware can often be buggy. Comparing the behaviour of the
program on the hardware and in the simulator or synthetic target may
allow you to identify where the problems lie.
</para>
</listitem>

</ITEMIZEDLIST>

<PARA>This approach is possible because all targets (including
simulators and synthetic ones) provide the same basic API: that
is, kernel, libc, libm, uitron, infra, and to some extent, HAL and
IO.</PARA>

<PARA>Synthetic targets are especially suitable as they allow you
to construct simulations of elaborate devices by interaction with
the host system, where an IO device API can hide the details from
the application. When switching to hardware later in the development
cycle, the IO driver is properly implemented.
</para>

<para>
Simulators can also do this, but it all depends on the
design and capabilities of the simulator you use. Some, like
<ULINK URL="http://sources.redhat.com/sid">SID</ULINK> or
<ULINK URL="http://bochs.sourceforge.net/">Bochs</ULINK> provide
complete hardware emulation, while others just support enough of the
instruction set to run compiled code.
</PARA>

<PARA>Therefore, select a simulator or synthetic target and use
it for as long as possible for application development. That is,
configure for the selected target, build <productname>eCos</productname>, build the application
and link with <productname>eCos</productname>, run and debug. Repeat the latter two steps until
you are happy with it.</PARA>

<PARA>Obviously, at some time you will have to switch to the intended
target hardware, for example when adding target specific feature
support, for memory footprint/performance characterization,
and for final tuning of <productname>eCos</productname> and the application.</PARA>

</SECT2>

<SECT2>
<TITLE>    Application Development - Target Specific Part</TITLE>

<PARA>Repeat the build-run-debug-cycle while performing final tuning
and debugging of application. Remember to disable <productname>eCos</productname> assertion
checking if you are testing any performance-related aspects, it can
make a big difference.</PARA>

<PARA>It may be useful to switch between this and the previous step
repeatedly through the development process; use the simulator/synthetic
target for actual development, and use the target hardware to continually
check memory footprint and performance. There should be little cost
in switching between the two targets when using two separate build
trees. </PARA>
</SECT2>

</SECT1>

</CHAPTER>

<!-- ==================================================== -->

<CHAPTER ID="CONFIGURING-AND-BUILDING-ECOS-FROM-SOURCE"><!-- <conditionaltext> -->
<TITLE><!-- <xref> --><!-- <index></index> -->Configuring and Building <productname>eCos</productname> from Source</TITLE>

<PARA>This chapter documents the configuration of <productname>eCos</productname>. The process is
the same for any of the supported targets: you may select a
hardware target (if you have a board available), any one of the
simulators, or a synthetic target (if your host platform has synthetic
target support).</PARA>

<!-- ==================================================== -->

<SECT1 id="ecos-startup-configs">
<TITLE><!-- <xref> --><productname>eCos</productname> Start-up Configurations</TITLE>

<PARA>There are various ways to download an executable image to a
target board, and these involve different ways of preparing the
executable image. In the <productname>eCos</productname> Hardware Abstraction Layer (HAL package)
there are configuration options to support the different download
methods. <XREF LINKEND="user-guide-download-methods"> summarizes the
ways in which an <productname>eCos</productname> image can be prepared for different types of
download. This is not an exhaustive list, some targets define
additional start-up types of their own. Where a ROM Monitor is
mentioned, this will usually be RedBoot, although on some older, or
low resource, targets you may need to use CygMon or the GDB stubs ROM,
see the target documentation for details.</PARA>


<TABLE id="user-guide-download-methods">
<TITLE>Configuration for various download methods</TITLE>
<TGROUP COLS="2">
<THEAD>
<ROW>
<ENTRY>Download method</ENTRY>
<ENTRY>HAL configuration</ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY>Burn hardware ROM</ENTRY>
<ENTRY>&nbsp;ROM or ROMRAM start-up</ENTRY>
</ROW>
<ROW>
<ENTRY>Download to ROM emulator</ENTRY>
<ENTRY>&nbsp;ROM or ROMRAM start-up</ENTRY>
</ROW>
<ROW>
<ENTRY>Download to board with ROM Monitor</ENTRY>
<ENTRY>&nbsp;RAM start-up</ENTRY>
</ROW>
<ROW>
<ENTRY>Download to simulator without ROM Monitor</ENTRY>
<ENTRY>&nbsp;ROM start-up</ENTRY>
</ROW>
<ROW>
<ENTRY>Download to simulator with ROM Monitor</ENTRY>
<ENTRY>&nbsp;RAM start-up</ENTRY>
</ROW>
<ROW>
<ENTRY>Download to simulator ignoring devices</ENTRY>
<ENTRY>&nbsp;SIM configuration</ENTRY>
</ROW>
<ROW>
<ENTRY>Run synthetic target</ENTRY>
<ENTRY>&nbsp;RAM start-up</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>

<CAUTION>

<PARA>You cannot run an application configured for RAM start-up
on the simulator directly: it will fail during start-up. You can
only download it to the simulator if
you are already running RedBoot in the simulator,
as described in the toolchain documentation
or you load through the 
<EMPHASIS>SID </EMPHASIS>
GDB debugging component.  This is not the same as the simulated
stub, since it does not require a target program to be running to
get GDB to talk to it.  It can be done before letting the simulator
run
or you use the ELF loader component to get a program into memory.</PARA>

</CAUTION><!-- <label> --><!-- <conditionaltext> --><!-- NOTE</label> -->

<NOTE>
<PARA>Configuring <productname>eCos</productname>' HAL package for simulation should
rarely be needed for real development; binaries built with such
a kernel will not run on target boards at all,<!-- <conditionaltext> -->
and the MN10300 and
TX39 simulators can run binaries built for stdeval1 and jmr3904
target boards.
The main use for a ``simulation'' configuration
is if you are trying to work around problems with the device drivers
or with the simulator.  Also note that when using a TX39 system configured
for simulator start-up you should then invoke the simulator with 
the <OPTION>--board=jmr3904pal</OPTION>
option instead of 
<OPTION>--board=jmr3904</OPTION><!-- <conditionaltext> --></PARA>
</NOTE>

<NOTE>
<PARA>If your chosen architecture does not have simulator support,
then the combinations above that refer to the simulator do not apply.
Similarly, if your chosen platform does not have RedBoot
ROM support, the combinations listed above that use 
RedBoot do not apply.</PARA>
</NOTE>

<PARA>The debugging environment for most developers will be either
a hardware board or the simulator, in which case they will be able
to select a single HAL configuration.</PARA>

</SECT1>

<!-- ==================================================== -->

<SECT1 id="using-configtool-windows-linux">
<TITLE><!-- <index></index> -->
Configuration Tool on Windows and Linux Quick Start</TITLE>

<PARA><!-- <conditionaltext> --> 

This section described the GUI based configuration tool. This
tool is probably more suited to users who prefer GUI's. The next
section describes a CLI based tool which Unix users may
prefer. </PARA>

<PARA>Note that the use of the <application>Configuration Tool</application>
is described in detail in <XREF
LINKEND="THE-ECOS-CONFIGURATION-TOOL">.</PARA>

<PARA>The <application>Configuration Tool</application> (see <XREF LINKEND="PROGRAMMING-FIGURE-CONFIGURATION-TOOL">)
has five main elements: the <EMPHASIS>configuration window</EMPHASIS>,
the <emphasis>conflicts window</emphasis>,
the <EMPHASIS>properties window</EMPHASIS>, the <!-- <xref> --><EMPHASIS>short
description window</EMPHASIS>,
and the <EMPHASIS>output window</EMPHASIS>.</PARA>

<FIGURE ID="PROGRAMMING-FIGURE-CONFIGURATION-TOOL">
<TITLE>Configuration Tool</TITLE><!-- <xref> -->
<GRAPHIC ENTITYREF="programming-graphic1"></GRAPHIC>
</FIGURE>

<PARA>Start by opening the templates window via <GUIMENUITEM>Build-&#62;Templates</GUIMENUITEM>.
Select the desired target (see <XREF LINKEND="FIGURE-TEMPLATE-SELECTION">).</PARA>

<FIGURE ID="FIGURE-TEMPLATE-SELECTION">
<TITLE>Template selection</TITLE><!-- <xref> -->
<GRAPHIC ENTITYREF="programming-graphic2"></GRAPHIC>
</FIGURE>

<PARA>Make sure that the configuration is correct for the target
in terms of endianness, CPU model, Startup type, etc. (see <XREF LINKEND="CONFIGURING-FOR-THE-TARGET">).</PARA>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久九九影视网| 色哦色哦哦色天天综合| 亚瑟在线精品视频| 亚洲精品日韩一| 中文字幕在线不卡| 日韩一区在线看| 最好看的中文字幕久久| 伊人色综合久久天天人手人婷| ...av二区三区久久精品| 亚洲欧美偷拍三级| 亚洲精品福利视频网站| 亚洲午夜免费电影| 日韩精品亚洲专区| 国产在线精品一区二区| 国产乱码精品一区二区三区五月婷| 国产做a爰片久久毛片| 国产999精品久久久久久| 成人的网站免费观看| 日本国产一区二区| 欧美一区二区三区播放老司机| 日韩视频一区在线观看| 国产亚洲精品中文字幕| 亚洲区小说区图片区qvod| 亚洲成人av一区| 精品一区二区三区视频在线观看 | 国产精品传媒视频| 亚洲图片欧美激情| 视频一区中文字幕| 国产麻豆欧美日韩一区| 99re视频精品| 日韩精品一区二区三区四区视频| 久久久久久亚洲综合| 一区二区三区精品视频在线| 喷水一区二区三区| 国产不卡在线视频| 欧美日韩免费视频| 日本一区二区三级电影在线观看| 亚洲激情第一区| 韩国成人福利片在线播放| av午夜一区麻豆| 欧美电影免费观看高清完整版在线 | 国产一区啦啦啦在线观看| www.欧美.com| 欧美tickling挠脚心丨vk| 亚洲女与黑人做爰| 国产精品1区二区.| 欧美精品丝袜中出| 亚洲免费在线视频| 国产精品99久久久久| 3d成人动漫网站| 亚洲视频网在线直播| 国产一二三精品| 日韩亚洲电影在线| 亚洲成av人片| 99精品国产91久久久久久| 久久久五月婷婷| 日韩不卡一区二区| 欧美日韩国产综合一区二区| 国产精品人成在线观看免费| 老司机精品视频在线| 欧美精品一二三| 午夜私人影院久久久久| 色综合久久综合网欧美综合网| 国产人妖乱国产精品人妖| 蜜臀av性久久久久av蜜臀妖精| 欧美三电影在线| 一区二区三区高清| 色呦呦一区二区三区| 国产精品私人自拍| 丁香婷婷综合色啪| 中文字幕精品一区二区三区精品| 国产一区二区在线观看免费| 欧美成人综合网站| 韩国欧美一区二区| 99re6这里只有精品视频在线观看| 久久99蜜桃精品| 欧美亚一区二区| 亚洲人成网站精品片在线观看| 成人一区二区三区| 日韩一区欧美小说| 97精品超碰一区二区三区| 亚洲人成电影网站色mp4| 99精品桃花视频在线观看| 中文字幕中文字幕一区二区| 成人av影院在线| 亚洲男同性恋视频| 欧美成人一区二区| 国产经典欧美精品| 中文字幕字幕中文在线中不卡视频| 北条麻妃一区二区三区| 亚洲人成网站影音先锋播放| 欧美性大战久久久久久久蜜臀| 亚洲大片一区二区三区| 日韩视频中午一区| 风间由美性色一区二区三区| 亚洲欧美综合色| 91麻豆精品国产91久久久更新时间 | 亚洲女同一区二区| 欧美三级乱人伦电影| 九九精品一区二区| 国产精品三级在线观看| 欧美在线一区二区三区| 日本v片在线高清不卡在线观看| 精品乱人伦小说| 91网站最新网址| 蜜臀av性久久久久蜜臀aⅴ | 91福利在线免费观看| 天堂午夜影视日韩欧美一区二区| 亚洲同性同志一二三专区| 91福利精品第一导航| 蜜臀精品一区二区三区在线观看| 午夜日韩在线电影| 3d动漫精品啪啪一区二区竹菊| 六月丁香婷婷色狠狠久久| 国产精品免费久久久久| 欧美精品 国产精品| 国产白丝精品91爽爽久久 | 在线一区二区观看| 看电视剧不卡顿的网站| 亚洲婷婷在线视频| 亚洲精品一区二区三区99| 欧美在线观看视频一区二区| 久久不见久久见免费视频1| 亚洲精品乱码久久久久| 久久久久久久久免费| 3atv在线一区二区三区| 91丨porny丨最新| 国产麻豆欧美日韩一区| 视频一区欧美精品| 一区二区三区四区在线免费观看| 久久久久成人黄色影片| 日韩一级完整毛片| 欧美精品在欧美一区二区少妇| 91黄色免费看| 风间由美一区二区av101| 国产精品久久久久毛片软件| 日韩一区二区精品| 欧美日韩一区三区| 日本丶国产丶欧美色综合| 成人性生交大片免费看视频在线| 水野朝阳av一区二区三区| 亚洲女与黑人做爰| 亚洲日本青草视频在线怡红院| 久久久久久久综合| 久久亚洲一区二区三区四区| 日韩一区二区在线观看| 欧美二区三区91| 欧美精品v国产精品v日韩精品 | 成人激情免费电影网址| 国产在线播精品第三| 国产一区二区三区在线观看免费 | 亚洲精品一二三| 亚洲女人小视频在线观看| 国产精品久久毛片a| 欧美激情一区二区三区全黄| 久久久久97国产精华液好用吗| 精品1区2区在线观看| 26uuu色噜噜精品一区| 精品国产一区二区三区四区四| 欧美变态tickle挠乳网站| 26uuu亚洲综合色欧美| 国产亚洲一区二区三区四区 | 精品欧美一区二区在线观看| 日韩精品一区二区三区视频播放| 久久精品欧美一区二区三区麻豆| 久久综合九色综合欧美亚洲| 久久婷婷色综合| 中文字幕av一区 二区| 中文字幕一区二区三区四区| 国产精品第五页| 亚洲综合网站在线观看| 日韩电影免费一区| 国产在线看一区| 成人午夜免费电影| 色狠狠av一区二区三区| 欧美绝品在线观看成人午夜影视 | 国产剧情一区二区三区| 福利电影一区二区三区| 91久久精品一区二区| 欧美老女人在线| 久久精品一区二区三区不卡| 亚洲天堂精品在线观看| 丝袜a∨在线一区二区三区不卡| 久久99精品久久久久久国产越南 | 亚洲福中文字幕伊人影院| 全国精品久久少妇| 成人免费高清在线| 欧美巨大另类极品videosbest| 精品国产青草久久久久福利| 亚洲天堂精品在线观看| 久久精品国产亚洲高清剧情介绍| 成人精品国产一区二区4080| 欧美日韩在线亚洲一区蜜芽| 国产视频一区二区在线观看| 亚洲一区日韩精品中文字幕| 国产视频一区二区在线| 成人99免费视频| 国产精品天干天干在观线| 91一区一区三区| 日韩国产高清影视|