主题中讨论的其他器件:C2000WARE、
我不熟悉 C2000Ware、CCS 和现代 TI 架构。 我接触过的最后一个 TI 电路板是早在90年代就出现的 C44 Maranello 电路板。 我在以太网示例方面遇到了难题(需要 CPU_1和 CM 上协调加载和代码启动)...
创建目标配置 C2000Ware_4_03_00_00 和 A TMDSCNCD28388D 开发板。
尝试的第一个示例是针对以太网:项目的示例 Enet_lwip 和 enet_lwip_udp 。
这两个测试都失败、因为它们在中卡在循环中 以太网_resetModule() 函数(在 Ethernet.c 中)。
我起初没有意识到 必须参与 CPU_1才能使示例(目标是 ARM/CM)正常工作。 通过搜索此论坛、我了解到 C28 CPU_1必须运行代码来设置 GPIO 以便时钟驱动以太网(至少这是我的理解)。
根据我在该论坛中的阅读、我应该能够使用项目 ETHERNET_C28x_CONFIG 和的 GPIO、以配置以太网的 GPIO。 或者、如果我首先在工程设置中定义符号"Ethernet"、我可以使用项目"cm_common_config_C28x"。
但是、从论坛帖子中似乎看出、开发人员必须强制事情按特定的顺序发生... 在运行这些 ARM 项目中的一个之前、必须以某种方式首先运行 CPU_1代码(或者运行到一个断点)。 有人说要加载 C28项目、然后加载 CM (ARM)项目、再运行 C28项目(在首次设置断点后)、最后运行 CM 代码。 我认为 CCS IDE 提供了一种完成必要舞蹈的方法、但我需要有关如何实现它的说明。
如何使用 CCS 工具将代码加载(但不启动)到 CPU_1上、然后将代码加载(但不启动)到 CM 上、再仅调试/运行 CPU_1、最后运行已加载到 CM 中的代码? 我不明白如何使用 CCS 在不运行两个程序的情况下加载它们、然后分别重新连接并启动加载的程序以强制执行顺序。
此外、CM 项目配置为从开箱即用的闪存运行。 我在调试时看到一些消息:(如果我理解正确)您不应从 CPU_1上的 RAM 运行程序和从 ARM 上的闪存运行程序、因为上传/闪存进程将覆盖 RAM、从而干扰加载的 C28x 程序。 我可能只是混淆和误解我所阅读的内容以及所涉及的问题。
基本上、我需要了解如何加载 C28x 示例、CM 示例、并按适当的顺序一起运行它们。 我不太了解如何使用 CCS 工具。
以下是我读过的一些我参考的帖子:
e2e.ti.com/.../ccs-tms320f28388d-unable-to-run-ethernet-examples
e2e.ti.com/.../tmdscncd28388d-stop-with-ethernet_resetmodule-in-lwip