【问题标题】:Generating C code from a Matlab-Simulink model for DSP C6748从 DSP C6748 的 Matlab-Simulink 模型生成 C 代码
【发布时间】:2011-06-20 15:03:46
【问题描述】:

我正在尝试从 Matlab-Simulink 简单模型生成 C 代码(例如:输出端带有 DAC 的正弦波发生器)。此代码必须使用 Code Composer Studio 执行 用于 TMS320C6748 DSP(德州仪器 C6748)。具体来说,针对开发板 OMAP-L138 ZOOM ™EVM DEVELOPMENT KIT。

为此,我使用以下版本: Simulink(版本 7.7 - R2011a) 嵌入式编码器(版本 6.0 - R2011a) Code Composer Studio v3.3

我尝试了几个选项(在 Simulink 中使用通用模块并对 C6748 计时器进行编程,使用“OMAP_L138/C6748 EVM”配置模块“Target Preferences”...)但都不起作用。

是否有可能实现这个想法?有例子吗?

谢谢

【问题讨论】:

  • “没有工作”不是一个很好的帮助起点。你应该说你实际尝试了什么,实际错误是什么。
  • 谢谢@flolo!我尝试了几个选项,其中两个最有成效: 1.- 一个名为“参数音频均衡器”的演示,但我收到此错误:“没有找到当前在 Target Preferences 块中设置的处理器 'OMAPL138' 的合适替代品。删除当前目标首选项阻止并添加一个新的”。
  • 2.- 带有正弦波发生器和输出端通用 DAC 的简单模型。我使用“通用实时目标”进行编译,使用函数 rt_OneStep()、Model_initialize()、Model_terminate() 生成 ert_main.c。我使用 Code Composer Studio 创建了一个新项目,并在“Real-Time Workshop Embedded Coder User's Guide”的第 2 节(独立程序执行)之后添加了这些文件。编译的程序已执行,但当我将 rt_OneStep() 与 C6748 实时时钟或 C6748 中断服务例程关联以使生成的代码“实时”时,它无法正常工作。

标签: c simulink texas-instruments ti-dsp code-composer


【解决方案1】:

在 R2011a 的 Simulink 中支持 OMAP-L138 EVM / C6748EVM 的代码生成。在打开 Target Preferences 块之前,从 DSP/BIOS 导入处理器定义。在 MATLAB 命令行上,键入以下内容:

getDspBiosFolder % 这将返回 MATLAB 正在查看的 DSP/BIOS。如果返回的值与您安装的 MATLAB 匹配,那么您就可以了。否则,您需要使用 setDspBiosFolder 设置 DSP/BIOS 的安装文件夹(即 MATLAB 命令行上的 setDspbiosFolder('C:\CCStudio_v3.3\bios_5_33_06'))。 importDspbiosConfig('proc', 'all') importDspbiosConfig('board', 'all')

完成这些步骤后,您应该能够打开 Target Preferences 块并检查设置。在继续代码生成之前,请运行 checkEnvSetup() 实用程序以确保您安装了代码生成所需的所有 TI 软件:

checkEnvSetup('ccs', 'omapl138evm', 'list')

上面的命令给你一个你需要安装的列表。确保您已安装以上所有软件且版本号正确后,执行以下操作:

checkEnvSetup('ccs', 'omapl138evm')

这会设置代码生成所需的所有环境变量。 MATLAB 通过这种方式创建的环境变量查看工具的位置。

完成这些步骤后,您应该能够生成代码了。

【讨论】:

  • 谢谢@MuratBelge。我使用 MATLAB 命令行设置 DSP/BIOS 的安装文件夹: >> setDspbiosFolder('C:\CCStudio_v3.3\bios_5_33_06') 我读到: >> getDspbiosFolder ans = C:\CCStudio_v3.3\bios_5_33_06 我导入在使用 MATLAB 命令行打开 Target Preferences 块之前,来自 DSP/BIOS 的处理器定义: >> importDspbiosConfig('proc', 'all') >> importDspbiosConfig('board', 'all') 我得到 'evm6748' 和 'evmOMAPL138 ' with: >> listDspbiosConfig('board') 'evm6748' 'evmOMAPL138' 我得到 'TMS320C6748' with: >> listDspbiosConfig('proc') 'TMS320C6748'
  • 我用 >> checkEnvSetup('ccs', 'c6748evm') 检查并配置了 IDE Link 和 Target Support Package 组件的环境 1. 检查 CCS (Code Composer Studio) 版本 所需版本:3.3.82.13需要:自动化和代码生成您的版本:3.3.83.19 检测到不兼容的版本。 CCS版本不满足产品要求!
  • 2.检查 CGT(代码生成工具)版本 要求版本:6.1.10 要求:代码生成 您的版本:6.1.10 3. 检查 DSP/BIOS(实时操作系统)版本 要求版本:5.33.06 要求:代码生成 您的版本:5.33.06 4. 检查 Texas Instruments IMGLIB (C64x+) 版本 所需版本:2.0.1 所需:TFL 块更换 您的版本:2.1.0.0 检测到不兼容的版本。德州仪器 IMGLIB 版本不满足产品要求!
  • 5.检查 C674x DSP/BIOS PSP 驱动程序版本 所需版本:1.30.00.05 所需:代码生成/设备驱动程序 您的版本:1.30.00.06 检测到不兼容的版本。 C674x DSP/BIOS PSP Drivers 版本不满足产品要求!无法设置代码生成所需的以下环境变量:### "PSP_EVMC6748_INSTALLDIR" 6. 检查 EDMA3 LLD(EDMA3 低级驱动程序)版本要求的版本:1.10.00 或更高版本要求:设备驱动程序您的版本:01.10.00
  • 完成这些步骤后,我可以打开 Target Preferences 块,我可以选择“OMAP-L138/C6748 EVM”板,但我无法选择任何处理器。
【解决方案2】:

OMAP-L138 EVMC6748 EVM 的代码生成不适用于比 Matlab 2011a 更早的版本。

对于 2011a 版本,设置过程并不简单,也没有很好的文档记录。但是 Matlab 有一个针对该版本的补丁,支持并满足某些特定要求。

2011b 版本进行了改进(第三方产品所需的超链接与该处理器的 CCStudio v4 一起使用)并支持 OMAP-L138 EVM 的代码生成C6748 EVM.

对于 2012a 版本,Matlab 已考虑在文档中添加特定部分,以使用这些处理器进行配置和自动代码生成。

【讨论】:

    猜你喜欢
    • 2017-07-06
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    相关资源
    最近更新 更多