通异步的RTOS事件输入到一个参考模型

这个例子说明了如何模拟和产生的实时多任务系统的异步事件代码。

开放范例模型

打开示例模型rtwdemo_async_mdlreftop

数据传输假设

  • 一个阅读任务和一个写作任务之间进行数据传输。

  • 上一个字节大小的变量的读或写操作是原子。

  • 当两个任务进行交互,只有一个能够抢占其他。

  • 对于周期性任务,用更快的速度任务比具有速度较慢的任务更高的优先级。用更快的速度抢占任务与速度较慢的任务。

  • 任务在一个处理器上运行。时间分片是不允许的。

  • 流程不死机,重启,尤其是当数据在任务之间传递。

模拟模型

模拟模型。默认情况下,该模型被配置以不同的颜色来显示采样时间。用于输入和输出的离散采样时间分别出现红色和绿色。常量是洋红色。异步中断是紫色。率转换块,这是混合(输入和输出的采样时间可以不同),出现黄色。

生成代码和报告

生成代码和模型中的代码生成报告。异步中断块和任务同步块生成的代码是用于示例RTOS(VxWorks的)。但是,您可以修改块以产生另一运行时环境的代码。

1.创建用于构建和检查过程中的临时文件夹。

2.建立模型。

回顾初始化代码

打开生成的源文件rtwdemo_async_mdlreftop.c。初始化代码连接和支持ISRisr_num1_vec192中断1和ISRisr_num2_vec193中断2。

回顾ISR代码

在生成的源文件rtwdemo_async_mdlreftop.c,审查的ISR代码isr_num1_vec192isr_num2_vec293。每个ISR:

  • 禁用中断。

  • 保存浮点上下文。

  • 要求连接到接收该中断的参考模型INPORT块子系统生成的代码。

  • 恢复浮点环境。

  • 重新启用中断。

审查工作终止码

任务同步块生成以下终止代码。

相关信息

相关话题