📄 u_ram_data.h
字号:
/******************************************************************************
* File name : rom_data.h
* Module name : A definition of a RAM variable
* Author : Hiromichi.Kondo
*-----------------------------------------------------------------------------
* $Id: ram_data.h,v 1.1 2003/04/16 06:56:40 9551619 Exp $
*****************************************************************************/
#ifndef _RAM_DATA_H_
#define _RAM_DATA_H_
#include "u_macro.h"
#include "u_value.h"
#include "u_regNikka.h"
/***************************************
***************************************/
GLOBAL S_rMainIntStat main_int_stat; /* Main */
GLOBAL S_rSIE_IntStat sie_int_stat; /* SIE */
GLOBAL S_rEPrIntStat epr_int_stat; /* EPr */
GLOBAL S_rDMA_IntStat dma_int_stat; /* DMA */
GLOBAL S_rFIFO_IntStat fifo_int_stat; /* FIFO */
GLOBAL S_rEP0IntStat ep0_int_stat; /* EP0 */
GLOBAL S_rEPaIntStat epa_int_stat; /* EPa */
GLOBAL S_rEPbIntStat epb_int_stat; /* EPb */
GLOBAL S_rEPcIntStat epc_int_stat; /* EPc */
GLOBAL BYTE control_state; /* Control
00h
01h
02h
03h
04h
05h
06h
07h
08h IDLE
*/
GLOBAL BYTE bulk_in_state; /* Bulk IN
00h Bulk IN
01h Bulk IN
02h IDLE
03h STALL
*/
GLOBAL BYTE bulk_out_state; /* Bulk OUT
00h Bulk OUT
01h Bulk OUT
02h IDLE
03h STALL
*/
GLOBAL BYTE int_in_state; /* Interrupt IN
00h Interrupt IN
01h Interrupt IN
02h IDLE
03h STALL
*/
GLOBAL BYTE device_state; /* Device
00h
01h
02h
03h CSW
*/
GLOBAL BYTE protocol_phase; /*
00h
01h
02h
03h
*/
typedef struct {
BYTE RcvCommand:1; /* */
BYTE WaitCBW:1; /* CBW */
BYTE Reserved5:1; /* Reserved */
BYTE Reserved4:1; /* Reserved */
BYTE Reserved3:1; /* Reserved */
BYTE Reserved2:1; /* Reserved */
BYTE Reserved1:1; /* Reserved */
BYTE Reserved0:1; /* Reserved */
} DeviceFlag;
GLOBAL DeviceFlag device_flag; /* Device */
typedef struct {
BYTE Attach:1; /* Attach */
BYTE Detach:1; /* Detach */
BYTE Reset:1; /* USB Reset */
BYTE Suspend:1; /* Suspend */
BYTE Reserved3:1; /* Reserved */
BYTE Reserved2:1; /* Reserved */
BYTE Reserved1:1; /* Reserved */
BYTE Reserved0:1; /* Reserved */
} SpecialFlag;
GLOBAL SpecialFlag special_flag; /* */
GLOBAL BYTE timer0_cnt; /* Timer0 */
GLOBAL BYTE timer1_cnt; /* Timer1 */
GLOBAL DWORD wk_lba;
GLOBAL DWORD wk_cnt; /* */
GLOBAL BYTE *wk_ptr; /* */
GLOBAL BYTE cmd_status; /* */
/***************************************
USB
**************************************/
GLOBAL int vbus_on_1st; // VBUS
GLOBAL BYTE usb_state; /* USB
00h Default State
01h Address State
02h Configured State
*/
GLOBAL WORD desc_addr_fs_device; /* FSDevice Descriptor */
GLOBAL WORD desc_addr_fs_config; /* FSConfiguration Descriptor */
GLOBAL WORD desc_addr_string[NUM_STRING]; /* String Descriptor */
GLOBAL BYTE ep_number[NUM_ENDPOINT]; /* Endpoint Number */
typedef struct {
BYTE USBReqRcvd:1; /* USB */
BYTE Init:1; /* */
BYTE Address:1; /* Address */
BYTE TestMode:1; /* TestMode */
BYTE ReplyDescriptor:1; /* Descriptor */
BYTE Reserved2:1; /* */
BYTE RemoteWakeup:1; /* Remote Wakeup */
BYTE EnbRemoteWakeup:1; /* Remote Wakeup/(1:,0:) */
} USBFlag;
GLOBAL USBFlag usb_flag; /* USB */
GLOBAL BYTE tran_protocol; /*
00h BulkOnly
01h CBI
*/
GLOBAL BYTE *tran_start_addr; /* */
GLOBAL WORD req_tran_cnt; /* */
GLOBAL WORD total_tran_cnt; /* */
GLOBAL WORD actual_tran_cnt; /* */
GLOBAL BYTE retry_cnt_0; /* EP0 */
GLOBAL BYTE retry_cnt_a; /* EPa */
GLOBAL BYTE retry_cnt_b; /* EPb */
GLOBAL BYTE retry_cnt_c; /* EPc */
GLOBAL BYTE usb_wk_data[256]; /* USB */
GLOBAL BYTE control_result; /* Control
00h No Result
01h EP0OutACK
02h EP0OutNAK
03h EP0OutERR
04h EP0InACK
05h EP0InNAK
06h EP0InERR
*/
GLOBAL BYTE bulk_in_result; /* Bulk IN */
GLOBAL BYTE bulk_out_result; /* Bulk OUT */
GLOBAL BYTE int_in_result; /* Interrupt IN
00h No Result
01h EPxOutACK
02h EPxOutNAK
03h EPxOutERR
04h EPxInACK
05h EPxInNAK
06h EPxInERR
07h FIFO_IN_CMP
08h FIFO_OUT_CMP
*/
GLOBAL BYTE assigned_addr; /* */
GLOBAL BYTE max_pkt_size_0; /* EP0MaxPacketSize */
GLOBAL WORD max_pkt_size_a; /* EPaMaxPacketSize */
GLOBAL WORD max_pkt_size_b; /* EPbMaxPacketSize */
GLOBAL WORD max_pkt_size_c; /* EPcMaxPacketSize */
GLOBAL BYTE current_alt_set; /* AlternateSetting */
/***************************************
Device
***************************************/
GLOBAL BYTE cbw[31]; /* CBW */
GLOBAL BYTE csw[13]; /* CSW */
GLOBAL BYTE cmd_block[12]; /* ATAPI */
GLOBAL BYTE sense_data[3]; /* */
GLOBAL BYTE usb_wk_buf[LBA_DATA_BUFF_MAX]; /* USB Bulk Data work Buffer 64kb */
GLOBAL unsigned int sram_start_addr; /* RAMDISK START addr */
GLOBAL DWORD last_lba; /* LBA */
GLOBAL DWORD block_size; /* */
GLOBAL BYTE *bulk_tran_start_addr; /* Bulk */
GLOBAL DWORD bulk_req_tran_cnt; /* Bulk */
GLOBAL DWORD bulk_total_tran_cnt; /* Bulk */
GLOBAL DWORD bulk_actual_tran_cnt; /* Bulk */
typedef struct {
BYTE PowerOnReset:1; /* PowerOn or Reset */
BYTE Reserved6:1; /* Reserved */
BYTE Reserved5:1; /* Reserved */
BYTE Reserved4:1; /* Reserved */
BYTE Reserved3:1; /* Reserved */
BYTE Reserved2:1; /* Reserved */
BYTE Reserved1:1; /* Reserved */
BYTE Reserved0:1; /* Reserved */
} AttenFlag;
GLOBAL AttenFlag atten_flag; /* */
typedef struct {
BYTE XferCmp:1; /* */
BYTE Reserved6:1; /* Bit6 Reserved */
BYTE Reserved5:1; /* Bit5 Reserved */
BYTE Reserved4:1; /* Bit4 Reserved */
BYTE Reserved3:1; /* Bit3 Reserved */
BYTE Reserved2:1; /* Bit2 Reserved */
BYTE Direction:1; /* Bit1 (1:IN,0:OUT) */
BYTE DMA:1; /* Bit0 DMA */
} TranFlag;
GLOBAL TranFlag tran_flag; /* */
GLOBAL BYTE wk_data[2048]; /* Device */
GLOBAL DWORD ata_lba; /* LBA */
GLOBAL BYTE *mode_data_addr; /* Mode Page */
GLOBAL BYTE *mode_chg_addr; /* Changeable Page */
GLOBAL BYTE mode_data_cnt; /* Mode Page */
GLOBAL BYTE test_unit_ready_cnt;
GLOBAL DWORD DiagRegErrorCount;
GLOBAL DWORD DiagFIFOErrorCount;
#ifdef DEBUG_PRINT
GLOBAL char sci_rxdata[64];
GLOBAL int sci_rxoffset;
GLOBAL char sci_txdata[64];
GLOBAL int sci_txoffset;
GLOBAL int sci_rxbusy;
GLOBAL int sci_rxerror;
GLOBAL int sci_txbusy;
GLOBAL unsigned long rs232c_dumpaddr;
GLOBAL int rs232c_dumpline;
GLOBAL int sci_msgon;
typedef struct {
BYTE rs232c_rx:1;
BYTE rs232c_tx:1;
BYTE Reserved:6;
} RS232CFLAG;
GLOBAL RS232CFLAG rs232c_flag;
/* */
GLOBAL DWORD USBResetCount;
GLOBAL DWORD EP0INErrorCount;
GLOBAL DWORD EP0OUTErrorCount;
GLOBAL DWORD INErrorCount;
GLOBAL DWORD OUTErrorCount;
#endif /* DEBUG_PRINT */
#endif /* RAM_DATA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -