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

📄 bkenddoc.html

📁 vxworks相关论文
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<hr><a name="bkendMemMove"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendMemMove</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendMemMove</i>(&nbsp;)</strong> - move a block of target memory</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendMemMove    (    WDB_MEM_REGION * pWdbMemRegion /* memory region to copy */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function moves a block of target memory from one location to another.It handles the case where source and destination blocks overlap.The memory move 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 move is described by the <b>baseAddr</b>and <b>numBytes</b> fields. The destination address is given in the<b>param</b> field.<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="bkendMemRead"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendMemRead</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendMemRead</i>(&nbsp;)</strong> - read target memory</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendMemRead    (    WDB_MEM_REGION * pWdbMemRegion, /* memory to read description */    WDB_MEM_XFER *   pWdbMemXfer    /* area to save the data read */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function reads the target memory region described by a <b>WDB_MEM_XFER</b>structure pointed 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 target start address and the number of bytes to read are in the<b>baseAddr</b> and <b>numBytes</b> fields. The data will be copied to the host memoryaddress pointed to by <b>param</b>.<p>When this routine returns, it fills in the <b>WDB_MEM_XFER</b> structure pointedto by <i>pWdbMemXfer</i> with information about the memory transfer.<p><pre>typedef struct wdb_mem_xfer		/* transfer a block of memory */    {    WDB_OPQ_DATA_T	source;		/* data to transfer */    TGT_ADDR_T		destination;	/* requested destination */    TGT_INT_T		numBytes;	/* number of bytes transferred */    } WDB_MEM_XFER;</pre><p>It sets <b>source</b> equal to <b>baseAddr</b>, <b>numBytes</b> for <b>WDB_MEM_XFER</b>equal to <b>numBytes</b> for <b>WDB_MEM_REGION</b>,and <b>destination</b> equal to <b>param</b>.<p>If the data transfer is too large to be done at once (in other words,larger than the MTU of the target connection), the back end must break upthe transfer into a series of smaller transfers.<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: Target Server Back End"<hr><a name="bkendMemScan"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendMemScan</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendMemScan</i>(&nbsp;)</strong> - scan target memory for a pattern</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendMemScan    (    WDB_MEM_SCAN_DESC * pWdbMemScan, /* scan descriptor */    TGT_ADDR_T *        pAdrs        /* addr found or -1 */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function scans target memory for a specified pattern.The target memory region and the pattern are described by a<b>WDB_MEM_SCAN_DESC</b> structure pointed to by <i>pWdbMemScan</i>.If the pattern is found in the target memory region, the pattern startaddress is pointed to by <i>pAdrs</i>. Otherwise <i>pAdrs</i> is set to -1.<p><pre>typedef struct wdb_mem_scan_desc    {    WDB_MEM_REGION	memRegion;	/* region of memory to scan */    WDB_MEM_XFER	memXfer;	/* pattern to scan for */    } WDB_MEM_SCAN_DESC;</pre><p>The <b>memRegion</b> field describes the memory region to search.<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 <b>baseAddr</b> field describes where to start the search.  If <b>numBytes</b>is positive, a forward search is performed; otherwise a backward search isperformed.  If <b>param</b> is NULL, the search tries to match the pattern.Otherwise, the search stops at the first location where the pattern doesn'tmatch.<p>The <b>memXfer</b> field describes the pattern to look for.<p><pre>typedef struct wdb_mem_xfer		/* transfer a block of memory */    {    WDB_OPQ_DATA_T	source;		/* data to transfer */    TGT_ADDR_T		destination;	/* requested destination */    TGT_INT_T		numBytes;	/* number of bytes transferred */    } WDB_MEM_XFER;</pre><p>The <b>source</b> and <b>numBytes</b> fields point to a host buffer containingthe pattern. The <b>destination</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><dt><b>WDB_ERR_NOT_FOUND</b><dd> No match was detected.<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="bkendMemWrite"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendMemWrite</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendMemWrite</i>(&nbsp;)</strong> - write target memory</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendMemWrite    (    WDB_MEM_XFER * pWdbMemXfer /* memory to write description */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function writes data to target memory. The memory region is describedby a <b>WDB_MEM_XFER</b> structure pointed to by <i>pWdbMemXfer</i>.<p><pre>typedef struct wdb_mem_xfer		/* transfer a block of memory */    {    WDB_OPQ_DATA_T	source;		/* data to transfer */    TGT_ADDR_T		destination;	/* requested destination */    TGT_INT_T		numBytes;	/* number of bytes transferred */    } WDB_MEM_XFER;</pre><p>The <b>source</b> field contains the address of a buffer on the host whichis to be transferred to the target. The <b>numBytes</b> field specifiesthe number of bytes to write. The <b>destination</b> field specifies thetarget address which will receive the data.<p>If the data transfer is too large to be done at once (in other words,larger than the MTU of the target connection), the back end must break upthe transfer into a series of smaller transfers.<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: Target Server Back End"<hr><a name="bkendModeGet"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendModeGet</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendModeGet</i>(&nbsp;)</strong> - get the debugging mode</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendModeGet    (    u_int * pMode /* where to return debugging mode */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function return the current debugging mode of the agent in thelocation pointed to by <i>pMode</i>.<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></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="bkendModeSet"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendModeSet</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendModeSet</i>(&nbsp;)</strong> - set the debugging mode</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendModeSet    (    u_int * pMode /* debugging mode to set */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function sets the debugging mode to either <b>WDB_MODE_TASK</b>or <b>WDB_MODE_EXTERN</b>. Hardware back ends generally only supportthe <b>WDB_MODE_EXTERN</b> mode, as they are unable to performtasking services such as spawning tasks and creating task-specific breakpoints.<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 requested mode is not supported.<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="bkendRegsGet"></a><p align=right><a href="rtnIndex.html"><i>Target Server Back End Interface :  Routines</i></a></p></blockquote><h1><i>bkendRegsGet</i>(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong><i>bkendRegsGet</i>(&nbsp;)</strong> - get target register value(s)</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>UINT32 bkendRegsGet    (    WDB_REG_READ_DESC * pWdbRegRead, /* register to get */    WDB_MEM_XFER *      pWdbMemXfer  /* area to save reg values */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This function gets CPU register value(s).The registers to get are described by a <b>WDB_REG_READ_DESC</b> structurepointed to by <i>pWdbRegRead</i>.<p><pre>typedef struct wdb_reg_read_desc	/* register data to read */    {    WDB_REG_SET_TYPE regSetType;	/* type of register set to read */    WDB_CTX	     context;		/* context associated with registers */    WDB_MEM_REGION   memRegion;		/* subregion of the register block */    } WDB_REG_READ_DESC;</pre><p>The <b>regSetType</b> field specifies the type of registers to read.The back end must support reading integer unit registers (<b>WDB_REG_SET_IU</b>)and must also support floating point registers (<b>WDB_REG_SET_FPU</b>) if theCPU has floating-point support. Additional register-set types are optional.The <b>context</b> field specifies the context whose registers are to be read.If <b>context.contextType</b> is <b>WDB_CTX_SYSTEM</b>, the register valuesthe last time the system was stopped are read (this only makes sensewhen doing system-mode debugging). If <b>context.contextType</b> is <b>WDB_CTX_TASK</b>,then registers are read from the task whose ID is <b>context.contextID</b>.<p>A register set is treated as an opaque block of memory by theback end. For floating-point registers, this block is described bythe VxWorks data structure <b>FPREG_SET</b>. For integer unit registers,it is described by the VxWorks data structure <b>REG_SET</b>.<p>To avoid the delay of uploading an entire register block when onlysome of the registers are actually needed, this routine allows readingof a sub-block of the register structure. This sub-block is specifiedby the <b>memRegion</b> fields <b>memRegion.baseAddr</b> and <b>memRegion.numBytes</b>.<p>The resulting register block is transferred up to the host via

⌨️ 快捷键说明

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