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

📄 temp.h

📁 此压缩包为杰得开发得z228的BSP的源代码,可以实现很多功能,尤其是视频解码有很好的效果.
💻 H
字号:
#ifndef __TEMP_H__
#define __TEMP_H__

#include <windows.h>
//#include "F:\WINCE500\PLATFORM\Z228\SRC\INC\platform.h"


// These defines determine which GPIO devices should be accessed
//#define GPIO2   TRUE
//#define GPIO3 TRUE
//#define GPIO4 TRUE

#define DWORD unsigned long

#define GPIO1_BASE  PHYS_GPIO5_BASE
#define GPIO2_BASE  PHYS_GPIO6_BASE


#define GPIO1_PIN_MASK  0x000000FF
#define GPIO2_PIN_MASK  0x0000FF00
#define GPIO3_PIN_MASK  0x00FF0000
#define GPIO4_PIN_MASK  0xFF000000

//typedef struct tagGPIORegisters {
typedef struct  tagGPIORegisters
{
    DWORD   GPIOData;               // GPIO_BASE
    DWORD   Padding1[255];          // GPIO_BASE + 0x004
    DWORD   GPIODir;                // GPIO_BASE + 0x400
    DWORD   GPIOIS;                 // GPIO_BASE + 0x404
    DWORD   GPIOIBE;                // GPIO_BASE + 0x408
    DWORD   GPIOIEV;                // GPIO_BASE + 0x40C
    DWORD   GPIOIE;                 // GPIO_BASE + 0x410
    DWORD   GPIORIS;                // GPIO_BASE + 0x414
    DWORD   GPIOMIS;                // GPIO_BASE + 0x418
    DWORD   GPIOIC;                 // GPIO_BASE + 0x41C
    DWORD   GPIOAFSEL;              // GPIO_BASE + 0x420

    DWORD   Padding2[751];          // GPIO_BASE + 0x424

    DWORD   GPIOPeriphID0;          // GPIO_BASE + 0xFE0
    DWORD   GPIOPeriphID1;          // GPIO_BASE + 0xFE4
    DWORD   GPIOPeriphID2;          // GPIO_BASE + 0xFE8
    DWORD   GPIOPeriphID3;          // GPIO_BASE + 0xFEC

    DWORD   GPIOCellID0;            // GPIO_BASE + 0xFF0
    DWORD   GPIOCellID1;            // GPIO_BASE + 0xFF4
    DWORD   GPIOCellID2;            // GPIO_BASE + 0xFF8
    DWORD   GPIOCellID3;            // GPIO_BASE + 0xFFC
}GPIO_REGS, *PGPIO_REGS;

/*
typedef struct tagGpioInfo {
    DWORD               OpenCnt;    // @field Protects use of this port 
    HANDLE              hGpio1ISTThread;
    HANDLE              hGpio1ISTEvent;
    HANDLE              hGpio2ISTThread;
    HANDLE              hGpio2ISTEvent;
    HANDLE              hGpio3ISTThread;
    HANDLE              hGpio3ISTEvent;
    HANDLE              hGpio4ISTThread;
    HANDLE              hGpio4ISTEvent;
    DWORD               dwAllocatedPinMask; // total IO pins currently allocated
    BOOL                fGpio1ISTExit;
    BOOL                fGpio2ISTExit;
    BOOL                fGpio3ISTExit;
    BOOL                fGpio4ISTExit;
    volatile PGPIO_REGS pGpio1Regs;
    volatile PGPIO_REGS pGpio2Regs;
    volatile PGPIO_REGS pGpio3Regs;
    volatile PGPIO_REGS pGpio4Regs;
    CRITICAL_SECTION    csPort;
    LIST_ENTRY          OpenList;   // @field Head of linked list of OPEN_INFOs    
    CRITICAL_SECTION    OpenCS;     // @field Protects Open Linked List + ref counts
}GPIO_INFO, *PGPIO_INFO;

typedef struct tagGpioOpenInfo {
    PGPIO_INFO      pGpioHead;      // @field Pointer back to our GPIO_INFO
    DWORD           dwAllocatedPinMask;     // IO pins allocated to this instance
    DWORD           dwEventPinMask;
    HANDLE          hPinEvent;
    LONG            StructUsers;    // @field Count of threads currently using struct.
    LIST_ENTRY      llist;          // @field Linked list of OPEN_INFOs
}GPIO_OPEN_INFO, *PGPIO_OPEN_INFO;
*/

//-----------------------------------
//ssp
#define SSP_BASE  PHYS_SSP_BASE

typedef struct PL022
//typedef struct
{
    volatile DWORD SSPCR0;
    volatile DWORD SSPCR1;
    volatile DWORD SSPDR;
    volatile DWORD SSPSR;
    volatile DWORD SSPCPSR;
    volatile DWORD SSPIMSC;
    volatile DWORD SSPRIS;
    volatile DWORD SSPMIS;
    volatile DWORD SSPICR;
    volatile DWORD SSPDMACR;
    DWORD SPP_PADDING[1006];
    DWORD SSPPeriphID0;
    DWORD SSPPeriphID1;
    DWORD SSPPeriphID2;
    DWORD SSPPeriphID3;
    DWORD SSPCellID0;
    DWORD SSPCellID1;
    DWORD SSPCellID2;
    DWORD SSPCellID3;
}SSP_REGS, *PSSP_REGS;

#endif __TEMP_H__

⌨️ 快捷键说明

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