hsh3.c
来自「澳洲人写的Cortex,包括uC_IP协议栈」· C语言 代码 · 共 1,173 行 · 第 1/5 页
C
1,173 行
<b>break</b>; <b>case</b> <a href="HSH3_VECTOR_TMU_TUNI2.FIND-DEF">HSH3_VECTOR_TMU_TUNI2</a>: <a href="HSH3_INTC_IPRA.FIND-DEF">HSH3_INTC_IPRA</a> &= ~<a href="HSH3_INTC_PRIO_MASK_TMU2.FIND-DEF">HSH3_INTC_PRIO_MASK_TMU2</a>; <a href="HSH3_INTC_IPRA.FIND-DEF">HSH3_INTC_IPRA</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_TMU2.FIND-DEF">HSH3_INTC_PRIO_SHFT_TMU2</a>)&<a href="HSH3_INTC_PRIO_MASK_TMU2.FIND-DEF">HSH3_INTC_PRIO_MASK_TMU2</a>); <a href="HSH3_TMU_TCR2.FIND-DEF">HSH3_TMU_TCR2</a> |= <a href="HSH3_TMU_TCR_UNIE.FIND-DEF">HSH3_TMU_TCR_UNIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_TMU_TICPI2.FIND-DEF">HSH3_VECTOR_TMU_TICPI2</a>: <a href="HSH3_INTC_IPRA.FIND-DEF">HSH3_INTC_IPRA</a> &= ~<a href="HSH3_INTC_PRIO_MASK_TMU2.FIND-DEF">HSH3_INTC_PRIO_MASK_TMU2</a>; <a href="HSH3_INTC_IPRA.FIND-DEF">HSH3_INTC_IPRA</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_TMU2.FIND-DEF">HSH3_INTC_PRIO_SHFT_TMU2</a>)&<a href="HSH3_INTC_PRIO_MASK_TMU2.FIND-DEF">HSH3_INTC_PRIO_MASK_TMU2</a>); <a href="HSH3_TMU_TCR2.FIND-DEF">HSH3_TMU_TCR2</a> |= (<a href="HSH3_TMU_TCR2_ICPE0.FIND-DEF">HSH3_TMU_TCR2_ICPE0</a> | <a href="HSH3_TMU_TCR2_ICPE1.FIND-DEF">HSH3_TMU_TCR2_ICPE1</a>); <b>break</b>; }}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegRTC">hrdi_RegRTC</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_RTC_ATI.FIND-DEF">HSH3_VECTOR_RTC_ATI</a>: <a href="HSH3_RTC_RCR1.FIND-DEF">HSH3_RTC_RCR1</a> |= <a href="HSH3_RTC_RCR1_AIE.FIND-DEF">HSH3_RTC_RCR1_AIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_RTC_CUI.FIND-DEF">HSH3_VECTOR_RTC_CUI</a>: <a href="HSH3_RTC_RCR1.FIND-DEF">HSH3_RTC_RCR1</a> |= <a href="HSH3_RTC_RCR1_CIE.FIND-DEF">HSH3_RTC_RCR1_CIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_RTC_PRI.FIND-DEF">HSH3_VECTOR_RTC_PRI</a>: <font color="#6920ac">/* periodic interrupt (PRI) has to be enabled by application */</font> <b>break</b>; } <a href="HSH3_INTC_IPRA.FIND-DEF">HSH3_INTC_IPRA</a> &= ~<a href="HSH3_INTC_PRIO_MASK_RTC.FIND-DEF">HSH3_INTC_PRIO_MASK_RTC</a>; <a href="HSH3_INTC_IPRA.FIND-DEF">HSH3_INTC_IPRA</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_RTC.FIND-DEF">HSH3_INTC_PRIO_SHFT_RTC</a>)&<a href="HSH3_INTC_PRIO_MASK_RTC.FIND-DEF">HSH3_INTC_PRIO_MASK_RTC</a>);}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegSCI">hrdi_RegSCI</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_SCI_ERI.FIND-DEF">HSH3_VECTOR_SCI_ERI</a>: <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_SCI_RXI.FIND-DEF">HSH3_VECTOR_SCI_RXI</a>: <a href="HSH3_SCI_SCR.FIND-DEF">HSH3_SCI_SCR</a> |= <a href="HSH3_SCI_SCR_RIE.FIND-DEF">HSH3_SCI_SCR_RIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_SCI_TXI.FIND-DEF">HSH3_VECTOR_SCI_TXI</a>: <a href="HSH3_SCI_SCR.FIND-DEF">HSH3_SCI_SCR</a> |= <a href="HSH3_SCI_SCR_TIE.FIND-DEF">HSH3_SCI_SCR_TIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_SCI_TEI.FIND-DEF">HSH3_VECTOR_SCI_TEI</a>: <a href="HSH3_SCI_SCR.FIND-DEF">HSH3_SCI_SCR</a> |= <a href="HSH3_SCI_SCR_TEIE.FIND-DEF">HSH3_SCI_SCR_TEIE</a>; <b>break</b>; } <a href="HSH3_INTC_IPRB.FIND-DEF">HSH3_INTC_IPRB</a> &= ~<a href="HSH3_INTC_PRIO_MASK_SCI.FIND-DEF">HSH3_INTC_PRIO_MASK_SCI</a>; <a href="HSH3_INTC_IPRB.FIND-DEF">HSH3_INTC_IPRB</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_SCI.FIND-DEF">HSH3_INTC_PRIO_SHFT_SCI</a>)&<a href="HSH3_INTC_PRIO_MASK_SCI.FIND-DEF">HSH3_INTC_PRIO_MASK_SCI</a>);}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegWDT">hrdi_RegWDT</a></font></b>(<i>hrdi_Priority_t</i> Level){</font> <a href="HSH3_INTC_IPRB.FIND-DEF">HSH3_INTC_IPRB</a> &= ~<a href="HSH3_INTC_PRIO_MASK_WDT.FIND-DEF">HSH3_INTC_PRIO_MASK_WDT</a>; <a href="HSH3_INTC_IPRB.FIND-DEF">HSH3_INTC_IPRB</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_WDT.FIND-DEF">HSH3_INTC_PRIO_SHFT_WDT</a>)&<a href="HSH3_INTC_PRIO_MASK_WDT.FIND-DEF">HSH3_INTC_PRIO_MASK_WDT</a>);}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegREF">hrdi_RegREF</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_REF_RCMI.FIND-DEF">HSH3_VECTOR_REF_RCMI</a>: <a href="HSH3_RTCSR.FIND-DEF">HSH3_RTCSR</a> |= <a href="HSH3_RTCSR_CMIE.FIND-DEF">HSH3_RTCSR_CMIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_REF_ROVI.FIND-DEF">HSH3_VECTOR_REF_ROVI</a>: <a href="HSH3_RTCSR.FIND-DEF">HSH3_RTCSR</a> |= <a href="HSH3_RTCSR_OVIE.FIND-DEF">HSH3_RTCSR_OVIE</a>; <b>break</b>; } <a href="HSH3_INTC_IPRB.FIND-DEF">HSH3_INTC_IPRB</a> &= ~<a href="HSH3_INTC_PRIO_MASK_REF.FIND-DEF">HSH3_INTC_PRIO_MASK_REF</a>; <a href="HSH3_INTC_IPRB.FIND-DEF">HSH3_INTC_IPRB</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_REF.FIND-DEF">HSH3_INTC_PRIO_SHFT_REF</a>)&<a href="HSH3_INTC_PRIO_MASK_REF.FIND-DEF">HSH3_INTC_PRIO_MASK_REF</a>);}<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* CRTX_HSH7707 || CRTX_HSH7708X || CRTX_HSH7709 */</font></font><b><font color='DarkGreen'>#if</font></b><font color="maroon"> (CRTX_CPU_TYPE==CRTX_HSH7707) || (CRTX_CPU_TYPE==CRTX_HSH7709)</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegIRQ">hrdi_RegIRQ</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_IRQ0.FIND-DEF">HSH3_VECTOR_IRQ0</a>: <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRQ0.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ0</a>; <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRQ0.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRQ0</a>)&<a href="HSH3_INTC_PRIO_MASK_IRQ0.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ0</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRQ1.FIND-DEF">HSH3_VECTOR_IRQ1</a>: <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRQ1.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ1</a>; <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRQ1.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRQ1</a>)&<a href="HSH3_INTC_PRIO_MASK_IRQ1.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ1</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRQ2.FIND-DEF">HSH3_VECTOR_IRQ2</a>: <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRQ2.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ2</a>; <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRQ2.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRQ2</a>)&<a href="HSH3_INTC_PRIO_MASK_IRQ2.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ2</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRQ3.FIND-DEF">HSH3_VECTOR_IRQ3</a>: <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRQ3.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ3</a>; <a href="HSH3_INTC_IPRC.FIND-DEF">HSH3_INTC_IPRC</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRQ3.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRQ3</a>)&<a href="HSH3_INTC_PRIO_MASK_IRQ3.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ3</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRQ4.FIND-DEF">HSH3_VECTOR_IRQ4</a>: <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRQ4.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ4</a>; <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRQ4.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRQ4</a>)&<a href="HSH3_INTC_PRIO_MASK_IRQ4.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ4</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRQ5.FIND-DEF">HSH3_VECTOR_IRQ5</a>: <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRQ5.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ5</a>; <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRQ5.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRQ5</a>)&<a href="HSH3_INTC_PRIO_MASK_IRQ5.FIND-DEF">HSH3_INTC_PRIO_MASK_IRQ5</a>); <b>break</b>; }}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegPINT">hrdi_RegPINT</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_PINT0_7.FIND-DEF">HSH3_VECTOR_PINT0_7</a>: <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> &= ~<a href="HSH3_INTC_PRIO_MASK_PINT0_7.FIND-DEF">HSH3_INTC_PRIO_MASK_PINT0_7</a>; <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_PINT0_7.FIND-DEF">HSH3_INTC_PRIO_SHFT_PINT0_7</a>)&<a href="HSH3_INTC_PRIO_MASK_PINT0_7.FIND-DEF">HSH3_INTC_PRIO_MASK_PINT0_7</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_PINT8_15.FIND-DEF">HSH3_VECTOR_PINT8_15</a>: <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> &= ~<a href="HSH3_INTC_PRIO_MASK_PINT8_15.FIND-DEF">HSH3_INTC_PRIO_MASK_PINT8_15</a>; <a href="HSH3_INTC_IPRD.FIND-DEF">HSH3_INTC_IPRD</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_PINT8_15.FIND-DEF">HSH3_INTC_PRIO_SHFT_PINT8_15</a>)&<a href="HSH3_INTC_PRIO_MASK_PINT8_15.FIND-DEF">HSH3_INTC_PRIO_MASK_PINT8_15</a>); <b>break</b>; }}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegDMAC">hrdi_RegDMAC</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_DEI0.FIND-DEF">HSH3_VECTOR_DEI0</a>: <a href="HSH3_DMAC_CHCR0.FIND-DEF">HSH3_DMAC_CHCR0</a> |= <a href="HSH3_DMAC_CHCR_IE.FIND-DEF">HSH3_DMAC_CHCR_IE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_DEI1.FIND-DEF">HSH3_VECTOR_DEI1</a>: <a href="HSH3_DMAC_CHCR1.FIND-DEF">HSH3_DMAC_CHCR1</a> |= <a href="HSH3_DMAC_CHCR_IE.FIND-DEF">HSH3_DMAC_CHCR_IE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_DEI2.FIND-DEF">HSH3_VECTOR_DEI2</a>: <a href="HSH3_DMAC_CHCR2.FIND-DEF">HSH3_DMAC_CHCR2</a> |= <a href="HSH3_DMAC_CHCR_IE.FIND-DEF">HSH3_DMAC_CHCR_IE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_DEI3.FIND-DEF">HSH3_VECTOR_DEI3</a>: <a href="HSH3_DMAC_CHCR3.FIND-DEF">HSH3_DMAC_CHCR3</a> |= <a href="HSH3_DMAC_CHCR_IE.FIND-DEF">HSH3_DMAC_CHCR_IE</a>; <b>break</b>; } <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> &= ~<a href="HSH3_INTC_PRIO_MASK_DMAC.FIND-DEF">HSH3_INTC_PRIO_MASK_DMAC</a>; <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_DMAC.FIND-DEF">HSH3_INTC_PRIO_SHFT_DMAC</a>)&<a href="HSH3_INTC_PRIO_MASK_DMAC.FIND-DEF">HSH3_INTC_PRIO_MASK_DMAC</a>);}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegIrDA">hrdi_RegIrDA</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_IRDA_ERI.FIND-DEF">HSH3_VECTOR_IRDA_ERI</a>: <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRDA_RXI.FIND-DEF">HSH3_VECTOR_IRDA_RXI</a>: <a href="HSH3_IRDA_SCR.FIND-DEF">HSH3_IRDA_SCR</a> |= <a href="HSH3_SCIF_SCR_RIE.FIND-DEF">HSH3_SCIF_SCR_RIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRDA_BRI.FIND-DEF">HSH3_VECTOR_IRDA_BRI</a>: <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_IRDA_TXI.FIND-DEF">HSH3_VECTOR_IRDA_TXI</a>: <a href="HSH3_IRDA_SCR.FIND-DEF">HSH3_IRDA_SCR</a> |= <a href="HSH3_SCIF_SCR_TIE.FIND-DEF">HSH3_SCIF_SCR_TIE</a>; <b>break</b>; } <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> &= ~<a href="HSH3_INTC_PRIO_MASK_IRDA.FIND-DEF">HSH3_INTC_PRIO_MASK_IRDA</a>; <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_IRDA.FIND-DEF">HSH3_INTC_PRIO_SHFT_IRDA</a>)&<a href="HSH3_INTC_PRIO_MASK_IRDA.FIND-DEF">HSH3_INTC_PRIO_MASK_IRDA</a>);}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegSCIF">hrdi_RegSCIF</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_SCIF_ERI.FIND-DEF">HSH3_VECTOR_SCIF_ERI</a>: <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_SCIF_RXI.FIND-DEF">HSH3_VECTOR_SCIF_RXI</a>: <a href="HSH3_SCIF_SCR.FIND-DEF">HSH3_SCIF_SCR</a> |= <a href="HSH3_SCIF_SCR_RIE.FIND-DEF">HSH3_SCIF_SCR_RIE</a>; <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_SCIF_BRI.FIND-DEF">HSH3_VECTOR_SCIF_BRI</a>: <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_SCIF_TXI.FIND-DEF">HSH3_VECTOR_SCIF_TXI</a>: <a href="HSH3_SCIF_SCR.FIND-DEF">HSH3_SCIF_SCR</a> |= <a href="HSH3_SCIF_SCR_TIE.FIND-DEF">HSH3_SCIF_SCR_TIE</a>; <b>break</b>; } <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> &= ~<a href="HSH3_INTC_PRIO_MASK_SCIF.FIND-DEF">HSH3_INTC_PRIO_MASK_SCIF</a>; <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_SCIF.FIND-DEF">HSH3_INTC_PRIO_SHFT_SCIF</a>)&<a href="HSH3_INTC_PRIO_MASK_SCIF.FIND-DEF">HSH3_INTC_PRIO_MASK_SCIF</a>);}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegADC">hrdi_RegADC</a></font></b>(<i>hrdi_Priority_t</i> Level){</font> <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> &= ~<a href="HSH3_INTC_PRIO_MASK_ADC.FIND-DEF">HSH3_INTC_PRIO_MASK_ADC</a>; <a href="HSH3_INTC_IPRE.FIND-DEF">HSH3_INTC_IPRE</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_ADC.FIND-DEF">HSH3_INTC_PRIO_SHFT_ADC</a>)&<a href="HSH3_INTC_PRIO_MASK_ADC.FIND-DEF">HSH3_INTC_PRIO_MASK_ADC</a>);}<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* (CRTX_CPU_TYPE==CRTX_HSH7707) || (CRTX_CPU_TYPE==CRTX_HSH7709) */</font></font><b><font color='DarkGreen'>#if</font></b><font color="maroon"> (CRTX_CPU_TYPE==CRTX_HSH7707)</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegLCDC">hrdi_RegLCDC</a></font></b>(<i>hrdi_Priority_t</i> Level){</font> <a href="HSH3_INTC_IPRF.FIND-DEF">HSH3_INTC_IPRF</a> &= ~<a href="HSH3_INTC_PRIO_MASK_LCDC.FIND-DEF">HSH3_INTC_PRIO_MASK_LCDC</a>; <a href="HSH3_INTC_IPRF.FIND-DEF">HSH3_INTC_IPRF</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_LCDC.FIND-DEF">HSH3_INTC_PRIO_SHFT_LCDC</a>)&<a href="HSH3_INTC_PRIO_MASK_LCDC.FIND-DEF">HSH3_INTC_PRIO_MASK_LCDC</a>); <a href="HSH3_LCD_AR.FIND-DEF">HSH3_LCD_AR</a> = <a href="HSH3_LCD_DR13.FIND-DEF">HSH3_LCD_DR13</a>; <a href="HSH3_LCD_DR.FIND-DEF">HSH3_LCD_DR</a> |= <a href="HSH3_LCD_DR13_VIE.FIND-DEF">HSH3_LCD_DR13_VIE</a>;}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegPCC">hrdi_RegPCC</a></font></b>(<i>hrdi_Vector_t</i> Vector, <i>hrdi_Priority_t</i> Level){</font> <b>switch</b>(Vector) { <b>case</b> <a href="HSH3_VECTOR_PCC0I.FIND-DEF">HSH3_VECTOR_PCC0I</a>: <a href="HSH3_INTC_IPRF.FIND-DEF">HSH3_INTC_IPRF</a> &= ~<a href="HSH3_INTC_PRIO_MASK_PCC0.FIND-DEF">HSH3_INTC_PRIO_MASK_PCC0</a>; <a href="HSH3_INTC_IPRF.FIND-DEF">HSH3_INTC_IPRF</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_PCC0.FIND-DEF">HSH3_INTC_PRIO_SHFT_PCC0</a>)&<a href="HSH3_INTC_PRIO_MASK_PCC0.FIND-DEF">HSH3_INTC_PRIO_MASK_PCC0</a>); <b>break</b>; <b>case</b> <a href="HSH3_VECTOR_PCC1I.FIND-DEF">HSH3_VECTOR_PCC1I</a>: <a href="HSH3_INTC_IPRF.FIND-DEF">HSH3_INTC_IPRF</a> &= ~<a href="HSH3_INTC_PRIO_MASK_PCC1.FIND-DEF">HSH3_INTC_PRIO_MASK_PCC1</a>; <a href="HSH3_INTC_IPRF.FIND-DEF">HSH3_INTC_IPRF</a> |= ((Level<<<a href="HSH3_INTC_PRIO_SHFT_PCC1.FIND-DEF">HSH3_INTC_PRIO_SHFT_PCC1</a>)&<a href="HSH3_INTC_PRIO_MASK_PCC1.FIND-DEF">HSH3_INTC_PRIO_MASK_PCC1</a>); <b>break</b>; } <font color="#6920ac">/* Other PCC bits to be set by application */</font>}<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* (CRTX_CPU_TYPE==CRTX_HSH7707) */</font></font><font color="#6920ac">/* Do some additional CPU setup to enable specified source. * This service is called from hrdi_Install(). * * Register specified hardware interrupt source * */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_EnableVector">hrdi_EnableVector</a></font></b>(<i>hrdi_ISRCB_t</i> *pISRCB_a){</font><font color="#6920ac">/********************* * LOCAL VARIABLES * *********************/</font> <i>hrdi_GlobalIntrCookie_t</i> Cookie; <i>hrdi_Vector_t</i> Vector; <i>hrdi_Priority_t</i> Level;<font color="#6920ac">/********************* * PROCEDURE LOGIC * *********************/</font> <a href="CRTX_ASSERT.FIND-DEF">CRTX_ASSERT</a>(pISRCB_a) Vector = pISRCB_a->Vector; Level = pISRCB_a->Attr.Priority; Cookie = <a href="hrdi_GlobalIntrDisable.FIND-FUNC">hrdi_GlobalIntrDisable</a>(); <b>switch</b>(Vector) {<font color="#6920ac">#if 0 case HSH3_VECTOR_RESET: /* power-on reset */ case HSH3_VECTOR_MRESET: /* manual reset reset */ case HSH3_VECTOR_TLB_INVAL_LOAD: /* TLB invalid (load) */ case HSH3_VECTOR_TLB_INVAL_STORE: /* TLB invalid (store) */ case HSH3_VECTOR_TLB_MISS_LOAD: /* TLB miss (load) */ case HSH3_VECTOR_TLB_MISS_STORE: /* TLB miss (store) */ case HSH3_VECTOR_INIT_WRITE: /* Initial page write */ case HSH3_VECTOR_TLB_PROT_LOAD: /* TLB protection violation (load) */ case HSH3_VECTOR_TLB_PROT_STORE: /* TLB protection violation (store) */ case HSH3_VECTOR_ADDR_ERR_LOAD : /* Address error (load) */ case HSH3_VECTOR_ADDR_ERR_STORE: /* Address error (store) */ case HSH3_VECTOR_RESERVED_9: /* Reserved for system use */ case HSH3_VECTOR_RESERVED_10: /* Reserved for system use */ case HSH3_VECTOR_TRAPA: /* Unconditional trap */ case HSH3_VECTOR_RES_INSTRUCT: /* Reserved instruction code */ case HSH3_VECTOR_ILLEGAL_SLOT: /* Illegal slot instruction */ case HSH3_VECTOR_NMI: /* Nonmaskable interrupt */ case HSH3_VECTOR_BREAK: /* User break point trap */ case HSH3_VECTOR_IRL0: /* External hardware interrupt 0 */ case HSH3_VECTOR_IRL1: /* External hardware interrupt 1 */ case HSH3_VECTOR_IRL2: /* External hardware interrupt 2 */ case HSH3_VECTOR_IRL3: /* External hardware interrupt 3 */ case HSH3_VECTOR_IRL4: /* External hardware interrupt 4 */ case HSH3_VECTOR_IRL5: /* External hardware interrupt 5 */ case HSH3_VECTOR_IRL6: /* External hardware interrupt 6 */ case HSH3_VECTOR_IRL7: /* External hardware interrupt 7 */ case HSH3_VECTOR_IRL8: /* External hardware interrupt 8 */ case HSH3_VECTOR_IRL9: /* External hardware interrupt 9 */ case HSH3_VECTOR_IRL10: /* External hardware interrupt 10 */ case HSH3_VECTOR_IRL11: /* External hardware interrupt 11 */ case HSH3_VECTOR_IRL12: /* External hardware interrupt 12 */ case HSH3_VECTOR_IRL13: /* External hardware interrupt 13 */ case HSH3_VECTOR_IRL14: /* External hardware interrupt 14 */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?