This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/F28M35H52C:了解基本架构配置

Guru**** 2535150 points
Other Parts Discussed in Thread: CONTROLSUITE, F28M35H52C

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/602525/ccs-f28m35h52c-understanding-basic-architecture-configuration

器件型号:F28M35H52C
Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

我正在从事一个使用 F28M35H52C 的项目、我的原型硬件基于该器件的 controlCARD。  为了让我了解代码、我将检查 controlSUITE 示例程序。  我已经在 C28和 M3上运行了闪烁功能、现在可以看到、这些处理器基本上是2个独立的处理器、而 M3处于控制状态。  我还在 M3上运行了 Enet_Iwip_m3。

我的项目需要执行一组在 C28上运行的 ADC 读数、将结果存储在共享 RAM 中、然后在外部事件触发器上、将一组结果从共享 RAM 中复制出来并通过以太网(或 UART)发送到远程设备。  为了让我继续、我想让2个程序按如下方式运行:

(C28)执行一些 ADC 读数并将其存储在共享 RAM 中

2.(m3)触发后(C28检测到 GPIO 引脚并作为消息传递给 M3)从共享 RAM 获取一组结果并通过以太网发送 (我想从 UART 开始、因为我希望在开发过程中运行 UART 以进行调试、并且可以将一个简单的 USB 串行端口连接到开发板)。

对于上面的1、我认为 ADC_SoC_c28示例是一个很好的开始位置、但是、 尽管它是为通用处理器编译的(初始导入时)、但当我将处理器更改为 F28M35H52C 时 、我会在编译时遇到一组编译错误、告诉我 RAM 已分配、例如

"C:/ti/controlSUITE/device_support/f28m35x/v210/F28M35x_common/cmd/F28M35x_generic_C28_FLASH.cmd "、第46行:错误:
已指定 RAML0存储器范围
"C:/ti/controlSUITE/device_support/f28m35x/v210/F28M35x_common/cmd/F28M35x_generic_C28_FLASH.cmd "、第46行:错误:
RAML0存储器范围与现有存储器范围 RAML0重叠


显然、我的问题之一是我对 RAM 分配的理解以及如何设置 RAM 分配的理解。  我还感到困惑的是、似乎有代码可以(必须吗?) 设置为从 RAM 运行以满足时序要求;是否有人能解释从 RAM 运行的限制和/或指出我在何处定义 RAM 使用以存储结果等?

对于上面的2个问题、有人可以建议一个与(待改编) ADC_SoC_C28程序并行运行的良好启动程序吗?

谢谢、

TED

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TED、

    我认为您的发展方向是正确的。

    对于 ADC_SoC_c28示例、您可以将处理器保留为通用 C28。  项目本身有一个硬编码 CMD 文件、用于  F28M35x 上的 C28x 存储器映射:

    当您将处理器变体更改为 F28M35H52C 时、它会双重包含第二个 CMD 文件、导致冲突错误。

    对嵌入式 SRAM 的访问通常需要0等待状态、但闪存具有等待状态要求、具体取决于器件的运行速度。  由于访问停止、代码以较慢的速度从闪存执行。  因此、对时间敏感的代码和数据应在运行时放置在 RAM 中。  

    我们通常建议首先在 RAM 中进行代码开发、因为它的加载速度更快、并且需要考虑的变量更少。  您可以通过以下任一方式更改活动配置来执行此操作:

    1. 单击项目属性内的"Manage Configurations"并将 RAM 配置设置为活动、或者
    2. 右键点击工程并通过 Project >> Build Configurations >> Set Active >> RAM 选择活动配置

    如果您已正确完成此操作、项目名称旁边将有[Active - RAM]。

    您可以查看 F28M35x_examples_Dual 下的 IPC 示例、了解如何在 C28x 和 M3之间实现邮箱通信。

    Tommy