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

📄 hal_if.h

📁 移植到WLIT项目的redboot源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define CYGNUM_CALL_IF_FLUSH_ICACHE               8#define CYGNUM_CALL_IF_CPU_DATA                   9#define CYGNUM_CALL_IF_BOARD_DATA                 10#define CYGNUM_CALL_IF_SYSINFO                    11#define CYGNUM_CALL_IF_SET_DEBUG_COMM             12#define CYGNUM_CALL_IF_SET_CONSOLE_COMM           13#define CYGNUM_CALL_IF_SET_SERIAL_BAUD            14#define CYGNUM_CALL_IF_DBG_SYSCALL                15#define CYGNUM_CALL_IF_RESET                      16#define CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG     17#define CYGNUM_CALL_IF_DELAY_US                   18#define CYGNUM_CALL_IF_DBG_DATA                   19#define CYGNUM_CALL_IF_LAST_ENTRY                 CYGNUM_CALL_IF_DBG_DATA#define CYGNUM_CALL_IF_INSTALL_BPT_FN             35#define CYGNUM_CALL_IF_TABLE_SIZE                 64externC volatile CYG_ADDRWORD hal_virtual_vector_table[CYGNUM_CALL_IF_TABLE_SIZE];// Table version is simply the number of the last active entry in the table// (except INSTALL_BPT_FN since it's so high).#define CYGNUM_CALL_IF_TABLE_VERSION              CYGNUM_CALL_IF_LAST_ENTRY// These are special debug/console procs IDs// QUERY_CURRENT will cause the ID of the currently selected proc ID to be//               returned.// EMPTY         this is the ID used for an empty procs table (i.e, NULL//               pointer)// MANGLER       selects the procs space reserved for the console mangler//               allowing the application to temporarily disable mangling//               or temporarily switch in different console procs.#define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT -1#define CYGNUM_CALL_IF_SET_COMM_ID_EMPTY         -2#define CYGNUM_CALL_IF_SET_COMM_ID_MANGLER       -3// The below is a (messy) attempt at adding some type safety to the// above array. At the same time, the accessors allow the// implementation to be easily changed in the future (both tag->data// table and structure implementations have been suggested).typedef int __call_if_version_t;#define CYGACC_CALL_IF_VERSION() \ ((__call_if_version_t)hal_virtual_vector_table[CYGNUM_CALL_IF_VERSION])#define CYGACC_CALL_IF_VERSION_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_VERSION]=(CYG_ADDRWORD)(_x_)typedef void* __call_if_ictrl_table_t;#define CYGACC_CALL_IF_ICTRL_TABLE() \ ((__call_if_ictrl_table_t)hal_virtual_vector_table[CYGNUM_CALL_IF_ICTRL_TABLE])#define CYGACC_CALL_IF_ICTRL_TABLE_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_ICTRL_TABLE]=(CYG_ADDRWORD)(_x_)typedef void* __call_if_exc_table_t;#define CYGACC_CALL_IF_EXC_TABLE() \ ((__call_if_exc_table_t)hal_virtual_vector_table[CYGNUM_CALL_IF_EXC_TABLE])#define CYGACC_CALL_IF_EXC_TABLE_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_EXC_TABLE]=(CYG_ADDRWORD)(_x_)typedef bsp_handler_t *__call_if_dbg_vector_t;#define CYGACC_CALL_IF_DBG_VECTOR() \ ((__call_if_dbg_vector_t)hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_VECTOR])#define CYGACC_CALL_IF_DBG_VECTOR_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_VECTOR]=(CYG_ADDRWORD)(_x_)typedef bsp_handler_t __call_if_kill_vector_t;#define CYGACC_CALL_IF_KILL_VECTOR() \ ((__call_if_kill_vector_t)hal_virtual_vector_table[CYGNUM_CALL_IF_KILL_VECTOR])#define CYGACC_CALL_IF_KILL_VECTOR_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_KILL_VECTOR]=(CYG_ADDRWORD)(_x_)typedef hal_virtual_comm_table_t *__call_if_console_procs_t;#define CYGACC_CALL_IF_CONSOLE_PROCS() \ ((__call_if_console_procs_t)hal_virtual_vector_table[CYGNUM_CALL_IF_CONSOLE_PROCS])#define CYGACC_CALL_IF_CONSOLE_PROCS_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_CONSOLE_PROCS]=(CYG_ADDRWORD)(_x_)typedef hal_virtual_comm_table_t *__call_if_debug_procs_t;#define CYGACC_CALL_IF_DEBUG_PROCS() \ ((__call_if_debug_procs_t)hal_virtual_vector_table[CYGNUM_CALL_IF_DEBUG_PROCS])#define CYGACC_CALL_IF_DEBUG_PROCS_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_DEBUG_PROCS]=(CYG_ADDRWORD)(_x_)typedef void (*__call_if_flush_dcache_t)(void *__p, int __nbytes);#define CYGACC_CALL_IF_FLUSH_DCACHE(_p_, _n_) \ ((__call_if_flush_dcache_t)hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_DCACHE])((_p_), (_n_))#define CYGACC_CALL_IF_FLUSH_DCACHE_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_DCACHE]=(CYG_ADDRWORD)(_x_)typedef void (*__call_if_flush_icache_t)(void *__p, int __nbytes);#define CYGACC_CALL_IF_FLUSH_ICACHE(_p_, _n_) \ ((__call_if_flush_icache_t)hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_ICACHE])((_p_), (_n_))#define CYGACC_CALL_IF_FLUSH_ICACHE_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_ICACHE]=(CYG_ADDRWORD)(_x_)typedef void* __call_if_cpu_data_t;#define CYGACC_CALL_IF_CPU_DATA() \ ((__call_if_cpu_data_t)hal_virtual_vector_table[CYGNUM_CALL_IF_CPU_DATA])#define CYGACC_CALL_IF_CPU_DATA_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_CPU_DATA]=(CYG_ADDRWORD)(_x_)typedef void* __call_if_board_data_t;#define CYGACC_CALL_IF_BOARD_DATA() \ ((__call_if_board_data_t)hal_virtual_vector_table[CYGNUM_CALL_IF_BOARD_DATA])#define CYGACC_CALL_IF_BOARD_DATA_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_BOARD_DATA]=(CYG_ADDRWORD)(_x_)typedef int (*__call_if_sysinfo_t)(int __id, void* __ap);//typedef int (*__call_if_sysinfo_t)(enum bsp_info_id __id, va_list __ap);#define CYGACC_CALL_IF_SYSINFO(_i_, _a_) \ ((__call_if_sysinfo_t)hal_virtual_vector_table[CYGNUM_CALL_IF_SYSINFO])((_i_), (_a_))#define CYGACC_CALL_IF_SYSINFO_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_SYSINFO]=(CYG_ADDRWORD)(_x_)typedef int (*__call_if_set_debug_comm_t)(int __comm_id);#define CYGACC_CALL_IF_SET_DEBUG_COMM(_i_) \ ((__call_if_set_debug_comm_t)hal_virtual_vector_table[CYGNUM_CALL_IF_SET_DEBUG_COMM])((_i_))#define CYGACC_CALL_IF_SET_DEBUG_COMM_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_SET_DEBUG_COMM]=(CYG_ADDRWORD)(_x_)typedef int (*__call_if_set_console_comm_t)(int __comm_id);#define CYGACC_CALL_IF_SET_CONSOLE_COMM(_i_) \ ((__call_if_set_console_comm_t)hal_virtual_vector_table[CYGNUM_CALL_IF_SET_CONSOLE_COMM])((_i_))#define CYGACC_CALL_IF_SET_CONSOLE_COMM_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_SET_CONSOLE_COMM]=(CYG_ADDRWORD)(_x_)typedef int (*__call_if_set_serial_baud_t)(int __comm_id, int __baud);#define CYGACC_CALL_IF_SET_SERIAL_BAUD(_i_, _b_) \ ((__call_if_set_serial_baud_t)hal_virtual_vector_table[CYGNUM_CALL_IF_SET_SERIAL_BAUD])((_i_), (_b_))#define CYGACC_CALL_IF_SET_SERIAL_BAUD_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_SET_SERIAL_BAUD]=(CYG_ADDRWORD)(_x_)typedef void* __call_if_dbg_data_t;#define CYGACC_CALL_IF_DBG_DATA() \ ((__call_if_dbg_data_t)hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_DATA])#define CYGACC_CALL_IF_DBG_DATA_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_DATA]=(CYG_ADDRWORD)(_x_)typedef int (*__call_if_dbg_syscall_t) (enum dbg_syscall_ids id,                                        union dbg_thread_syscall_parms  *p );#define CYGACC_CALL_IF_DBG_SYSCALL() \ ((__call_if_dbg_syscall_t)hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_SYSCALL])#define CYGACC_CALL_IF_DBG_SYSCALL_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_SYSCALL]=(CYG_ADDRWORD)(_x_)typedef void (*__call_if_reset_t)(void);#define CYGACC_CALL_IF_RESET() \ ((__call_if_reset_t)hal_virtual_vector_table[CYGNUM_CALL_IF_RESET])()#define CYGACC_CALL_IF_RESET_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_RESET]=(CYG_ADDRWORD)(_x_)#define CYGACC_CALL_IF_RESET_GET() \ ((__call_if_reset_t)hal_virtual_vector_table[CYGNUM_CALL_IF_RESET])typedef int __call_if_console_interrupt_flag_t;#define CYGACC_CALL_IF_CONSOLE_INTERRUPT_FLAG() \ ((__call_if_console_interrupt_flag_t)hal_virtual_vector_table[CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG])#define CYGACC_CALL_IF_CONSOLE_INTERRUPT_FLAG_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG]=(CYG_ADDRWORD)(_x_)typedef void (*__call_if_delay_us_t)(cyg_int32 usecs);#define CYGACC_CALL_IF_DELAY_US(_u_) \ ((__call_if_delay_us_t)hal_virtual_vector_table[CYGNUM_CALL_IF_DELAY_US])((_u_))#define CYGACC_CALL_IF_DELAY_US_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_DELAY_US]=(CYG_ADDRWORD)(_x_)typedef void (*__call_if_install_bpt_fn_t)(void *__epc);#define CYGACC_CALL_IF_INSTALL_BPT_FN(_e_) \ ((__call_if_install_bpt_fn_t)hal_virtual_vector_table[CYGNUM_CALL_IF_INSTALL_BPT_FN])((_e_))#define CYGACC_CALL_IF_INSTALL_BPT_FN_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_INSTALL_BPT_FN]=(CYG_ADDRWORD)(_x_)//--------------------------------------------------------------------------// Diag wrappers.externC void hal_if_diag_init(void);externC void hal_if_diag_write_char(char c);externC void hal_if_diag_read_char(char *c);//--------------------------------------------------------------------------// Ctrl-c support.externC cyg_uint32 hal_ctrlc_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data);externC cyg_bool   hal_ctrlc_check(CYG_ADDRWORD vector, CYG_ADDRWORD data);#define HAL_CTRLC_ISR hal_ctrlc_isr#define HAL_CTRLC_CHECK hal_ctrlc_check#endif // CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT//--------------------------------------------------------------------------// Functions provided by the HAL interface.externC void hal_if_init(void);//--------------------------------------------------------------------------// Configuration control for the interface services.// When this is set, code should initialize the vector table wherever// appropriate.#if	!defined(CYG_HAL_STARTUP_RAM) ||		\	(	defined(CYG_HAL_STARTUP_RAM) &&		\		!defined(CYGSEM_HAL_USE_ROM_MONITOR))# define CYGPRI_HAL_IMPLEMENTS_IF_SERVICES#endif//-----------------------------------------------------------------------------#endif // CYGONCE_HAL_HAL_IF_H// End of hal_if.h

⌨️ 快捷键说明

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