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

📄 lib_glob.h

📁 语音信号进行Fir滤波
💻 H
字号:
/*  lib_glob.h		Version 3.1.1 			*/


/* Define the RTL-wide pseudo-filename for use by CBUG */
#define RTL_FILENAME "___RTL21020___"

/* Back in the old days ... these were the different 	*/
/* versions that we supported.  Now, it is only one, so */
/* these are just defines.  Ahh for the good old days...*/

#define DMSTACK
#define RTRTS
#define REGPASS

/*  These symbols define the names of specific segments
    used by the runtime library. */

#define DMRAM
#define DMCONST
#define CSWAP

#define Code_Space_Name seg_pmco 
#define PMData_Space_Name seg_pmda
#define DMData_Space_Name seg_dmda

/*  This defines the precision of immediate data used 
    in the runtime library. */

#define MACHINE_PRECISION 40
#define MEMORY_PRECISION 32

#define dma_b B3
#define dma_i I3
#define dma_m M3
#define dma_l l3

#define dmb_b B2
#define dmb_i I2
#define dmb_m M2
#define dmb_l L2

#define dmc_b B5
#define dmc_i I5
#define dmc_m M5
#define dmc_l L5

#define	dm_bse B4
#define dm_ptr I4
#define dm_mdf M4
#define dm_lnt L4

#define dm_0 M5
#define dm_1 M6
#define dm_M1 M7

#define pm_0 M13
#define pm_1 M14
#define pm_M1 M15

#define pma_b B11
#define pma_i I11
#define pma_m M11
#define pma_l L11

#define pmb_b B10
#define pmb_i I10
#define pmb_m M10
#define pmb_l L10

#define pmc_b B13
#define pmc_i I13
#define pmc_m M13
#define pmc_l L13

#define pm_bse B12
#define pm_ptr I12
#define pm_mdf M12
#define pm_lnt L12

/*  These symbols define the appropriate code for each compile
    time symbol. Note: CALLER_HOLD's parameter must be the same
    as SAVE_OLD_FRAME's parameter */

#ifdef CSWAP
#define HOLD_FRAME
#define SWAP_FRAME
#define CALLER_HOLD(a) a=frame_ptr;
#define CALLER_SWAP frame_ptr=stack_ptr;
#define SAVE_OLD_FRAME(a) DM(I7,M7)=a;
#define SAVE_RET_ADDR DM(I7,M7)=PC;
#define RESTORE_STACK stack_ptr=frame_ptr;
#define RESTORE_FRAME frame_ptr=frame_stk;
#endif

#ifdef RTRTS
#define FETCH_RETURN I12=DM(dm_M1, frame_ptr);
#define RTLCALL JUMP 
#define RETURN JUMP (M14,I12)
#endif

#ifdef	DMSTACK
#define STACK_SPACE DMDATA
#define Stack_Space_Name seg_stak

#define frame_ptr I6
#define stack_ptr I7
#define frame_stk DM(0,I6)

#define stack_0 M5
#define stack_1 M6
#define stack_M1 M7

#define stack_breg B4
#define stack_ireg I4
#define stack_mreg M4
#define stack_lreg L4

/*  These routines push/pop values to/from the stack*/
#define get(a,b) a=DM(b,I7)
#define put(a) DM(I7,M7)=a
#define alter(a) MODIFY(I7,a)

#ifdef REGPASS
#define reads(a,b) a=DM(b,I6)
#define readparam4(a) a=DM(1,I6)
#define readparam5(a) a=DM(2,I6)
#define readparam6(a) a=DM(3,I6)
#define readparam7(a) a=DM(4,I6)
#define readparam8(a) a=DM(5,I6)
#define readparam9(a) a=DM(6,I6)
#endif

/*  This routine access stack memory */
#define stackmem(i,m) DM(i,m)
#define stackvar(a) DM(a)
#endif

#ifdef DMCONST
#define	SPACE DMDATA
#define Data_Space_Name seg_dmda

#define b_reg B4
#define i_reg I4
#define m_reg M4
#define l_reg L4

#define mem(i,m) DM(i,m)
#endif

#ifdef DMRAM
#define RAM_SPACE DMDATA
#define Ram_Space_Name seg_dmda

