2021|2

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

问个wince5.0的中断问题 [复制链接]

就以SD卡为例子

注册表

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_SMDK2440]
    "Order"=dword:21
    "Dll"="sdhc_sc2440.dll"
    "Prefix"="SDH"
   
    "DMAChannel"=dword:0            ; DMA channel to use.  Set to 0xffffffff to disable DMA
    "DMAIrq"=dword:11
    "DMA_IST_Priority"=dword:96

    "SDIOIrq"=dword:15---这个是怎么和s3c2440a_intr.h里面的#define IRQ_EINT16    44 绑定的?
    "SDIO_IST_Priority"=dword:97
   
    "PollingTimeout"=dword:100      ; 100 ms
    "CardDetect_Thread_Priority"=dword:98
   
    "CardDetectGPIO"="G"            ; card detect on GPG8
    "CardDetectMask"=dword:100
    "CardDetectFlag"=dword:0
    "CardDetectControlMask"=dword:fffcffff
    "CardDetectControlFlag"=dword:0
    "CardDetectPullupMask"=dword:fffffeff
    "CardDetectPullupFlag"=dword:100
   
    "CardReadWriteGPIO"="H"         ; card R/W on GPH8
    "CardReadWriteMask"=dword:100
    "CardReadWriteFlag"=dword:100
    "CardReadWriteControlMask"=dword:fffcffff
    "CardReadWriteControlFlag"=dword:0
    "CardReadWritePullupMask"=dword:fffffeff
    "CardReadWritePullupFlag"=dword:100

    "HandleBusyFinishOnCommand38"=dword:1
    "DmaTransferTimeoutFactor"=dword:8
    "DmaTransferTimeoutConstant"=dword:3000

