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

📄 bkenddoc.html

📁 vxworks相关论文
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<html><head><!-- /vobs/wpwr/docs/tornado-api/bkend/bkendDoc.html - generated by refgen from bkendDoc.c --> <title> bkendDoc </title></head><body bgcolor="#FFFFFF"> <hr><a name="top"></a><p align=right><a href="libIndex.html"><i>Tornado API Reference :  Target Server Back End Interface</i></a></p></blockquote><h1>bkendDoc</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>bkendDoc</strong> - target server back-end documentation </p></blockquote><h4>ROUTINES</h4><blockquote><p><p><b><i><a href="./bkendDoc.html#bkendCacheTextUpdate">bkendCacheTextUpdate</a></i>(&nbsp;)</b>  -  update the instruction cache<br><b><i><a href="./bkendDoc.html#bkendContextCont">bkendContextCont</a></i>(&nbsp;)</b>  -  continue a context<br><b><i><a href="./bkendDoc.html#bkendContextCreate">bkendContextCreate</a></i>(&nbsp;)</b>  -  create a context<br><b><i><a href="./bkendDoc.html#bkendContextKill">bkendContextKill</a></i>(&nbsp;)</b>  -  destroy a context<br><b><i><a href="./bkendDoc.html#bkendContextStep">bkendContextStep</a></i>(&nbsp;)</b>  -  single step a context<br><b><i><a href="./bkendDoc.html#bkendContextSuspend">bkendContextSuspend</a></i>(&nbsp;)</b>  -  suspend a context<br><b><i><a href="./bkendDoc.html#bkendContextResume">bkendContextResume</a></i>(&nbsp;)</b>  -  resume a context<br><b><i><a href="./bkendDoc.html#bkendContextStatusGet">bkendContextStatusGet</a></i>(&nbsp;)</b>  -  get a context status<br><b><i><a href="./bkendDoc.html#bkendDirectCall">bkendDirectCall</a></i>(&nbsp;)</b>  -  call a target function synchronously<br><b><i><a href="./bkendDoc.html#bkendEventpointAdd">bkendEventpointAdd</a></i>(&nbsp;)</b>  -  add an event point<br><b><i><a href="./bkendDoc.html#bkendEventpointDelete">bkendEventpointDelete</a></i>(&nbsp;)</b>  -  delete an event point<br><b><i><a href="./bkendDoc.html#bkendEventGet">bkendEventGet</a></i>(&nbsp;)</b>  -  get an event from the target<br><b><i><a href="./bkendDoc.html#bkendEvtPending">bkendEvtPending</a></i>(&nbsp;)</b>  -  check if an event is pending<br><b><i><a href="./bkendDoc.html#bkendFlagsGet">bkendFlagsGet</a></i>(&nbsp;)</b>  -  Get the supported flags for this backend<br><b><i><a href="./bkendDoc.html#bkendFreeResultArgs">bkendFreeResultArgs</a></i>(&nbsp;)</b>  -  free the memory used by the returned structure<br><b><i><a href="./bkendDoc.html#bkendFuncCall">bkendFuncCall</a></i>(&nbsp;)</b>  -  call a target function asynchronously<br><b><i><a href="./bkendDoc.html#bkendGopherEval">bkendGopherEval</a></i>(&nbsp;)</b>  -  evaluate a Gopher string<br><b><i><a href="./bkendDoc.html#bkendInitialize">bkendInitialize</a></i>(&nbsp;)</b>  -  initialize the back end <br><b><i><a href="./bkendDoc.html#bkendMemChecksum">bkendMemChecksum</a></i>(&nbsp;)</b>  -  perform a checksum on target memory<br><b><i><a href="./bkendDoc.html#bkendMemProtect">bkendMemProtect</a></i>(&nbsp;)</b>  -  write protect (or write enable) target memory<br><b><i><a href="./bkendDoc.html#bkendMemFill">bkendMemFill</a></i>(&nbsp;)</b>  -  fill target memory with a pattern<br><b><i><a href="./bkendDoc.html#bkendMemMove">bkendMemMove</a></i>(&nbsp;)</b>  -  move a block of target memory<br><b><i><a href="./bkendDoc.html#bkendMemRead">bkendMemRead</a></i>(&nbsp;)</b>  -  read target memory<br><b><i><a href="./bkendDoc.html#bkendMemScan">bkendMemScan</a></i>(&nbsp;)</b>  -  scan target memory for a pattern<br><b><i><a href="./bkendDoc.html#bkendMemWrite">bkendMemWrite</a></i>(&nbsp;)</b>  -  write target memory<br><b><i><a href="./bkendDoc.html#bkendModeGet">bkendModeGet</a></i>(&nbsp;)</b>  -  get the debugging mode<br><b><i><a href="./bkendDoc.html#bkendModeSet">bkendModeSet</a></i>(&nbsp;)</b>  -  set the debugging mode<br><b><i><a href="./bkendDoc.html#bkendRegsGet">bkendRegsGet</a></i>(&nbsp;)</b>  -  get target register value(s)<br><b><i><a href="./bkendDoc.html#bkendRegsSet">bkendRegsSet</a></i>(&nbsp;)</b>  -  set target register value(s)<br><b><i><a href="./bkendDoc.html#bkendTgtConnect">bkendTgtConnect</a></i>(&nbsp;)</b>  -  connect to the target<br><b><i><a href="./bkendDoc.html#bkendTgtDisconnect">bkendTgtDisconnect</a></i>(&nbsp;)</b>  -  disconnect from the target<br><b><i><a href="./bkendDoc.html#bkendTgtPing">bkendTgtPing</a></i>(&nbsp;)</b>  -  ping the target<br><b><i><a href="./bkendDoc.html#bkendVIOWrite">bkendVIOWrite</a></i>(&nbsp;)</b>  -  write data to a target virtual I/O channel<br><p></blockquote><h4>DESCRIPTION </h4><blockquote><p><p><p>This documentation is a supplement to the section on the target serverprovided in the <i>API Programmer's Guide </i>.The interface between the target server and the back end is a <b>TGT_OPS</b> datastructure.  The back-end initialization routine, which is described in the <i>API Programmer's Guide: Target Server Back End </i>,fills this structure with pointers to the back-end functions. This documentdescribes these functions in detail.  The names below are only examples;if you are writing a "foo" back end, you should change the names belowfrom <b><i>bkendXXX</i>(&nbsp;)</b> to <b><i>fooXXX</i>(&nbsp;)</b>.  All data types and error codes describedhere are defined in the header file $<b>WIND_BASE/share/agents/wdb/wdb.h</b>.Most routines take two parameters, the first a pointer to an inputstructure, the second a pointer to a results structure which the procedurefills in. Some routines take fewer parameters if either input or resultstructures are not needed.  Most routines return an error status, which iseither OK if the routine succeeds or one of the error codes defined in<b>wdb.h</b> if the routine fails.  <p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./bkendDoc.html#top">bkendDoc</a></b>, <i>API Programmer's Guide: Target Server Back End </i>and<i>Object Module Loader </i><hr><a name="bkendCacheTextUpdate"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendCacheTextUpdate</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendCacheTextUpdate</i>(&nbsp;)</strong> - update the instruction cache</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendCacheTextUpdate    (    WDB_MEM_REGION * pWdbMemRegion /* cache region to update */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine is used to synchronize the data and instruction caches on thetarget. It is called by the host loader after writing code to targetmemory.  If the target has separate instruction and data caches, thisroutine flushes the data cache to memory and invalidates the correspondingportion of the instruction cache. If no synchronization is needed (forexample, because the target has no cache), this routine is a no-op.  Theregion of memory affected is described by a <b>WDB_MEM_REGION</b> structurepointed to by <i>pWdbMemRegion</i>.<p><pre>typedef struct wdb_mem_region		/* a region of target memory */    {    TGT_ADDR_T		baseAddr;	/* memory region base address */    TGT_INT_T		numBytes;	/* memory region size */    UINT32		param;		/* proc dependent parameter */    } WDB_MEM_REGION;</pre><p>The region of target memory to checksum is described by the <b>baseAddr</b>and <b>numBytes</b> fields. The <b>param</b> field is unused.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK on success or one of the following error codes:<dl><dt><b>WDB_ERR_COMMUNICATION</b><dd>The connection to the target has died.<p><dt><b>WDB_ERR_MEM_ACCES</b><dd> Invalid memory region.<p></dl></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./bkendDoc.html#top">bkendDoc</a></b>, * .I "API Programmer's Guide: Object Module Loader"<hr><a name="bkendContextCont"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendContextCont</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendContextCont</i>(&nbsp;)</strong> - continue a context</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendContextCont    (    WDB_CTX * pWdbContext /* context to continue */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function resumes a context. It is similar to <b><i><a href="./bkendDoc.html#bkendContextResume">bkendContextResume</a></i>(&nbsp;)</b>,except that it also handles the logic of stepping away from a breakpoint.The context to continue is specified by a <b>WDB_CTX</b> structure pointedto by <i>pWdbContext</i>.<p><pre>typedef struct wdb_ctx			/* a particular context */    {    WDB_CTX_TYPE	contextType;	/* type of context */    UINT32		contextId;	/* context ID */    } WDB_CTX;</pre><p>If the <b>contextType</b> field is equal to <b>WDB_CTX_SYSTEM</b>, then the systemcontext is resumed.  If <b>contextType</b> is <b>WDB_CTX_TASK</b>, then the<b>contextId</b> field specifies the VxWorks task ID to resume.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK on success or one of the following error codes:<dl><dt><b>WDB_ERR_COMMUNICATION</b><dd>The connection to the target has died.<p><dt><b>WDB_ERR_AGENT_MODE</b><dd>The system mode agent can't continue tasks.<p><dt><b>WDB_ERR_INVALID_CONTEXT</b><dd>Invalid context.<p><dt><b>WDB_ERR_RT_ERROR</b><dd>Task continuation was attempted and failed.<p><dt><b>WDB_ERR_NO_RT_PROC</b><dd> Task continue is not supported on target.<p></dl></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./bkendDoc.html#top">bkendDoc</a></b>, * .I "API Programmer's Guide: Target Server Back End"<hr><a name="bkendContextCreate"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendContextCreate</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendContextCreate</i>(&nbsp;)</strong> - create a context</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendContextCreate    (    WDB_CTX_CREATE_DESC * pWdbContextDesc, /* context description */    UINT32 *              pCid             /* context id */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function creates a new task on the target.The task is described by a <b>WDB_CTX_CREATE_DESC</b> structure pointed to by<i>pWdbContextDesc</i>.<p><pre>typedef struct wdb_ctx_create_desc	/* how to create a context */    {    WDB_CTX_TYPE	contextType;	/* task or system context */    /* the following are used for task and system contexts */    TGT_ADDR_T		stackBase;	/* bottom of stack (NULL = malloc) */    UINT32		stackSize;	/* stack size */    TGT_ADDR_T 		entry;		/* context entry point */    TGT_INT_T		args[10];	/* arguments */    /* the following are only used for task contexts */    WDB_STRING_T	name;		/* name */    TGT_INT_T		priority;	/* priority */    TGT_INT_T		options;	/* options */    TGT_INT_T		redirIn;	/* redirect input file (or 0) */    TGT_INT_T		redirOut;	/* redirect output file (or 0) */    TGT_INT_T		redirErr;	/* redirect error output file (or 0) */    } WDB_CTX_CREATE_DESC;</pre><p>The fields of this structure are similar to the parameters to the VxWorksroutine <b><i><a href="../../vxworks/ref/taskLib.html#taskSpawn" >taskSpawn</a></i>(&nbsp;)</b>; see the VxWorks reference entry for details.  If<b>stackBase</b> is set to NULL, stack space is dynamically allocated for thetask. If <b>stackSize</b> is zero, a default stack size is used.  The <b>redirIn</b>,<b>redirOut</b>, and <b>redirErr</b> parameters, if non-zero, are redirection filedescriptors for the task's standard input, output, and error outputrespectively.  The task ID of the newly created task is returned at thelocation pointed to by <i>pCid</i>.<p>This routine is generally not supported by external mode agents.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK on success or one of the following error codes:<dl><dt><b>WDB_ERR_COMMUNICATION</b><dd>The connection to the target has died.<p><dt><b>WDB_ERR_AGENT_MODE</b><dd>The system mode agent can't create tasks.<p><dt><b>WDB_ERR_NO_RT_PROC</b><dd>Dynamic task creation is not supported on the target.<p><dt><b>WDB_ERR_RT_ERROR</b><dd> Task creation was attempted and failed.<p></dl></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./bkendDoc.html#top">bkendDoc</a></b>, * .I "API Programmer's Guide: Target Server Back End"<hr><a name="bkendContextKill"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendContextKill</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendContextKill</i>(&nbsp;)</strong> - destroy a context</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendContextKill    (    WDB_CTX * pWdbContext /* context to kill */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function kills the context described by a <b>WDB_CTX</b> structurepointed to by <i>pWdbContext</i>.<p><pre>typedef struct wdb_ctx			/* a particular context */    {    WDB_CTX_TYPE	contextType;	/* type of context */    UINT32		contextId;	/* context ID */    } WDB_CTX;</pre><p>If the <b>contextType</b> field is equal to <b>WDB_CTX_SYSTEM</b>, then the systemcontext is killed (in other words, the target must be rebooted).If <b>contextType</b> is <b>WDB_CTX_TASK</b>, then the <b>contextId</b> field specifiesthe VxWorks task ID to kill.Task deletion is generally not supported by external mode agents.<p></blockquote><h4>RETURNS</h4><blockquote><p>OK on success or one of the following error codes:<dl><dt><b>WDB_ERR_COMMUNICATION</b><dd>The connection to the target has died.<p><dt><b>WDB_ERR_AGENT_MODE</b><dd>The system mode agent can't delete tasks.<p><dt><b>WDB_ERR_NO_RT_PROC</b><dd>Task deletion is not supported on the target.<p><dt><b>WDB_ERR_INVALID_CONTEXT</b><dd>Invalid context.<p><dt><b>WDB_ERR_RT_ERROR</b><dd> Task deletion was attempted and failed.<p></dl></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./bkendDoc.html#top">bkendDoc</a></b>, * .I "API Programmer's Guide: Target Server Back End"<hr><a name="bkendContextStep"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendContextStep</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendContextStep</i>(&nbsp;)</strong> - single step a context</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendContextStep    (    WDB_CTX_STEP_DESC * pWdbContextStep /* context to step */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function single steps a context according to a <b>WDB_CTX_STEP_DESC</b>structure pointed to by <i>pWdbContextStep</i>.<p><pre>typedef struct wdb_ctx_step_desc	/* how to single step a context */    {    WDB_CTX		context;	/* context to step */    TGT_ADDR_T		startAddr;	/* lower bound of step range */    TGT_ADDR_T 		endAddr;	/* upper bound of step range */    } WDB_CTX_STEP_DESC;</pre><p>The <b>startAddr</b> and <b>endAddr</b> specify a range of instructionsto step. Single stepping continues until the program counter (PC)is outside the range:

⌨️ 快捷键说明

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