4634|6

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince6.0下自己写的键盘背光驱动,已出现在调试助手的驱动列表,却无法激活? [复制链接]

wince6.0下自己写的键盘背光驱动,已生成相应的.dll文件,在platform.reg,  platform.bib  .def等文件中也做了相应的设置。
打开驱动调试助手,背光驱动出现在调试助手的驱动列表中,但是却一直是停用状态,无法激活......
求高手相助

最新回复

xxx_init都没进的话,看看DLLEntry,如果这也没进的话,那肯定是配置文件的问题了。。。主要是这两个platform.reg,  platform.bib  详情 回复 发表于 2010-1-7 18:09
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
platform.reg,  platform.bib?你是打包的时候就加入该驱动了?

奇怪,加载不成功是不会出现在那个驱动列表中的。
在该驱动中加入打印信息,看到了哪一步。慢慢来。哈哈
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
platform.reg,  platform.bib是我手动添上去的,

我在xxx_init和xxx_open里都加了打印信息了,但是串口调试没有出现任何和该驱动相关的信息,

奇怪!
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

4
 
xxx_init
驱动加载就会执行他,如果这个都不行,那么就好好检查你的方法是否正确。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
xxx_init 这里你已经错了,肯定的
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
同驱动加载相关的几个函数,其实也没做什么事情,帮看看有没什么问题

BOOL
DllEntry(
    HINSTANCE   hinstDll,
    DWORD       dwReason,
    LPVOID      lpReserved
    )
{
    if ( dwReason == DLL_PROCESS_ATTACH )
    {
        RETAILMSG (KEYBKL_INIT, (TEXT("[KEYBKL] Process Attach\r\n")));
        DisableThreadLibraryCalls((HMODULE) hinstDll);
    }

    if ( dwReason == DLL_PROCESS_DETACH )
    {
        RETAILMSG (KEYBKL_INIT, (TEXT("[KEYBKL] Process Detach\r\n")));
    }

    return(TRUE);
}

DWORD
HW_Init(
    pKEYBACKLIGHT_CONTEXT pkeybkl_context
    )
{

    BOOL bResult = TRUE;

    if ( !pkeybkl_context )
    {
        return FALSE;
    }

    // GPIO Virtual alloc
    pkeybkl_context->pGPIOregs = (volatile S3C6410_GPIO_REG *)DrvLib_MapIoSpace(S3C6410_BASE_REG_PA_GPIO, sizeof(S3C6410_GPIO_REG), FALSE);
    if (pkeybkl_context->pGPIOregs == NULL)
    {
        RETAILMSG(KEYBKL_INIT,(TEXT("[KEYBKL] For pGPIOregs: DrvLib_MapIoSpace failed!\r\n")));
        bResult = FALSE;
        goto CleanUp;
    }

CleanUp:

    if (!bResult)
    {
        if (pkeybkl_context->pGPIOregs)
        {
            DrvLib_UnmapIoSpace((PVOID)pkeybkl_context->pGPIOregs);
            pkeybkl_context->pGPIOregs = NULL;
        }

        return FALSE;
    }

    return TRUE;
}

DWORD KEYBACKLIGHT_Init(PVOID Context)
{
//    LPTSTR                          ActivePath = (LPTSTR) Context; // HKLM\Drivers\Active\xx
    pKEYBACKLIGHT_CONTEXT        pkeybkl_context = NULL;
    BOOL                            bResult = TRUE;

    RETAILMSG(KEYBKL_INIT,(TEXT("++[KEYBKL] KEYBACKLIGHT_Init Function\r\n")));
//    RETAILMSG(KEYBKL_MSG,(TEXT("[KEYBKL] Active Path : %s\n"), ActivePath));

    if ( !(pkeybkl_context = (pKEYBACKLIGHT_CONTEXT)LocalAlloc( LPTR, sizeof(KEYBACKLIGHT_CONTEXT) )) )
    {
        RETAILMSG(KEYBKL_INIT,(TEXT("[KEYBKL] Can't not allocate for KEYBKL Context\n")));
        return FALSE;
    }

    if(!HW_Init(pkeybkl_context))
    {
        RETAILMSG(KEYBKL_INIT,(TEXT("[KEYBKL] HW_Init is failed\n")));
        return FALSE;
    }
    else
    {
        RETAILMSG(KEYBKL_INIT,(TEXT("[KEYBKL] HW_Init is completed\n")));
    }

#if 0
        pkeybkl_context->pGPIOregs->GPNDAT &= ~(1<<10);        // GPN[10] -> Low

        // Pull Down
        pkeybkl_context->pGPIOregs->GPNPUD = (pkeybkl_context->pGPIOregs->GPNPUD & ~(0x3<<20)) | (0x1<<20);    // GPN[10]

        // Set GPIO direction to output
        pkeybkl_context->pGPIOregs->GPNCON = (pkeybkl_context->pGPIOregs->GPNCON & ~(0x3<<20)) | (0x1<<20);    // GPN[10]

        pkeybkl_context->keybacklight_state = STATE_INIT;
#endif

    RETAILMSG(KEYBKL_INIT,(TEXT("--[KEYBKL] KEYBACKLIGHT_Init Function\r\n")));
    if(bResult)
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
xxx_init都没进的话,看看DLLEntry,如果这也没进的话,那肯定是配置文件的问题了。。。主要是这两个platform.reg,  platform.bib
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表