📄 map.h
字号:
/************************************************************************
* C-EMERALD code for ACCORDO ( 15 - 05 - 2003 )
* Ver: ver0.2
*
* File: map.h (memory and hw map)
*
* Author: A. Di Carlo
************************************************************************/
#define AC_IN DEC0
#define BD_IN DEC1
#define E_IN DEC2
#define F_IN DEC3
#define HFL_IN DEC4
#define TE_IN DEC6
#define TEST_IN DEC7
#define DEFFOK (((int)GPIO_R & 0x01) >> 0)
#define DEFACQ (((int)GPIO_R & 0x02) >> 1)
#if 0
#define NTRACKS_IS_OK (((int)GPIO_R & 0x10) >> 4)
#define NTRACKS_IS_ZERO (((int)GPIO_R & 0x20) >> 5)
#define NTRACKS_IS_POSITIVE (((int)GPIO_R & 0x40) >> 6)
#define TZCX (((int)GPIO_R & 0x08) >> 3)
#endif
#define memoryY fraction _YMEM
#define memoryX fraction _XMEM
#define DX_REG fraction _dx
#define DY_REG fraction _dy
#define ACC_REG fraction _acc
#define sign_diff(A,B) (((A) - (B)) >> 16) /* if A >= B --> 0 */
/* Reserved memory locations */
/* --------------------------*/
#pragma absolute reserved @ 0x10
/* Parameter variables accessed by both the ARM and the DSP */
/* -------------------------------------------------------- */
#pragma absolute coeff_focus @ COEFF_FOCUS_ADD
#pragma absolute delay_focus @ DELAY_FOCUS_ADD
#pragma absolute coeff_tracking @ COEFF_TRACKING_ADD
#pragma absolute delay_tracking @ DELAY_TRACKING_ADD
#pragma absolute coeff_error @ COEFF_ERROR_ADD
#pragma absolute coeff_sledge @ COEFF_SLEDGE_ADD
#pragma absolute coeff_clv @ COEFF_CLV_ADD
#pragma absolute coeff_misc @ COEFF_MISC_ADD
#pragma absolute fcs_off @ FCS_OFFSET_ADD
#pragma absolute fok_thr @ FOK_THR_ADD
#pragma absolute fok_tdn @ FOK_TDN_ADD
#pragma absolute fok_tup @ FOK_TUP_ADD
#pragma absolute trk_off @ TRK_OFFSET_ADD
#pragma absolute te_thr @ TE_THR_ADD
#pragma absolute adjust_flags @ ADJUST_FLAGS_ADD
#pragma absolute temin @ TEMIN_ADD
#pragma absolute temax @ TEMAX_ADD
#pragma absolute femin @ FEMIN_ADD
#pragma absolute femax @ FEMAX_ADD
#pragma absolute ramp_mode @ RAMP_MODE_ADD
#pragma absolute ramp_step @ RAMP_STEP_ADD
#pragma absolute ramp_max @ RAMP_MAX_ADD
#pragma absolute ramp_min @ RAMP_MIN_ADD
#pragma absolute fe_cmp @ FE_CMP_ADD
#pragma absolute hyst @ HYST_ADD
#pragma absolute vib_gain @ VIB_GAIN_ADD
#pragma absolute gainadj @ GAINADJ_ADD
#pragma absolute tawin @ TAWIN_ADD
#pragma absolute sledtime @ SLEDTIME_ADD
#pragma absolute disc_mode @ DISC_MODE_ADD
#pragma absolute spindle_kick @ SPINDLE_KICK_ADD
#pragma absolute target_p1T @ TARGET_P1T_ADD
#pragma absolute clv_ds @ TTM_DOWNSAMPLING_ADD
#pragma absolute sledpulse_fwd_amp @ SLEDPULSE_FWD_AMP_ADD
#pragma absolute sledpulse_bwd_amp @ SLEDPULSE_BWD_AMP_ADD
#pragma absolute sledpulse_fwd_time @ SLEDPULSE_FWD_TIME_ADD
#pragma absolute sledpulse_bwd_time @ SLEDPULSE_BWD_TIME_ADD
#pragma absolute jump_mode @ JUMP_MODE_ADD
#pragma absolute jmp_dir @ JMP_DIR_ADD
#pragma absolute def_ena @ DEF_ENA_ADD
#pragma absolute wd_cnt_max @ WD_CNT_MAX_ADD
#pragma absolute int_mode @ MODE_ADD
#pragma absolute cav_period_err_max @ CAV_PERIOD_ERR_MAX_ADD
#pragma absolute clv_freq_err_max @ CLV_FREQ_ERR_MAX_ADD
#pragma absolute clv_phase_err_max @ CLV_PHASE_ERR_MAX_ADD
#pragma absolute spdl_limit_min @ SPDL_LIMIT_MIN_ADD /* MR20050523c */
#pragma absolute spdl_limit_max @ SPDL_LIMIT_MAX_ADD /* MR20050523c */
#pragma absolute ttm_recov_ic @ TTM_RECOV_IC_ADD /* MR20050523b */
#pragma absolute nlc_alpha @ NLC_ALPHA_ADD /* Gain (slope) of deadzone (set by ARM). */
#pragma absolute nlc_delta @ NLC_DELTA_ADD /* Threshold of deadzone (set by ARM). */
#pragma absolute agc_minmax_nr_cycles @ AGC_MINMAX_NR_CYCLES_ADD
#pragma absolute agc_minmax_threshold @ AGC_MINMAX_THRESHOLD_ADD
#pragma absolute proc_enable @ PROC_ENABLE_ADD
#pragma absolute def_tdn @ DEF_TDN_ADD
#pragma absolute def_tup @ DEF_TUP_ADD
#pragma absolute bw_switch @ BW_SWITCH_ADD
#pragma absolute clv_buffer_ok_thres @ CLV_BUFFER_OK_THRES_ADD
/* DSP state variable accessed by both ARM and DSP */
/* ----------------------------------------------- */
#pragma absolute dsp_state @ DSP_STATE_ADD
/* Local variables and signals, accessed by the DSP only */
/* ------------------------------------------------------*/
#pragma absolute delay_clv @ DELAY_CLV_ADD
#if (1 == OPTIMIZED_DEC || 1 == DEBUG_DSP || 2 == DEBUG_DSP)
/* These variables are located in the same order as listed here because */
/* in the optimized code they are treated as an array. */
/* Also in case of debugging these signal should be visible. */
#pragma absolute fe @ FE_ADD
#pragma absolute fa @ FA_ADD
#pragma absolute fa2 @ FA2_ADD
#pragma absolute te @ TE_ADD
#pragma absolute ta @ TA_ADD
#pragma absolute ta2 @ TA2_ADD
#pragma absolute hfl @ HFL_ADD
#pragma absolute fedec @ FEDEC_ADD
#pragma absolute fadec @ FADEC_ADD
#pragma absolute fa2dec @ FA2DEC_ADD
#pragma absolute tedec @ TEDEC_ADD
#pragma absolute tadec @ TADEC_ADD
#pragma absolute ta2dec @ TA2DEC_ADD
#pragma absolute hfldec @ HFLDEC_ADD
#pragma absolute hfdc @ HFDC_ADD
#endif
#if (1 == OPTIMIZED_DEC)
/* These variables are located in the same order as listed here because */
/* in the optimized code they are treated as an array. */
#pragma absolute fedec_var @ FEDEC_VAR_ADD
#pragma absolute fadec_var @ FADEC_VAR_ADD
#pragma absolute fa2dec_var @ FA2DEC_VAR_ADD
#pragma absolute tedec_var @ TEDEC_VAR_ADD
#pragma absolute tadec_var @ TADEC_VAR_ADD
#pragma absolute ta2dec_var @ TA2DEC_VAR_ADD
#pragma absolute hfldec_var @ HFLDEC_VAR_ADD
#endif
/* Extra signals, used for debuging only */
/* --------------------------------------*/
#if (1 == DEBUG_DSP || 2 == DEBUG_DSP)
#pragma absolute pdm_out1 @ PDM_OUT1_ADD
#pragma absolute pdm_out2 @ PDM_OUT2_ADD
#pragma absolute amp1 @ AMP1_ADD
#pragma absolute amp2 @ AMP2_ADD
#pragma absolute stima @ STIMA_ADD
#pragma absolute clv_freq_err @ CLV_FREQ_ERR_ADD
#pragma absolute clv_phase_err @ CLV_PHASE_ERR_ADD
#pragma absolute te_pid_in @ TE_PID_IN_ADD
#pragma absolute ac_in @ AC_ADD
#pragma absolute bd_in @ BD_ADD
#pragma absolute e_in @ E_ADD
#pragma absolute f_in @ F_ADD
#pragma absolute hf_deb @ HF_DEB_ADD
#endif
#if (2 == DEBUG_DSP)
#pragma absolute pdm_out1c @ PDM_OUT1C_ADD
#pragma absolute pdm_out2c @ PDM_OUT2C_ADD
#pragma absolute gpio_out @ GPIO_OUT_ADD
#pragma absolute gpio_outc @ GPIO_OUTC_ADD
#pragma absolute gpio_mask @ GPIO_MASK_ADD
#endif
/* Defines */
/* ------- */
/* Definition of mailboxes. */
/* ------------------------ */
/* CPU_M_0 */ /* Mailbox 0 not used */
#define DSPWRADD CPU_M_1 /* Write address for accessing X/Y memory */
#define DSPRDADD CPU_M_2 /* Read address for accessing X/Y memory */
#define DSPWRDAT CPU_M_3 /* Data to be written to X/Y memory */
#define FLAGS_PC CPU_M_4
#define ARM_COM_CODE CPU_M_5 /* Value sent to ARM through mailbox CPU_M_13 to indicate the X/Y memory access has been completed */
#define DSP_EVENT_ACK CPU_M_6 /* Value sent to ARM through mailbox CPU_M_13 to indicate the X/Y memory access has been completed */
#define FLAGS CPU_M_7 /* Indicates whether a X/Y memory access accesses the X or Y memory (bit 7 and 8) and whether it is a read/write or only read access (bit 15) */
#define DSP_EVENT_CODE CPU_M_8 /* Writing to this mailbox genereates an interrupt on the ARM, used generating events and conveing the DSP event code */
#define DSPRDDAT CPU_M_9 /* Data read for X/Y memory */
#define DSP_PREV_STATE CPU_M_10 /* Previous DSP state */
#define DSP_STATE CPU_M_11 /* Current DSP state */
/* CPU_M_12 */ /* Mailbox 12 not used */
#define ARM_ACK CPU_M_13 /* Acknowledge to ARM that X/Y memory access has finished */
/* CPU_M_14 */ /* Mailbox 14 not used */
/* Defines for flags_pc variable */
/* ----------------------------- */
#define FCR_ON_INT ((int)FLAGS_PC & FCR_ON) /* Test whether or not to activate the focus controller */
#define TCR_ON_INT ((int)FLAGS_PC & TCR_ON) /* Test whether or not to activate the radial controller */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -