主要内容

硬件中断

从中断服务程序触发下行函数调用子系统。

描述

在模型中生成的代码中自动创建一个中断服务例程(ISR)。ISR执行与块关联的下游函数调用子系统。

你可以使用这个块来实现以下目的:

  • 使用此块来构建一个处理器专用的,基于ARM Cortex-M核心的硬件中断块。

    通过提供基于XML的中断描述文件,您可以自定义块以处理特定的中断。看到使用中断描述文件创建基于ARM Cortex-M处理器的硬件中断块

    在代码生成中按原样使用此块,以响应Fault和NMI中断服务例程并触发下游函数调用子系统。确保中断向量表中的FaultISR和NmiISR是可用的。

使用这个块,你可以:

  • 在基于ARM Cortex-M的处理器上创建isr。

  • ISR优先。

  • 启用或禁用中断抢占。

  • 使用仿真输入模拟中断的触发和下游子系统。

对于硬件支持包,处理器特定金宝app的块提供中断描述文件。在中断描述文件中,掩码参数被更新为与处理器特征匹配的中断组、名称和中断号。

这个块只生成指定ISR的代码。使中断和特定触发选项生效的配置应该在外设设置中完成。

对话框

中断组

选择中断组。

中断组列出中断描述文件中的所有中断组。选择中断组将更改中断的名字参数。

中断的名字

选择要生成的中断服务例程。

中断的名字对应于处理器中断向量表中的特定条目。

中断号

这个只读参数指示所选ISR在目标硬件的中断向量表中的位置。

禁用中断优先购买权

缺省情况下,一个中断可以被优先级更高的中断抢占。选择此选项允许低优先级中断在不被其他中断抢占的情况下完成其执行。

添加仿真输入端口

选择此选项以启用SimIRQ块输入。当SimIRQ输入为真时,中断块在模拟中启动一个函数调用。但是,在生成的代码中忽略SimIRQ。

创建硬件中断块手臂皮质-M基于处理器使用中断描述文件

你可以为ARM创建自己的中断块®皮质®-M目标使用现有的硬件中断块的嵌入式编码器®金宝appARM Cortex-M处理器支持包图书馆。该块支持ARM Cor金宝apptex-M核心的NVIC(嵌套矢量中断控制器),可以处理来自不同外设的中断,如ADC, DMA, Watchdog。

为ARM Cortex-M目标创建一个中断块:

  1. 安装ARM Cortex-M处理器金宝app的嵌入式编码器支持包

  2. 基于ARM Cortex-M处理器的中断向量表,创建一个xml中断描述文件,其中包含中断组和中断组下的中断的详细信息。你可以在以下路径中找到一个中断xml文件的示例:ARM Cortex-M支金宝app持包根目录>注册表>中断>

    • 使用组(IrqGroup)捆绑相同类型的中断。这将允许您限制中断名称列表的大小。一个组中的IrqName将填充“中断名称”下拉列表。这个名称也用于代码生成,并且必须与中断向量表中的条目相匹配。IrqNumber对应于ARM Cortex-M矢量表的位置,并且必须与硅供应商指定的中断的映射相匹配。基于Cortex-M的处理器最多可以使用8个优先级位。

    • 参考您的硅供应商规范来指定NumberOfPriorityBits。

    • 您可以通过指定ShowPreemptionOption来禁用“禁用中断抢占”复选框,因为该功能可能在您的设备上不可用。

  3. 从ARM Cortex-M处理器库的嵌入式编码器支持包中复制ARM Cortex-M中断块到新的库模型或处理器块库中。金宝app

  4. 使用命令注册xml描述文件及其路径set_param(<硬件中断块>,' InterruptsXMLPath ', <中断描述文件>)在MATLAB®命令提示符,其中<硬件中断块> >对应于库中的块句柄(如果选择了块,可以使用gcb), <中断XML文件>对应于具有完整路径的中断描述文件。

  5. 双击ARM Cortex-M中断块,打开显示中断描述文件条目的掩码对话框窗口。在中断描述文件中指定的中断组、中断名称和中断号出现在相应的块参数中。

  6. 保存库。现在,您可以放置新创建的硬件中断块并在应用程序模型中使用它。

下面显示了一个示例xml中断描述文件,其中的条目映射到掩码对话框中的参数。