使用 MathWorks TI C2000硬件支持包的 MathWorks Embedded Coder 可从使用 MATLAB 和 Simulink 开发的模型在 C2000硬件上自动编译和执行。
Simulink Coder 的自定义代码块是 调用自定义代码的关键方法。 可以 在 Simulink Coder 库下找到自定义代码块。 首先,在 MATLAB 命令提示符处键入命令“slLibraryBrowser”,导航至 Simulink 库 ,然后找到这些块,如下所示。
假设我们要 测量 在 F2837x 器件上执行代码块所需的时间。 我们 可以 配置和使用 CPU 计时器 来获取计时信息。 我们 在 代码执行前读取自由运行计时器值 、 并在末尾读回计时器值 定时器 值的差异给出 了代码执行时间。
我们假设要 计算其执行时间的算法位于原子系统内部。 将自定义代码块与子系统结合使用时、请务必注意 、自定义代码 块仅在 子系统是原子系统时才会遵守其边界。
1.添加 系统初始化块
-
从 系统 初始 化块开始 初始化、 配置 和 启动 CPU 定时器2。
注意:Timer0 用于 调度 、 Timer1 用于 在 C2000 硬件 支持 包中进行性能评测。
-
将 块添加 到 模型 、 然后双 击 块 以打开 块 掩码。
2.添加 模型标题 块
-
使用 模型 头 文件中 的外部 变量使用模型头文件块 。
4.添加 包含 算法的子系统块
-
如前所述 、 将子系统设 为原子系统。
5.添加系统 输出 块
-
在 原子 系统中添加此块 、该子系统包含在代码执行前读取计时器值的算法。
-
我们 还 可以 在代码执行后从 退出 代码中的同一个块读取计时器值 并 计算 差异。
-
计算 出的差值 可 通过串行链路使用 存储 器复制 块发送到主机。