ENDIF BSP_SDHC_SC2440
; @CESYSGEN ENDIF CE_MODULES_SDBUS

  1. //======= Header:  s3c2440a_intr.h里面是物理中断号宏定义。
  2. //------------------------------------------------------------------------------
  3. //
  4. //  Header:  s3c2440a_intr.h
  5. //
  6. //  Defines the interrupt controller register layout and associated interrupt
  7. //  sources and bit masks.
  8. //
  9. #ifndef __S3C2440A_INTR_H
  10. #define __S3C2440A_INTR_H

  11. #if __cplusplus
  12. extern "C" {
  13. #endif

  14. //------------------------------------------------------------------------------
  15. //
  16. //  Type: S3C2440A_INTR_REG   
  17. //
  18. //  Interrupt control registers. This register bank is located by the constant
  19. //  S3C2440A_BASE_REG_XX_INTR in the configuration file s3c2440a_base_reg_cfg.h.
  20. //

  21. typedef struct {
  22.     UINT32 SRCPND;                     // interrupt request status reg
  23.     UINT32 INTMOD;                     // interrupt mode reg
  24.     UINT32 INTMSK;                     // interrupt mask reg
  25.     UINT32 PRIORITY;                   // priority reg
  26.     UINT32 INTPND;                     // interrupt pending reg
  27.     UINT32 INTOFFSET;                  // interrupt offset reg
  28.     UINT32 SUBSRCPND;                  // SUB source pending reg
  29.     UINT32 INTSUBMSK;                  // interrupt SUB mask reg

  30. } S3C2440A_INTR_REG, *PS3C2440A_INTR_REG;


  31. //------------------------------------------------------------------------------
  32. //
  33. //  Define: IRQ_XXX
  34. //
  35. //  Interrupt sources numbers
  36. //

  37. #define IRQ_EINT0           0           // Arbiter 0
  38. #define IRQ_EINT1           1
  39. #define IRQ_EINT2           2
  40. #define IRQ_EINT3           3

  41. #define IRQ_EINT4_7         4           // Arbiter 1
  42. #define IRQ_EINT8_23        5
  43. #define IRQ_CAM             6
  44. #define IRQ_BAT_FLT         7
  45. #define IRQ_TICK            8
  46. #define IRQ_WDT_AC97        9

  47. #define IRQ_TIMER0          10          // Arbiter 2
  48. #define IRQ_TIMER1          11
  49. #define IRQ_TIMER2          12
  50. #define IRQ_TIMER3          13
  51. #define IRQ_TIMER4          14
  52. #define IRQ_UART2           15

  53. #define IRQ_LCD             16          // Arbiter 3
  54. #define IRQ_DMA0            17
  55. #define IRQ_DMA1            18
  56. #define IRQ_DMA2            19
  57. #define IRQ_DMA3            20
  58. #define IRQ_SDI             21

  59. #define IRQ_SPI0            22          // Arbiter 4
  60. #define IRQ_UART1           23
  61. #define IRQ_NFCON           24
  62. #define IRQ_USBD            25
  63. #define IRQ_USBH            26
  64. #define IRQ_IIC             27

  65. #define IRQ_UART0           28          // Arbiter 5
  66. #define IRQ_SPI1            29
  67. #define IRQ_RTC             30
  68. #define IRQ_ADC             31

  69. #define IRQ_EINT4           32
  70. #define IRQ_EINT5           33
  71. #define IRQ_EINT6           34
  72. #define IRQ_EINT7           35
  73. #define IRQ_EINT8           36
  74. #define IRQ_EINT9           37
  75. #define IRQ_EINT10          38
  76. #define IRQ_EINT11          39
  77. #define IRQ_EINT12          40
  78. #define IRQ_EINT13          41
  79. #define IRQ_EINT14          42
  80. #define IRQ_EINT15          43
  81. [color=#FF0000]#define IRQ_EINT16  44 //这是SD卡检测物理中断EINT16,是怎么和"SDIOIrq"=dword:15联系在仪器的[/color]#define IRQ_EINT17          45
  82. #define IRQ_EINT18          46
  83. #define IRQ_EINT19          47
  84. #define IRQ_EINT20          48
  85. #define IRQ_EINT21          49
  86. #define IRQ_EINT22          50
  87. #define IRQ_EINT23          51


  88. // Interrupt sub-register source numbers
  89. //
  90. #define IRQ_SUB_RXD0     0
  91. #define IRQ_SUB_TXD0     1
  92. #define IRQ_SUB_ERR0     2
  93. #define IRQ_SUB_RXD1     3
  94. #define IRQ_SUB_TXD1     4
  95. #define IRQ_SUB_ERR1     5
  96. #define IRQ_SUB_RXD2     6
  97. #define IRQ_SUB_TXD2     7
  98. #define IRQ_SUB_ERR2     8
  99. #define IRQ_SUB_TC       9
  100. #define IRQ_SUB_ADC      10
  101. #define        IRQ_SUB_CAM_C         11                // 030610
  102. #define        IRQ_SUB_CAM_P         12                // 040218, INTSUB_CAM_S - 030610
  103. #define        IRQ_SUB_WDT                 13                // 040218
  104. #define        IRQ_SUB_AC97         14                // 040218

  105. //------------------------------------------------------------------------------

  106. #if __cplusplus
  107. }
  108. #endif

  109. #endif
复制代码



以前都是使用4.2升级的BSP,现在看到5.0的BSP有很多不一样,希望高人来指点一下我这个菜鸟。

最新回复

---------呜呜,我太粗心大意了,呜呜,不好意思。太丢人了,结贴,给分。谢谢hzdysymbol   详情 回复 发表于 2008-10-28 11:36
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这两个根本就没有关联,一个是SDI的中断,EINT16应该是你SD卡检测的中断吧
SDI的中断三星的驱动中是动态申请SYSINTR号的  
“#define IRQ_SDI             21”  "SDIOIrq"=dword:15---15是十六进制的,十进制就是21
再说你指的两个都是IRQ号,哪来的关联呢?
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 hzdysymbol 的回复:
这两个根本就没有关联,一个是SDI的中断,EINT16应该是你SD卡检测的中断吧
SDI的中断三星的驱动中是动态申请SYSINTR号的  
“#define IRQ_SDI            21”  "SDIOIrq"=dword:15---15是十六进制的,十进制就是21
再说你指的两个都是IRQ号,哪来的关联呢?


---------呜呜,我太粗心大意了,呜呜,不好意思。太丢人了,结贴,给分。谢谢hzdysymbol
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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