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

📄 architecturedb.html

📁 vxworks相关论文
💻 HTML
字号:
<html><head><!-- /vobs/wpwr/docs/tornado/files/architecturedb.html - generated by refgen from architecturedb.c --> <title> architecturedb </title></head><body bgcolor="#FFFFFF"> <hr><a name="top"></a><p align=right><a href="FILES.html"><i>Tornado Reference :  Tornado Files Description</i></a></p></blockquote><h1>architecturedb</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>architecturedb</strong> - Target Architecture description database </p></blockquote><h4>SYNOPSIS</h4><blockquote><p>$(<b>WIND_BASE</b>)/resource/target/architecturedb<p><p></blockquote><h4>DESCRIPTION</h4><blockquote><p><p>This file describes the informations related to a given target systam which arerequired by the target server. This file has to be updated when a new CPUsupport is added. Those informations are of two kinds :<dl><dt>Target related informations<dd>Target Operating System and processor informations.<p><dt>Host related informations<dd>Target system tools informations. </dl><p></blockquote><h4>OVERALL ORGANIZATION</h4><blockquote><p><p>This file is organized into sections. A section is a set of lines following aSection Name. A Section Name is a line starting by `<b>[</b>' and ending by `<b>]</b>'.For instance :<pre>[section 1]variable1 = var1; commentvariable2 = var2...[section 2]...</pre>A comment is a line beginning by the <b>`;</b>' character.<p>Each section defines a number of variables settings. The syntax is :<pre>variable name = &lt;variable value&gt;</pre><i>variable name</i> represents a name for a parameter.<p><<i>variable value</i>> represents the value assigned to the parameter. theparameter's value is taken from the first non space character following the<b>`=</b>' until the end of the line.<p>The target architecture informations are organized into four section types :<dl><dt><b>[misc]</b> section<dd>represents some target independent informations. We find here :<p><dt>cplusplus<dd>The C++ static constructors and destructors loader/unloader DLL name.<p><dt><b>[<i>CpuFamilyName</i>]</b> sections<dd>In those sections are stored informations relatives to CPU families. We findhere :<p><dt>cpuFamily<dd>CPU family ID (used for backward compatibility)<p><dt>Memory alignment<dd>Gives the memory alignment for this CPU family. This parameter can be overriddenby the CPU specific declaration.<p><dt>Object File Type<dd>OMF (one or many) supported for this family. If many OMF are supported, theymust be comma separated (ex: Object File Type =elf,coff,a.out). This informationis used to build the OMF reader DLL name.<p><dt>ExtentionName<dd>The extension name used for this family. This value is used to build therelocator library name and routines.<p><dt>Architecture Directory<dd>Extension used to access the source files under <b>target/src/arch</b> for this CPUfamily.<p><dt>Leading Character<dd>Character prepended by the compiler before each symbol. If this parameter isommitted, no symbol's leading char is assumed. Notation like \x<i>1 or 2 hexdigits</i> can be used to code a non printable char. The character \x0 means thatno leading char is used.<p><dt>CoreFile Offset<dd>CoreFile offset to skip for performing checksum (used only for X86 family only).Hexadecimal notation (i.e. 0x1234) are handled.<p><dt><b>[CPU_<<i>CPU_Id</i>>]</b> sections<dd>In those sections are stored informations relatives to a specific CPU (whose Idis <i>CPU_Id</i> in decimal form, and is given by the target during the attach phase). We find here :<p><dt>cpuname<dd>name of the CPU (printable form).<p><dt>cpuFamilyName<dd>CPU family name (printable form) to which its belongs.<p><dt>Thumbing<dd>Tells whether or not thumb mode is enabled for this CPU (ARM processors only).<p><dt>Memory alignment<dd>Gives the memory alignment for this specific CPU. This parameter is optional. Ifpresent, it overrides the CPU family declaration.<p><dt><b>[OS_<<i>OS Id</i>>]</b> sections<dd>In those sections are stored informations relatives to the OS running on thetarget. We find here :<p><dt>osName<dd>Name (printable form) of the Operating System running on the target. <p><dt>redirectRoutineName<dd>Name of the target routine to call to perform an I/O redirection (used by thetarget server to redirect VIO to a console). On vxWorks it is <b>ioGlobalStdSet ()</b>. If not present, the target server won't be able toautomatically redirect the VIO to its console (see option <b>-r</b> in <b><a href="../tools/tgtsvr.html#top" >tgtsvr</a></b>).<p><dt>openRoutineName<dd>Name of the target routine to call to perform an <b>open ()</b> operation. If not present, the target server won't be able to open a VIO on the target.<p><dt>allocRoutineName<dd>Name of the target routine to call to perform a <b>malloc ()</b> operation. If not present, the target server won't be able to extend its memory pool.<p><dt>semGiveRoutineName<dd>Name of the target routine to call to perform a <b>semGive ()</b> operation. If not present, the target server won't be able to run the "Target Server File System"facility.<p><dt>shellTaskName<dd>Name of the shell task running on the target (if any). This field is used toredirect the shell I/O in the target server default virtual Console (See option<b>-redirectShell</b> in tgtsvr (1)). If not present, the target server won't beable to redirect target shell I/O.<p><dt>taskNameToIdRoutineName<dd>Name of the target routine to call to perform a <b>taskNameToId ()</b> operation. Ifnot present, the target server won't be able to redirect target shell I/O.<p><dt>shellOrigStdSetRoutineName<dd>Name of the target routine to call to perform a <b>shellOrigStdSet ()</b>. If notpresent, the target server won't be able to redirect target shell I/O.<p><dt>taskRestartRoutineName<dd>Name of the target routine to call to perform a <b>taskRestart ()</b>. If notpresent, the target server won't be able to redirect target shell I/O. </dl><p>If no such section exists for the OS running on the target, the target serverwill default to an "unknown" OS and will not be able to perform any routinesdecribed in this section on the target.<p></blockquote><h4>HOW THE TARGET SERVER USES THIS FILE</h4><blockquote><p><p>Lets take an example. We have the following file organization :<pre>[misc]cplusplus = cpluslib[MC680X0]cpuFamily = 9Object File Type = a.outExtentionName = 68kArchitecture Directory = m68kMemory alignment = 4Leading Character = _[CPU_1]cpuname = MC68000cpuFamilyName = MC680X0[OS_1]osName = VxWorksCompiler = gnuredirectRoutineName = ioGlobalStdSetopenRoutineName = openallocRoutineName = mallocsemGiveRoutineName = semGiveshellTaskName = tShelltaskNameToIdRoutineName = taskNameToIdshellOrigStdSetRoutineName = shellOrigStdSettaskRestartRoutineName = taskRestart</pre>After connecting the target, the target server asks for its identity. It receives then a description header where the CPU and OS Ids are coded in. Forour example the CPU Id and OS Id are equal to <b>1</b>. The target server will parsethis file as follow :look in the <b>[<b>CPU_1</b>]</b> section to find the CPU Family name. Then will go intothe <b>[MC680X0]</b> section to find the related informations. It then comesback to the <b>[<b>CPU_1</b>]</b> section to see if some parameters have been overridden(Memory alignment). Then the target server will check the <b>[<b>OS_1</b>]</b> section to get the OS specific routines.The target server will then load the following DLLs (see : <i>API Guide: Object Module Loader </i>for loader/relocator library and routines names coding convention.)<dl><dt><b>loadAout</b><dd>for the OMF reader,<p><dt><b>aout68k</b><dd>for the relocator,<p><dt><b>dsm68k</b><dd>for the disassembler,<p><dt><b>cplusplus</b><dd>for the C++ static constructors and destructors loader/unloader  </dl></blockquote><h4>NOTE</h4><blockquote><p><p>&nbsp;The&nbsp;DLL&nbsp;extension&nbsp;are&nbsp;host&nbsp;specific&nbsp;(e.g.&nbsp;<b>loadAout.`so</b>'&nbsp;on&nbsp;Solaris).<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./architecturedb.html#top">architecturedb</a></b>, <i>API Guide: Object Module Loader </i>for loader/relocator library and routines names coding convention.<b><a href="../../tornado-api/tgtint/tgtarch.html#top" >tgtarch</a></b><p><p></body></html>

⌨️ 快捷键说明

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