将 C2000 F28379D 样本转换为 F28335 时出现问题 - ADC 块错误

问题描述 投票:0回答:2

最近从德州仪器下载了C2000 F28379D的示例文件并成功查看(简称image1)。我尝试通过将所有相关块从 F28379D 更改为 F28335 来调整此示例以与 F28335 配合使用。在此过程中,我遇到了与模型中 ADC Type 3-5 模块的初始化函数(“InitFcn”)相关的错误。具体来说,错误出现在我的项目的两个部分:

  1. 第一个错误发生在带有回调字符串的“f28335_sixstep_controlBLDC/Hardware Init/Code Generation/Calculate ADC Offset /For Iterator Subsystem/ADC5”块中: 验证PiccoloADC;
codertarget.registry.registerPiccoloADCBlocks(gcb);
The system reports: "Unrecognized field name 'ADCmodule2'."

image2

  1. 第二个错误出现在“f28335_sixstep_controlBLDC/Current Control/Sensor Driver Blocks/Sensor Driver Blocks (codegen)/CurrentMeasurement/ADC3”块中,也带有回调字符串:
validatePiccoloADC;                                
codertarget.registry.registerPiccoloADCBlocks(gcb);

这次,错误消息显示“无法识别的字段名称‘ADCmodule’”。 image3

我的目标是使用 F28335 MCU 模拟这个项目。任何人都可以提供有关解决这些错误以成功转换并运行 F28335 模拟的指导吗?

感谢您的协助。

simulink adc texas-instruments embedded-coder
2个回答
0
投票

要将代码从一个 MCU 移植到另一个 MCU,您必须考虑有关硬件外设的两件事:

  1. 外设的版本(类型)。可能会有一些附加功能,或者配置外设的方式发生一些变化。
  2. MCU 中存在的该外设的实例数量。

在您的具体情况下,两者都是一个问题:

  1. F28335 有一个 2 型 ADC(数据表第 8 页),而不是我们在 Simulink 屏幕截图中看到的 3-5 型 ADC。
  2. 每个 MCU 上的实例数量似乎并不相同。从数据表来看,F28335只有一个 ADC 模块,F28379D有四个。

您还必须调整 simulink 模型,而不仅仅是模块的配置。


0
投票

非常感谢您的回复。关于第一个问题的答案:是的,你是对的。我把每个块从型号28379D改成了型号28335,这个块型号28335有两种类型。我用了这个方法,但没有给出正确的答案。最终的错误消息如下:“错误:在块‘f28335_sixstep_controlBLDC/Current Control’的子系统参数对话框中指定的内存部分‘code_ramfuncs’无效。在配置参数对话框中未选择内存部分包。”

© www.soinside.com 2019 - 2024. All rights reserved.