tms320c3.h

来自「澳洲人写的Cortex,包括uC_IP协议栈」· C头文件 代码 · 共 496 行 · 第 1/4 页

H
496
字号
 * ---&lt;&lt;&lt;  CORTEX SPECIFIC DEFINITIONS  &gt;&gt;&gt;--- */</font><font color="#6920ac">/* fast interrupt enable/diable cookie */</font><i><a name="hrdi_FastIntrCookie_t">typedef</a></i> <i>crtx_Mask_t</i> <i><font color='DarkBlue'>hrdi_FastIntrCookie_t</font></i>;<font color="#6920ac">/* global interrupt enable/diable cookie */</font><i><a name="hrdi_GlobalIntrCookie_t">typedef</a></i> <i>crtx_Unsigned_t</i> <i><font color='DarkBlue'>hrdi_GlobalIntrCookie_t</font></i>;<font color="#6920ac">/* timer initialisation block */</font><i>struct</i> tick_TimerSetupBlock_s {    <i>crtx_Int_t</i> CyclesPerClock;      <font color="#6920ac">/* cycles per timer's clock */</font>};<font color="#6920ac">/* CPU registers as listed by GBM monitor */</font><i><a name="gdbm_Registers_t">typedef</a></i> <i>struct</i> <i><font color='DarkBlue'>gdbm_Registers_t</font></i> {    <i>crtx_Uint32_t</i>   R0;             <font color="#6920ac">/* Extended-precision register 0 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R0F;            <font color="#6920ac">/* Extended-precision register 0 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R1;             <font color="#6920ac">/* Extended-precision register 1 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R1F;            <font color="#6920ac">/* Extended-precision register 1 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R2;             <font color="#6920ac">/* Extended-precision register 2 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R2F;            <font color="#6920ac">/* Extended-precision register 2 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R3;             <font color="#6920ac">/* Extended-precision register 3 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R3F;            <font color="#6920ac">/* Extended-precision register 3 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R4;             <font color="#6920ac">/* Extended-precision register 4 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R4F;            <font color="#6920ac">/* Extended-precision register 4 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R5;             <font color="#6920ac">/* Extended-precision register 5 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R5F;            <font color="#6920ac">/* Extended-precision register 5 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R6;             <font color="#6920ac">/* Extended-precision register 6 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R6F;            <font color="#6920ac">/* Extended-precision register 6 (upper bits) */</font>    <i>crtx_Uint32_t</i>   R7;             <font color="#6920ac">/* Extended-precision register 7 (lower bits) */</font>    <i>crtx_Uint32_t</i>   R7F;            <font color="#6920ac">/* Extended-precision register 7 (upper bits) */</font>    <i>crtx_Uint32_t</i>   AR0;            <font color="#6920ac">/* Auxiliary register 0 */</font>    <i>crtx_Uint32_t</i>   AR1;            <font color="#6920ac">/* Auxiliary register 1 */</font>    <i>crtx_Uint32_t</i>   AR2;            <font color="#6920ac">/* Auxiliary register 2 */</font>    <i>crtx_Uint32_t</i>   AR3;            <font color="#6920ac">/* Auxiliary register 3 */</font>    <i>crtx_Uint32_t</i>   AR4;            <font color="#6920ac">/* Auxiliary register 4 */</font>    <i>crtx_Uint32_t</i>   AR5;            <font color="#6920ac">/* Auxiliary register 5 */</font>    <i>crtx_Uint32_t</i>   AR6;            <font color="#6920ac">/* Auxiliary register 6 */</font>    <i>crtx_Uint32_t</i>   AR7;            <font color="#6920ac">/* Auxiliary register 7 */</font>    <i>crtx_Uint32_t</i>   DP;             <font color="#6920ac">/* Data page pointer */</font>    <i>crtx_Uint32_t</i>   IR0;            <font color="#6920ac">/* Index register 0 */</font>    <i>crtx_Uint32_t</i>   IR1;            <font color="#6920ac">/* Index register 1 */</font>    <i>crtx_Uint32_t</i>   BK;             <font color="#6920ac">/* Block size register */</font>    <i>crtx_Uint32_t</i>   SP;             <font color="#6920ac">/* stack pointer */</font>    <i>crtx_Uint32_t</i>   ST;             <font color="#6920ac">/* status register */</font>    <i>crtx_Uint32_t</i>   IE;             <font color="#6920ac">/* DMA/CPU interrupt enable */</font>    <i>crtx_Uint32_t</i>   IF;             <font color="#6920ac">/* Interrupt flags */</font>    <i>crtx_Uint32_t</i>   IOF;            <font color="#6920ac">/* I/O flags */</font>    <i>crtx_Uint32_t</i>   RS;             <font color="#6920ac">/* Repeat start address */</font>    <i>crtx_Uint32_t</i>   RE;             <font color="#6920ac">/* Repeat end address */</font>    <i>crtx_Uint32_t</i>   RC;             <font color="#6920ac">/* Repeat counter */</font>    <i>crtx_Uint32_t</i>   PC;             <font color="#6920ac">/* Program counter */</font>} <i>gdbm_Registers_t</i>;<font color="#6920ac">/* CPU registers saved on thread context switch */</font><i><a name="thrd_StackFrameRegs_t">typedef</a></i> <i>struct</i> thrd_StackFrameRegs_s {    <i>crtx_Uint32_t</i>   AR3;            <font color="#6920ac">/* register AR3 */</font>    <i>crtx_Uint32_t</i>   AR4;            <font color="#6920ac">/* register AR4 */</font>    <i>crtx_Uint32_t</i>   AR5;            <font color="#6920ac">/* register AR5 */</font>    <i>crtx_Uint32_t</i>   AR6;            <font color="#6920ac">/* register AR6 */</font>    <i>crtx_Uint32_t</i>   AR7;            <font color="#6920ac">/* register AR7 */</font>    <i>crtx_Uint32_t</i>   R4;             <font color="#6920ac">/* lowest 32 bits of R4 */</font>    <i>crtx_Uint32_t</i>   R4F;            <font color="#6920ac">/* upper  32 bits of R4 */</font>    <i>crtx_Uint32_t</i>   R5;             <font color="#6920ac">/* lowest 32 bits of R5 */</font>    <i>crtx_Uint32_t</i>   R5F;            <font color="#6920ac">/* upper  32 bits of R5 */</font>    <i>crtx_Uint32_t</i>   R6;             <font color="#6920ac">/* lowest 32 bits of R6 */</font>    <i>crtx_Uint32_t</i>   R6F;            <font color="#6920ac">/* upper  32 bits of R6 */</font>    <i>crtx_Uint32_t</i>   R7;             <font color="#6920ac">/* lowest 32 bits of R7 */</font>    <i>crtx_Uint32_t</i>   R7F;            <font color="#6920ac">/* upper  32 bits of R7 */</font>    <i>crtx_Uint32_t</i>   SP;             <font color="#6920ac">/* stack pointer */</font>    <i>crtx_Uint32_t</i>   PC;             <font color="#6920ac">/* program counter */</font>} <i><font color='DarkBlue'>thrd_StackFrameRegs_t</font></i>;<font color="#6920ac">/* hardware interrupts dispatcher */</font><font size="+1"><i>crtx_Void_t</i> <a href="hrdi_Dispatcher.FIND-FUNC">hrdi_Dispatcher</a>(<i>crtx_Void_t</i>);</font><font color="#6920ac">/* Set LISR interrupt mask. This service is only alowed from  * hrdi_Shell to allow proper nested interrupt detection for * some ports. */</font><font size="+1"><i>crtx_Void_t</i> <a href="hrdi_SetLisrIntrMask.FIND-FUNC">hrdi_SetLisrIntrMask</a>(<i>crtx_Mask_t</i> Mask_a);</font><font color="#6920ac">/* Hardware interrupt dispatcher */</font><i><a name="hrdi_Dispatcher_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>hrdi_Dispatcher_t</font></i>)(<i>crtx_Void_t</i>);<font size="+1"><i>crtx_Void_t</i>   <a href="port_Init.FIND-FUNC">port_Init</a>(<i>crtx_Void_t</i>);</font><font size="+1"><i>crtx_Void_t</i>   <a href="port_Fatal.FIND-FUNC">port_Fatal</a>(<i>crtx_Void_t</i>);</font><font size="+1"><i>crtx_Void_t</i>   <a href="port_Abort.FIND-FUNC">port_Abort</a>(<i>crtx_Void_t</i>);</font><font size="+1"><i>crtx_Void_t</i>   <a href="port_Exit.FIND-FUNC">port_Exit</a>(<i>crtx_Void_t</i>);</font><font size="+1"><i>crtx_Void_t</i>   <a href="port_InitSerial.FIND-FUNC">port_InitSerial</a>(<i>crtx_Void_t</i>);</font><font size="+1"><i>crtx_Void_t</i>   <a href="port_Putc.FIND-FUNC">port_Putc</a>(<i>crtx_Char_t</i> Char_a);</font><font size="+1"><i>crtx_Uint16_t</i> <a href="port_Ntohs.FIND-FUNC">port_Ntohs</a>(<i>crtx_Uint16_t</i> NetShort_a);</font><font size="+1"><i>crtx_Uint32_t</i> <a href="port_Ntohl.FIND-FUNC">port_Ntohl</a>(<i>crtx_Uint32_t</i> NetLong_a);</font><font size="+1"><i>crtx_Uint16_t</i> <a href="port_Htons.FIND-FUNC">port_Htons</a>(<i>crtx_Uint16_t</i> HostShort_a);</font><font size="+1"><i>crtx_Uint32_t</i> <a href="port_Htonl.FIND-FUNC">port_Htonl</a>(<i>crtx_Uint32_t</i> HostLong_a);</font><b><font color='DarkGreen'>#if</font></b><font color="maroon"> HRDI_USE_CORTEX_SCNDRY_INTR_TBL == 1</font><font color="#6920ac">/* secondary interrupt table */</font><i>extern</i> <i>crtx_Void_t</i>      *hrdi_StartISRs_g;      <font color="#6920ac">/* in RAM */</font><i>extern</i> <i>crtx_Void_t</i>      *hrdi_EndISRs_g;<i>extern</i> <i>crtx_Void_t</i>      *hrdi_StartISRsCode_g;  <font color="#6920ac">/* in ROM */</font><i>extern</i> <i>crtx_Void_t</i>      *hrdi_EndISRsCode_g;<i>extern</i> <i>crtx_Void_t</i>      **hrdi_StartISRsPtr_g;<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* HRDI_USE_CORTEX_SCNDRY_INTR_TBL == 1 */</font></font><font color="#6920ac">/* ===== END OF THE DEFINITION FILE ===== */</font><b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* (CRTX_CPU_FAMILY==CRTX_TMS320C3X) */</font></font><b><font color='DarkGreen'>#ifdef</font></b><font color="maroon">  __cplusplus</font>}<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* __cplusplus */</font></font><b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* __TMS320C3X__H */</font></font></pre></BODY></HTML>

⌨️ 快捷键说明

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