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

📄 x-arm2.html

📁 vxworks相关论文
💻 HTML
📖 第 1 页 / 共 2 页
字号:
</td><td colspan=1 rowspan=1><p class="BodyLeft"><a name="84442"> </a>for the ARM-810</p></td></tr><tr valign="top"><td colspan=1 rowspan=1><p class="BodyLeft"><a name="84444"> </a><b class="symbol_lc">-mcpu=strongarm110</b></p></td><td colspan=1 rowspan=1><p class="BodyLeft"><a name="84446"> </a>for the StrongARM-110 and StrongARM-1100</p></td></tr><tr valign="middle"><td colspan="20"></td></tr></table></p>&nbsp;&nbsp;</div><br></dl></dl></dl><dl class="margin"><dd><p class="table" callout><table border="0" cellpadding="0" cellspacing="0"><tr valign="top"><td valign="top" width="40"><br><img border="0" alt="*" src="icons/caution.gif"></td><td><hr><div class="CalloutCell"><a name="84978"><b class="symbol_UC"><font face="Helvetica, sans-serif" size="-1" class="sans">CAUTION:  </font></b></a>To compile for Thumb state, do not specify <b class="symbol_lc">-mcpu</b>. Specify both <b class="symbol_lc">-mthumb</b> and <b class="command">-mthumb-interwork</b>. Although <b class="command">-mthumb-interwork</b> is required in this release in order to compile code correctly for Thumb state, the ARM interwork feature is not supported. See <a href="x-arm3.html#84505"><i class="title">Additional ARM Compiler Options</i></a>.</div></td></tr><tr valign="top"><td></td><td><hr></td></tr><tr valign="middle"><td colspan="20"></td></tr></table></p callout><dl class="margin"><dd><div class="Item"><a name="84459"> </a><b class="command">-mno-sched-prolog</b> </div><dl class="margin"><dd><div class="Indent"><a name="84460"> </a>Do not perform scheduling in function prologs and epilogs. This is required for reliable debugging. </div><br></dl><dd><div class="Item"><a name="84461"> </a><b class="command">-I</b><b class="symbol_UC"> $WIND_BASE</b><b class="command">/target/h</b> </div><dl class="margin"><dd><div class="Indent"><a name="84462"> </a>Required; includes VxWorks header files. (Additional <b class="command">-I</b> flags may be included to specify other header files.)</div><br></dl><dd><div class="Item"><a name="84463"> </a><b class="command">-fno-builtin</b> </div><dl class="margin"><dd><div class="Indent"><a name="84464"> </a>Required; uses library calls even for common library subroutines.</div><br></dl><dd><div class="Item"><a name="84465"> </a><b class="command">-O2</b> </div><dl class="margin"><dd><div class="Indent"><a name="84466"> </a>Optional; performs level 2 optimization. </div><br></dl><dd><div class="Item"><a name="84467"> </a><b class="command">-nostdinc</b> </div><dl class="margin"><dd><div class="Indent"><a name="84468"> </a>Required; searches only the directories specified with the <b class="command">-I</b> flag (see above) and the current directory for header files. Does not search host-system include files.</div><br></dl><dd><div class="Item"><a name="84469"> </a><b class="command">-c</b> </div><dl class="margin"><dd><div class="Indent"><a name="84470"> </a>Required; specifies that the module is to be compiled only, and not linked for execution under the host.</div><br></dl><dd><div class="Item"><a name="84471"> </a><b class="command"></b><b class="file">applic.</b><i class="textVariable">language_id </i></div><dl class="margin"><dd><div class="Indent"><a name="84472"> </a>Required; the files to compile. For C compilation, specify a suffix of <b class="file">.c</b>. For C++ compilation, specify a suffix of <b class="file">.cpp</b>. The output is an unlinked object module in <b class="symbol_UC">COFF</b> format with the suffix <b class="file">.o</b>; for the example, the output is <b class="file">applic.o</b>.</div><br></dl></dl><dl class="margin"><dd><p class="Body"><a name="84473"> </a>Following C++ compilation, the compiled object module (<i class="textVariable">applic</i><b class="file">.o</b>) is <i class="term">munched</i>. Munching is the process of scanning an object module for non-local static objects, and generating data structures that VxWorks run-time support can use to call the object constructors and destructors. See<a href="c-wfc2.html#84479"><i class="title">5.2.5&nbsp;Munching C++ Application Modules</i></a>.</p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="85631">Boot Loader Changes</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="85632"> </a>The target-resident loader for ARM targets loads <b class="symbol_UC">COFF</b> format VxWorks images which are composed of multiple text sections and multiple data sections. The ability to load <b class="symbol_UC">COFF</b> files with multiple text and data sections facilitates the use of linker scripts which scatter-load the VxWorks image at boot time. In addition, because the number of relocation entries for any particular <b class="symbol_UC">COFF</b> section may not exceed 65,535 entries, it may be necessary to split very large images into multiple sections. </p><dd><p class="Body"><a name="85633"> </a>It is assumed that users implementing linker scripts are comfortable with the GNU linker, the GNU linker command language, the particular OMF used by the GNU tools, and the target memory architecture. In addition to the aforementioned requisite background, the target-resident loader implementation places certain restrictions on how fully-linked <b class="symbol_UC">COFF</b> files (for example, a VxWorks image) are organized. </p><dd><p class="Body"><a name="85634"> </a>The target-resident loader assumes that a <b class="symbol_UC">COFF</b> format VxWorks image is ordered such that the <b class="symbol_UC">COFF</b> file header, optional header, and section headers are followed immediately by the section contents for text, data, or lit sections in the binary file. Moreover, it is assumed that the section contents are contiguous in the binary file. <a href="x-arm2.html#85637">Figure&nbsp;G-1</a> shows typical headers in the binary file.<div class="frame"><h4 class="EntityTitle"><a name="85637"><font face="Helvetica, sans-serif" size="-1" class="sans">Figure G-1:&nbsp;&nbsp;COFF File Headers </font></a></h4><dl class="margin"><div class="Anchor"><a name="85665"> </a><img class="figure" border="0" src="images/x-arma1.gif"></div></dl></div></p><dd><p class="Body"><a name="85666"> </a>The fact that text, data, and lit sections must be contiguous with each other and follow the section headers in the binary file does not preclude using a linker script to locate multiple text and data sections at non-contiguous RAM addresses. For more information on the GNU linker and GNU linker command language, see the <i class="title">GNU ToolKit User's Guide</i>.</p><dd><p class="Body"><a name="85667"> </a>The target-resident loader for ARM reports the sizes of individual text and data sections in addition to the bss section when VxWorks is booted. For example, if a multiple text section image is booted, output similar to the following might be seen:</p><dl class="margin"><dd><pre class="Code2"><b><a name="85668"></b><tt class="output">Attaching network interface oli0... done. Attaching network interface lo0... done. Loading... 277764 + 82348 + 66664 + 7948 + 29692 Starting at 0x1000...</tt><b> </a></b><dd> <b><a name="85669"></b><tt class="output">Attached TCP/IP interface to oli unit 0 Attaching network interface lo0... done. NFS client support not included.</tt><b> </a></b><dd> <b><a name="85670"></b><tt class="output">                VxWorks</tt><b> </a></b><dd> <b><a name="85671"></b><tt class="output">Copyright 1984-1998  Wind River Systems, Inc.</tt><b> </a></b><dd> <b><a name="85672"></b><tt class="output">            CPU: ARM PID - ARM7TDMI (Thumb)         VxWorks: 5.4     BSP version: 1.2/0 &nbsp; Creation date: Feb 10 1999             WDB: Ready.</tt><b> </a></b></pre></dl><dd><p class="Body"><a name="85673"> </a>This format is a slight cosmetic modification to the section size values which WRS boot loaders have traditionally reported as <i class="textVariable">size of text</i> + <i class="textVariable">size of data</i> + <i class="textVariable">size of bss</i>. Reporting the size of individual text and data sections rather than summing them up is intended to be an aid for developers working on VxWorks images which are organized by way of a linker script. This change is not likely to be noticed when the default VxWorks image types are used.</p></dl></dl><a name="foot"><hr></a><p class="FootnoteNumberMarker">1:&nbsp;<span class="Footnote"><a name="84419"> </a>For more information on these and other compiler options, see the <i class="title">GNU ToolKit User's Guide</i>. WRS supports compiler options used in building WRS software; see the <i class="title">Guide</i> for a list. Other options are not supported, although they are available with the tools as shipped.</span><p class="navbar" align="right"><a href="index.html"><img border="0" alt="[Contents]" src="icons/contents.gif"></a><a href="GuideIX.html"><img border="0" alt="[Index]" src="icons/index.gif"></a><a href="x-arm.html"><img border="0" alt="[Top]" src="icons/top.gif"></a><a href="x-arm1.html"><img border="0" alt="[Prev]" src="icons/prev.gif"></a><a href="x-arm3.html"><img border="0" alt="[Next]" src="icons/next.gif"></a></p></body></html><!---by WRS Documentation (), Wind River Systems, Inc.    conversion tool:  Quadralay WebWorks Publisher 4.0.11    template:         CSS Template, Jan 1998 - Jefro --->

⌨️ 快捷键说明

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