zhanghc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:1029回复:3

一开中断就重起,不知道怎么调试。

楼主#
更多 发布于:2004-07-31 00:35
我是用的是windriver kernel plugin ,参考的windriver自带的例子--kptest,
做的是一个pci卡的驱动,该卡用的ti的5410。
我个人觉得这里有毛病,大家看看是不是。
BOOL __cdecl KP_DRIVER2040_IntEnable(PVOID pDrvContext, WD_KERNEL_PLUGIN_CALL *kpCall, PVOID *ppIntContext)
{
    // You can allocate specific memory for each interrupt in *ppIntContext
    *ppIntContext = malloc(sizeof(PVOID));
    if (!*ppIntContext)
    {
        return FALSE;
    }

    *ppIntContext = pDrvContext;
    return TRUE;
}
zhanghc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-31 08:42
请各位帮忙看看。
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-31 17:14
*ppIntContext = malloc(sizeof(PVOID));
if (!*ppIntContext)
{
return FALSE;
}

*ppIntContext = pDrvContext;

如果malloc成功,那么
*ppIntContext = malloc(sizeof(PVOID));
if (!*ppIntContext)
{
return FALSE;
}
是多余的
等于*ppIntContext = pDrvContext;





________________________________________________________

回答的好请给分

1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
zhanghc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-31 18:45
楼上说的对,那个申请内存的语句是多余的。
现在的问题是,我觉得在kernel plugin中的读写硬件的操作都没有被执行到,
我该如何调试kernel plugin中的函数。??
谢谢。!
游客

返回顶部