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

📄 probecfg.h

📁 用于TM1300/PNX1300系列DSP(主要用于视频处理)的操作系统pSOS。包括全部源码
💻 H
字号:
/***********************************************************************//*                                                                     *//*   MODULE:  probecfg.h   1.3                                                *//*   DATE:    17:58:31 - 97/12/05                                                *//*   PURPOSE: Configuration table structure templates                  *//*                                                                     *//*---------------------------------------------------------------------*//*                                                                     *//*            Copyright 1994 - 1995, Integrated Systems, Inc.          *//*                      ALL RIGHTS RESERVED                            *//*                                                                     *//*   Permission is hereby granted to licensees of Integrated Systems,  *//*   Inc. products to use or abstract this computer program for the    *//*   sole purpose of implementing a product based on Integrated        *//*   Systems, Inc. products.   No other rights to reproduce, use,      *//*   or disseminate this computer program, whether in part or in       *//*   whole, are granted.                                               *//*                                                                     *//*   Integrated Systems, Inc. makes no representation or warranties    *//*   with respect to the performance of this computer program, and     *//*   specifically disclaims any responsibility for any damages,        *//*   special or consequential, connected with the use of this program. *//*                                                                     *//*---------------------------------------------------------------------*//*                                                                     *//*   This file contains templates for pROBE+ configuration table.      *//*                                                                     *//***********************************************************************/#if defined(__cplusplus)extern "C" {#endif/*---------------------------------------------------------------------*//* Don't allow this file to be included more than once.                *//*---------------------------------------------------------------------*/#ifndef _PROBECFG_H#define _PROBECFG_H/********************************************************************//* Masks for RC_FLAGS entry (_MASK & RC_FLAGS isolates the Flag)    *//********************************************************************/#define RBUG_MASK    0x00000001#define NODOTS_MASK  0x00000004#define NOMANB_MASK  0x00000008#define NOPAGE_MASK  0x00000010#define PROFILE_MASK 0x00000020#define SMODE_MASK   0x00000100/*---------------------------------------------------------------------*//* Driver Interface Structure                                          *//*---------------------------------------------------------------------*/typedef struct callouts    {    long (*services)();            /* pointer to Processor Services */    long (*driver)();              /* pointer to current IO driver */    long (*disasm)(ULONG pc_addr,  /* pointer to Disassembler */                   char *bufptr);    long (*query)();               /* pointer to Query Services */    long (*urcom)();               /* pointer to User Command */    } CALLOUTS;/*---------------------------------------------------------------------*//* Used in the Configuration Table                                     *//*---------------------------------------------------------------------*/extern void pROBE_Core(void);extern void pROBE_Init(void);extern void pROBE_Console(void);extern void pROBE_Disasm(void);extern void pROBE_Debug(void);extern void pROBE_Query(void);/*---------------------------------------------------------------------*//* Application Program Interface Errors                                *//*---------------------------------------------------------------------*/#define SUCCESS        0#define ERR_PARM       -1            /* can't even guess what's wrong! */#define ERR_WIDTH      ERR_PARM-1    /* width wrong for count */#define ERR_NO_PSOS    ERR_WIDTH-1   /* can't do it without pSOS */#define ERR_NO_REG     ERR_NO_PSOS-1 /* invalid Register Code */#define ERR_BUS_FAULT  ERR_NO_REG-1  /* got a Bus Error on memory move *//*---------------------------------------------------------------------*//* Interface Communications Driver                                     *//*---------------------------------------------------------------------*/#define INIT    0x11#define GET     0x14#define PUT     0x12#define STATUS  0x15#define BREAK      2       /* return codes */#define MORE       1#define NO_MSG    -1#define XMIT_ERR  -2#define NO_IO     -3/*---------------------------------------------------------------------*//* Codes passed to td_statechng callout.  Note that these are bit      *//* flags, and more than one may be set.                                *//*---------------------------------------------------------------------*/#define TASKING_NORM     0x1  /* Normal pSOS+ tasking is enabled */#define TASKING_PROBE    0x2  /* pROBE+ has disabled tasking */#define MEMACCESS_NORM   0x4  /* Normal system memory prot. enabled */#define MEMACCESS_PROBE  0x8  /* pROBE+ may access any phys address *//*---------------------------------------------------------------------*//* rw_mem() codes                                                      *//*---------------------------------------------------------------------*/#define WIDE_MASK   0xF#define BYTE_WIDE   0x1#define WORD_WIDE   0x2#define LONG_WIDE   0x4#define DBL_WIDE    0x8#define READ        0x100#define WRITE       0x200/*---------------------------------------------------------------------*//* ANSI Prototypes for application program calls to Debugger Services  *//*---------------------------------------------------------------------*/void TDinit(void);void fat_err_entry(void);void rsrv_entry(void);void vector4_entry(void);       /* General illegal instruction */void vector6_entry(void);       /* Illegal slot instruction */void vector9_entry(void);       /* CPU bus error */void vector10_entry(void);      /* DMA bus error */void manb_entry(void);          /* MAN BRK Entry */void inbrk_entry(void);         /* Instruction Break Entry */long config_tables(    long CompCode,    UCHAR **v_ptr,    UCHAR **ct_sptr,    UCHAR **ct_ptr    );long rw_mem(    ULONG mode,    long byte_cnt,    UCHAR *address,    UCHAR *buff_ptr    );long rw_reg(    ULONG mode,    ULONG tid,    ULONG reg_code,    ULONG reg_count,    ULONG *buff_ptr    );typedef long (*td_drv_t)(ULONG, long *, char *);typedef long (*td_disasm_t)(ULONG, UCHAR *);typedef long (*td_urcom_t)(char *);typedef long (*td_urwrite_t)(ULONG, long, UCHAR *, ULONG *);/*=====================================================================*//* pROBE+ Configuration table                                          *//*=====================================================================*/typedef struct pROBEConfigTable    {    void (*td_code)();          /* addr of pROBE code module */    ULONG *td_data;             /* addr of pROBE data area */    ULONG *td_stack;            /* top of pROBE stack area */    void (*td_ce_code)();       /* console interface subcomponent */    void (*td_rd_code)();       /* remote debugger subcomponent */    void (*td_qs_code)();       /* query services subcomponent */    void (*td_ds_code)();       /* disassembler subcomponent */    void (*td_reserved1[4])();  /* must be 0 (4 code pointers) */    ULONG td_brkopc;            /* instruction break opcode */    ULONG td_flags;             /* initial flag settings */    ULONG td_dbgpri;            /* Debugger tasks priority */    td_drv_t td_drv0;           /* Communications driver 0 */    td_drv_t td_drv1;           /* Communications driver 1 */    void (*td_statechng)(ULONG);/* debugger state-change callout */    td_urcom_t td_urcom;        /* user cmd processing */    td_urwrite_t td_urwrite;    /* user HW write routine */    ULONG td_reserved2[6];      /* must be 0 (6 words) */    } pROBE_CT;#endif#if defined(__cplusplus)}#endif

⌨️ 快捷键说明

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