知识分享小达人 2023-08-31 10:04 采纳率: 83.3%
浏览 1
已结题

(标签-EDGE|关键词-设备树)

原本设备树种,配置的为边沿触发(IRQ_TYPE_EDGE_BOTH),现在想改为电平触发(IRQ_TYPE_LEVEL_MASK),但是编译报错:

img

img

枚举定义如下:

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-31 12:13
    关注

    【以下回答由 GPT 生成】

    问题标题: 如何将设备树中的IRQ_TYPE_EDGE_BOTH配置改为IRQ_TYPE_LEVEL_MASK?

    问题内容: 在Android设备树中,我想将某个配置从边沿触发(IRQ_TYPE_EDGE_BOTH)改为电平触发(IRQ_TYPE_LEVEL_MASK),但是在编译过程中遇到了错误。请问该如何解决?

    首先,我们需要在设备树(DTS文件)中找到对应IRQ的配置节点,通常会在interrupts属性中设置IRQ类型。

    1. 找到设备树(DTS文件)中对应IRQ的配置节点,通常是在arch/arm/boot/dts目录中找到对应的DTS文件。

    2. 在该DTS文件中,找到对应的节点,通常是在interrupts属性中设置IRQ类型。

    3. 如果IRQ类型的枚举值在设备树中没有直接定义,可以使用IRQ_TYPE_NONE作为占位符。

    示例代码如下: dts interrupts = <0 IRQ_TYPE_NONE 0x01>;

    1. IRQ_TYPE_EDGE_BOTH改为IRQ_TYPE_LEVEL_MASK

    示例代码如下: dts interrupts = <0 IRQ_TYPE_LEVEL_MASK 0x01>;

    1. 保存修改后的DTS文件。

    2. 在编译过程中,重新编译设备树(DTS文件)并重新生成内核镜像。

    示例代码如下: shell $ make dtbs

    或者使用设备树编译器(dtc)手动编译设备树文件: shell $ dtc -I dts -O dtb -o output.dtb input.dts

    1. 将生成的内核镜像烧写到设备中,并验证IRQ类型配置是否生效。

    如果以上步骤不能解决问题,可能有以下原因:

    • 设备树中没有定义对应的IRQ类型枚举值。
    • 设备驱动不支持修改IRQ类型或未正确处理IRQ类型的改变。

    在这种情况下,需要深入了解设备树和设备驱动的细节,可能需要进一步分析和修改设备驱动的源代码来解决问题。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 创建了问题 8月31日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真