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

📄 bspfuncs.h

📁 用于TM1300/PNX1300系列DSP(主要用于视频处理)的操作系统pSOS。包括全部源码
💻 H
📖 第 1 页 / 共 2 页
字号:
            void (*tx_char)(ULONG unit, ULONG isr_flag));        ULONG SerialIntBaud(ULONG channel, void *hdp, ULONG baudrate);        void  SerialIntRxioff(ULONG channel, void *hdp);        void  SerialIntRxion(ULONG channel, void *hdp);        void  SerialIntTxioff(ULONG channel, void *hdp);        void  SerialIntTxion(ULONG channel, void *hdp);        ULONG SerialIntRead(ULONG channel, void *hdp, UCHAR *ch_ptr);        ULONG SerialIntWrite(ULONG channel, void *hdp, UCHAR ch);    #endif/***********************************************************************//*                                                                     *//* PC Console Driver                                                   *//*                                                                     *//***********************************************************************/#if BSP_CONSOLE void ConsolePollInit(void);unsigned long ConsolePollConsts(unsigned long typecode);unsigned char ConsolePollConin(void);void  ConsolePollConout(unsigned char c); #endif /* BSP_CONSOLE *//***********************************************************************//*                                                                     *//* Tick Timer Routines                                                 *//*                                                                     *//***********************************************************************/#define BSP_TIMER 1#if BSP_TIMERvoid RtcInit(struct ioparms *p);void Delay100ms(void);#endif /* BSP_TIMER *//***********************************************************************//*                                                                     *//* Realtime Clock routines                                             *//*                                                                     *//***********************************************************************/#if BSP_CLOCKvoid CmcRead(struct ioparms *p);void CmcWrite(struct ioparms *p);#endif/***********************************************************************//*                                                                     *//* Parallel Port routines                                              *//*                                                                     *//***********************************************************************/#if BSP_PARALLELvoid ParInit(struct ioparms *p);void ParOpen(struct ioparms *p);void ParClose(struct ioparms *p);void ParWrite(struct ioparms *p);#endif/***********************************************************************//*                                                                     *//* LAN Interface Routines                                              *//*                                                                     *//***********************************************************************/    long NiLan(ULONG fn_code, nientry *p);    long NiLan1(ULONG fn_code, nientry *p);    long NiLan2(ULONG fn_code, nientry *p);    UCHAR *NiLanSetup(int Nbufs, UCHAR *FreeMem);    ULONG GetRarpServerIP(void);    void LanStop(void);    void LanStop1(void);    void LanStop2(void);/***********************************************************************//*                                                                     *//* Shared Memory Interface Routines                                    *//*                                                                     *//***********************************************************************/ULONG MemAccessible(volatile void *address);ULONG SafeLongRead(volatile void *address);#if BSP_SMEM    /*-----------------------------------------------------------------*/    /* Interrupt Method Data Structure - "method" specifies how a      */    /* board should be interrupted to signal the arrival of a shared   */    /* memory packet:                                                  */    /*   0 : Do not interrupt (board will poll for packets)            */    /*   1 : Read a byte from location m1.address in the VMEbus short  */    /*       I/O space                                                 */    /*   2 : Write byte "m2.value" to location m2.address in the       */    /*       VMEbus short I/O space                                    */    /* 3-127: Reserved - DO NOT USE                                    */    /* 128 - 255: User-defined                                         */    /*-----------------------------------------------------------------*/    typedef struct intr_method        {        ULONG method;        union            {            struct { ULONG address; } m1;            struct { ULONG address; ULONG value; } m2;            struct { ULONG  address; ULONG value; } m3;            } intr;        } INTR_METHOD;    void SmemIntInit(INTR_METHOD *meth_ptr, ULONG NodeNumber,                     ULONG (*Isr)(void));    int SmemIntNode(INTR_METHOD *meth_ptr, ULONG TargetNode);    void SmemIntClear(void);    void *SmemBus2Local(void *BusAddress);    void *SmemLocal2Bus(void *LocalAddress);    #define SMEM_MAXNODES 8#endif/***********************************************************************//*                                                                     *//* SCSI Routines                                                       *//*                                                                     *//***********************************************************************/#if BSP_SCSI    void SdrvInit(struct ioparms *t);    void SdrvCntrl(struct ioparms *t);    void SdskWrite(struct ioparms *t);    void SdskRead(struct ioparms *t);    void SdrvSetup(void);    void StapeRead(struct ioparms *);    void StapeWrite(struct ioparms *);    void StapeOpen(struct ioparms *);    void StapeClose(struct ioparms *);#endif/***********************************************************************//*                                                                     *//* Watchdog Timer routines                                             *//*                                                                     *//***********************************************************************/#if BSP_WATCHDOG void WdtInit(struct ioparms *t); #endif/***********************************************************************//*                                                                     *//*  High-Level Driver Routines                                         *//*                                                                     *//***********************************************************************//*#define BSP_SERIAL 4 so defined to avoid "zero or -ve subscript" error*/		     /* in chat.c & disi.c                              */	void uart_init(struct ioparms *t);	void uart_open(struct ioparms *t);	/*void uart_close(struct ioparms *t); currently not included */	void uart_read(struct ioparms *t);	void uart_write(struct ioparms *t);	void uart_control(struct ioparms *t);#if BSP_SERIAL    UCHAR *TermSetup (UCHAR *FreeMem, ULONG defbaud, USHORT defcons);    void   TermInit  (struct ioparms *t);    void   TermOpen  (struct ioparms *t);    void   TermClose (struct ioparms *t);    void   TermRead  (struct ioparms *t);    void   TermWrite (struct ioparms *t);    void   TermCntrl (struct ioparms *t);    UCHAR *CnslSetup(UCHAR *FreeMem, ULONG defbaud, USHORT defcons);    void   CnslInit(struct ioparms *t);    void   CnslRead(struct ioparms *t);    void   CnslWrite(struct ioparms *t);    void   CnslCntrl(struct ioparms *t);#endif#if BSP_CONSOLEvoid PcCnslInit(struct ioparms *t);void PcCnslRead(struct ioparms *t);void PcCnslWrite(struct ioparms *t);void PcCnslCntrl(struct ioparms *t);#endif#if BSP_LAN1    ULONG RarpEth(long (*NiLanPtr)(ULONG fn_code, nientry *p));#endif#if BSP_SMEM    #define NISM_MTU 560    long   NiSmem(ULONG function, nientry *p);    UCHAR *NiSmemSetup(int Nbufs, UCHAR *FreeMem, int key);#endif/*---------------------------------------------------------------------*//* Routines not dependent on hardware                                  *//*---------------------------------------------------------------------*/void RdskInit(struct ioparms *t);void RdskWrite(struct ioparms *t);void RdskRead(struct ioparms *t);void TftpInit(struct ioparms *iop);void TftpOpen(struct ioparms *iop);void TftpClose(struct ioparms *iop);void TftpRead(struct ioparms *iop);void TftpCntl(struct ioparms *iop);/*---------------------------------------------------------------------*//* pSOS Component callouts                                             *//*---------------------------------------------------------------------*/#define  ENTRY_START_OFFSET    0x40#define  PSOS_I_ENTER_OFFSET      4#define  PSOS_I_RETURN_OFFSET     3/*---------------------------------------------------------------------*//* pMont Component callouts                                            *//*---------------------------------------------------------------------*/void BspPmontCallout(void (*pMIEnter)(), void (*pMIExit)());#define  PMONT_I_ENTER_OFFSET     5#define  PMONT_I_RETURN_OFFSET    6#define  ENTRY_LENGTH             8/*---------------------------------------------------------------------*//* Psedo driver functions                                              *//*---------------------------------------------------------------------*/void PsedoIOInit(struct ioparms *t);void PsedoIORead(struct ioparms *t);void PsedoIOWrite(struct ioparms *t);void PsedoIOCntrl(struct ioparms *t);#endif /* _BSPFUNCS_H */#if defined(__cplusplus)}#endif

⌨️ 快捷键说明

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