使用硬件映射配置中断和事件
硬件映射工具允许您为选定的硬件板配置硬件中断任务。借助此工具,您可以将软件模型中的任务映射到可用的事件源和中断。
Simulink® 工具条:在硬件选项卡上,点击 Hardware Mapping。

或者,您也可以从 Hardware Interrupt 模块启动它。

在浏览器 > 任务 >
CPU name(c28xCPU1, c28xCPU1 或 CortexM4) 中手动选择任务。
在 Hardware Interrupt 模块中为相应的任务选择所需的中断组、中断名称和事件名称。

中断组 - TI C2000™ 外设和非外设中断根据引起中断的外设分为各种组。中断组是根据配置参数中选择的硬件板进行填充的。选择中断组会更改中断名称参数中的值列表。
中断名称 - 对应于处理器中断向量量表中的特定条目。可用的中断服务例程取决于中断组。
事件名称列出了与所选的中断组对应的所有事件。
事件名称 - 列出导致中断名称参数中中断的事件。此外,对于具有多个事件的中断,您可以配置默认事件和自定义事件。
Custom event - 当使用软件触发中断时,可以使用此事件。这是用于确认无需外围设备干预即可触发的中断。
在这种情况下,既不进行中断标志检查,也不进行中断清除。自定义事件的代码片段如下所示:
// custom event interrupt void ISRNAME() { { //body of the event } //Acknowledge ISR }Default event - 此事件默认选中。在这种情况下,所有未选择的导致中断的事件都会被清除。与此事件对应的子系统仅对未选择的事件执行。如果仅选择默认事件,则不检查中断标志。
默认事件的代码片段如下所示:
// Default event interrupt void ISRNAME() { if(selectedevents) { //body of the event; //clear selected events } if(nonselectedevents) { //body of the default event //clear all non selected events } //acknowledgeISR; }
Event Order - 您可以选择多个事件作为中断。在 Hardware Interrupt 模块中,对于参数 Number of events to serve,提供您要确认的号码。
在 Number of events to serve 参数中指定大于
1的值,将向该模块添加相应数量的输出端口。每个事件都可以在硬件映射中进行配置。配置时请确保每个事件的执行顺序不同。事件顺序决定了 ISR 中事件的执行顺序。用于多个事件的代码片段如下所示:
interrupt ISRName() { //Execution order for event 1 is 1 if(event1) { //subsystem1 //clear event1; } //Execution order for event 1 is 2 if(event2) { //subsystem2 //clear event2; } ... //Acknowledge ISR }
例如,要为多个事件创建 ISRNAME 并选择默认事件,代码片段如下所示:
interrupt ISRName() { //Execution order for event 1 is 1 if(event1) { //code for the subsystem triggered by event1 //clear event1; } //Execution order for event 1 is 2 if(event2) { //code for the subsystem triggered by event2 //clear event2; } //Default event if(event3) { //code for the subsystem triggered by default event //clear event3; } ... //Acknowledge ISR }
事件或中断的来源取决于该模型中可用的硬件板的选择。
点击工具条栏中的应用更改按钮。