#define ram_breg B4
#define ram_ireg I4
#define ram_mreg M4
#define ram_lreg L4

#define ram_0 M5
#define ram_1 M6
#define ram_M1 M7

#define rammem(i,m) DM(i,m)
#define ramvar(a) DM(a)
#endif

#define DMDATA DM
#define PMDATA PM
#define CODE   PM

/* Bits in MODE1 register */

#define M_BR8	0x1
#define M_BR0	0x2
#define M_SRCU	0x4
#define M_SRD1H	0x8
#define M_SRD1L	0x10
#define M_SRD2H 0x20
#define M_SRD2L 0x40
#define M_SRRFH 0x80
/* reserved 	0x100 */
/* reserved	0x200 */
#define M_SRRFL 0x400
#define M_NESTM 0x800
#define M_IRPTEN	0x1000
#define M_ALUSAT	0x2000
#define M_SSE	0x4000
#define M_TRUNC 0x8000
#define M_RND32	0x10000
#define M_CSEL	0x60000	/* bus master 00 */


/* IRPTL and IMASK values */
/* reserved	0x1 */
#define I_RSTI	0x2
/* reserved	0x4 */
#define I_SOVFI	0x8
#define I_TMZHI	0x10

#if defined(__ADSP21000__) || defined(__ADSP21010__) || defined(__ADSP21020__)

#define I_IRQ3I	0x20
#define I_IRQ2I	0x40
#define I_IRQ1I	0x80
#define I_IRQ0I	0x100
/* reserved 0x200 */
/* reserved 0x400 */
#define I_CB7I	0x800
#define I_CB15I	0x1000
/* reserved 0x2000*/
#define I_TMZLI	0x4000
#define I_FIXI	0x8000
#define I_FLTOI 0x10000
#define I_FLTUI	0x20000
#define I_FLTII	0x40000
/* reserved 0x80000-0x800000 */
#define I_SFT0I 0x1000000
#define I_SFT1I	0x2000000
#define I_SFT2I	0x4000000
#define I_SFT3I	0x8000000
#define I_SFT4I	0x10000000
#define I_SFT5I	0x20000000
#define I_SFT6I	0x40000000
#define I_SFT7I	0x80000000

#else

#define I_VIRPTI	0x20
#define I_IRQ2I	0x40
#define I_IRQ1I	0x80
#define I_IRQ0I	0x100
/* reserved	0x200 */
#define I_SPR0I	0x400
#define I_SPR1I	0x800
#define I_SPT0I	0x1000
#define I_SPT1I 0x2000

#if defined (__ADSP21160__)

#define I_IICDI	0x4
#define I_EP0I	0x8000
#define I_EP1I	0x10000
#define I_EP2I	0x20000
#define I_EP3I	0x40000
#define I_LSRQI	0x80000
#define I_CB7I	0x100000
#define I_CB15I	0x200000
#define I_TMZLI	0x400000
#define I_FIXI	0x800000
#define I_FLTOI	0x1000000
#define I_FLTUI	0x2000000
#define I_FLTII	0x4000000
#define I_SFT0I	0x8000000
#define I_SFT1I	0x10000000
#define I_SFT2I	0x20000000
#define I_SFT3I	0x40000000

#else

#define I_LP2I	0x4000
#define I_SP3I	0x8000
#define I_EP0I	0x10000
#define I_EP1I	0x20000
#define I_EP2I	0x40000
#define I_EP3I	0x80000
#define I_LSRQI	0x100000
#define I_CB7I	0x200000
#define I_CB15I	0x400000
#define I_TMZLI	0x800000
#define I_FIXI	0x1000000
#define I_FLTOI	0x2000000
#define I_FLTUI	0x4000000
#define I_FLTII	0x8000000
#define I_SFT0I	0x10000000
#define I_SFT1I	0x20000000
#define I_SFT2I	0x40000000
#define I_SFT3I	0x80000000

#endif	/* 21160 */

#endif	/* 2106x */

#define ctxt_off_errno           0
#define ctxt_off_rand_seed       1
#define ctxt_off_start_of_string 2
#define ctxt_off_memory_type     3
#define ctxt_record_size         4

⌨️ 快捷键说明

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