6161|12

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince驱动编译后没有.dll而有个.pdb文件是怎么回事 [复制链接]

如题

最新回复

xiexie各位的意见  详情 回复 发表于 2009-7-17 11:41
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
去看编译的Makefile相关文件,看看生成的东东是什么
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

能说的详细点吗》刚接触不懂
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
楼主,把你的source文件贴出来看看,那里面设置对不?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
这是我的源文件
TARGETNAME=gpi
PREPROCESSDEFFILE=1
RELEASETYPE=PLATFORM

TARGETTYPE=DYNLINK

TARGETLIBS= \
        $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib\



SOURCELIBS=  \
   $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib



DEFFILE=gpi.def

PREPROCESSDEFFILE=1

DLLENTRY=GPI_DllEntry




SOURCES=\
        gpi.c
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

6
 
提示找不到这个头文件是怎么回事??

#include
#include
#include
#include
#include
#include
#include



static volatile BULVERDE_GPIO_REG  *g_pGPIORegs  = NULL;         // PXA27x GPIO registers

BOOL WINAPI
GPI_DllEntry(
        HANDLE  hInstDll,
        DWORD   dwReason,
        LPVOID  lpvReserved
        )
{
                return 1;
}
DWORD GPI_Init(LPCTSTR pContext,LPCVOID lpvBusContext)
{
                PHYSICAL_ADDRESS RegPA;
                if(g_pGPIORegs == NULL)
                {
                                RegPA.QuadPart = BULVERDE_BASE_REG_PA_GPIO;
                                g_pGPIORegs = (volatile BULVERDE_GPIO_REG *) MmMapIoSpace(RegPA, 0x400, FALSE);
               
                }
                return 1;
        }


DWORD GPI_Open (DWORD dwData, DWORD dwAccess, DWORD dwShareMode) {
  
    return (1);
   }
BOOL  GPI_Close(DWORD dwData) {return (TRUE);}



DWORD GPI_Write(DWORD dwData, LPCVOID pBuf, DWORD Len)
{

                 BYTE* pdatabuf;
                 BYTE  gpioNum;
                 BYTE  gpioState;
                 pdatabuf = (BYTE*)pBuf;
                 gpioNum = *pdatabuf++;
                 gpioState = *pdatabuf;
                 RETAILMSG(1,(TEXT("gpioNum  :  %d\r\n"),gpioNum));
                 RETAILMSG(1,(TEXT("gpioState  : %d\r\n"),gpioState));
                 if(gpioNum == 3 || gpioNum == 4 || gpioNum == 9)    //这里可以选择你要用的gpio口 GPIO0-31由寄存器GPDR0 GPSR0 GPCR0控制         
                 {                                                                                                                                                                                                         //GPIO32-63 由GPDR1...控制 GPIO64-95由GPDR2...控制
                                 if(gpioState == 1)                                                                                                                         //GPIO96-   由GPDR3...控制        
                                 {
                                                 g_pGPIORegs->GPDR0 |= (1<                                                  g_pGPIORegs->GPSR0 |= (1<                                          }
                                 else
                                 {
                                                 g_pGPIORegs->GPDR0 |= (1<                                                  g_pGPIORegs->GPCR0 |= (1<                                          }                                                
                 }
             else if(gpioNum == 101 || gpioNum ==102 || gpioNum == 103 || gpioNum == 104)
                 {
                                 if(gpioState == 1)
                                 {
                                                 g_pGPIORegs->GPDR3 |= (1<<(gpioNum % 32));
                                                 g_pGPIORegs->GPSR3 |= (1<<(gpioNum % 32));
                                         }
                                 else
                                 {
                                                 g_pGPIORegs->GPDR3 |= (1<<(gpioNum % 32));
                                                 g_pGPIORegs->GPCR3 |= (1<<(gpioNum % 32));
                                         }               
                 }                        
                         return 1;
}

DWORD GPI_Read(DWORD dwData,  LPVOID pBuf, DWORD Len)
{
                BYTE* pdatabuf;
                BYTE  gpioNum;
                pdatabuf = (BYTE*)pBuf;
                gpioNum = *pdatabuf++;
                if(gpioNum == 3 || gpioNum ==4 || gpioNum == 9)
                 {
                        *pdatabuf =(g_pGPIORegs->GPLR0 & (1<                                 
                 }
                if(gpioNum == 101 || gpioNum ==102 || gpioNum == 103 || gpioNum == 104)
                 {
                        *pdatabuf =(g_pGPIORegs->GPLR3 & (1<<(gpioNum % 32)))?1:0;
                                 }
                RETAILMSG(1,(TEXT("state:    %d\r\n"),*pdatabuf));
         return 1;
}
BOOL  GPI_Deinit(DWORD dwData)
{
                if(g_pGPIORegs)
                        g_pGPIORegs = NULL;
                return 1;
                }
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
RELEASETYPE=PLATFORM,这个控制了你的目标文件输出到哪个目录。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
提示找不到这个头文件 是怎么回事?? ——sources不正确。

楼主这个DLL生成在 BSP的target目录下的,不是驱动文件夹下的。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

9
 
谢谢楼上的提示
没有找到.dll,看来还是有问题
我的source文件怎么修改那?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

10
 
流接口驱动程序在wince4.2系统下s3c2410中就需要那几个文件
谢谢了,买了书是5.0下的例子按照步骤做调试不出来
请指教谢谢了
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
如果build -c没有提示error就编译成功了。
实在找不着,就把sources里面RELEASETYPE改成LOCAL再编译一次试试。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

12
 
我觉得你应该学习一下sources的写法。在网上很多的。你在eeworld的博客上搜索一下,应有尽有。
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

13
 
xiexie各位的意见
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表