7.13. INTERRUPT

Overview

提供系统中断应用示例、常用相关 API 介绍和常见问题。

7.13.1. 应用示例

示例演示:

example: 进入 apps/demo/demo_DevKitBoard/include/demo_config.h ,开启宏 USE_INTERRUPT_TEST_DEMO

Note

  • 1.通常安装中断使用request_irq,优先级为1-7, 越大优先级越高,cpu_id为安装到哪一个核去响应中断

  • 2.SDK库内部已经安装好中断, 如果用户需要修改中断的优先级和安装核, 可以在app_main.c的irq_info_table强行修改对应的中断号,例如:

    /*中断列表 */
    const struct irq_info irq_info_table[] = {
      { IRQ_TIMER4_IDX,      2,   1    }, //此中断强制配置为优先级为2,并且安装到cpu1
    
  • 3.当用户想统一某些中断注册到核1,某些中断注册到核0,可以在app_main.c的irq_info_table配置,例如:

    const struct irq_info irq_info_table[] = {
      { IRQ_SOFT5_IDX,      7,   0    }, //此中断强制注册到cpu0
      { IRQ_SOFT4_IDX,      7,   1    }, //此中断强制注册到cpu1
      { -2,                       -2,   -2   },//如果加入了该行, 那么只有该行之前的中断注册到对应核, 其他所有中断强制注册到CPU0
    

7.13.2. 常见问题

7.13.3. API Reference

Warning

doxygenfile: Cannot find file “cpu/wl82/asm/hwi.h