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.
工具/软件:Code Composer Studio
您好!
我在过去的48小时内尝试让 sci 内核引导加载程序与 DRV8301-HC-EVM 配合使用。 但我被卡住了。 我需要有人确认这在我的硬件上是可行的。
我设法使用 J12接头和 USB 转串行电缆进入内核开始下载的部分;
但是、当它应该拼接实际的闪存十六进制文件时、它的结尾是:
其中发送的最后几位数字仍然只是内核十六进制、我已经对该文件进行了双次检查。 似乎内核在上传后没有真正开始运行、这是出于某种原因? 我应该看到什么、当它实际工作时、它看起来是怎样的? 工作正常吗? 您身边的任何人实际上都在 win10计算机上测试了此硬件的代码? 您的 EVM 是否存在阻止 SCI 引导加载程序的硬件限制? 我的十六进制文件是否有问题? 我使用以下命令在编译时创建它们;
我还尝试使用 Visual Studio 构建您提供的应用程序、这没有什么不同。 我尝试注释掉.cpp 中的#kernel.hex、并在没有内核的情况下上传代码。 但是、这会导致内核仍然上载、或者如果我在命令窗口中将命令保留为"不显示"、则应用程序会崩溃。
我们已经花了5年的时间根据您在这里的硬件为我们的产品开发电机驱动器。 现在、我们在一个看似微不足道的问题上停下来。
欢迎提出任何想法。 我已经阅读了每一个关于您所拥有主题的论坛。 没有任何解决方案能为我们服务。
Mikael、
我想添加我在这里运行的内容。
-在尝试下载 文件夹 f28004x_fw_upgrade_example 中的内核 flashapi_ex2_sci_kernel.txt 时遇到了一个与您一个月左右以前类似的问题。 我无法解决该问题、最终不得不使用 CCS 和 JTAG 将其下载到器件中。 您处于 SCI 引导模式、对吧?
谢谢、
Sira
Mikael、
这是我在 SCI 引导中 F28004x controlCARD 上使用引导开关运行的命令。 它会运行、但当我切换到闪存引导并重置器件时、不会发生任何情况。 我尝试了内核(不同的构建配置)和应用(led_ex1_blinky.txt 以及另一个组合、我知道这是有效的)的多种组合。
serial_flash_programr.exe -d f28004x -k f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel.txt–a f28004x_fw_upgrade_example\led_ex1_blinky.txt -b 9600 -p COM10
请参阅下面的屏幕截图。 它似乎通过 SCI 传输、然后再次询问我要执行什么操作? 我不知道在这里该怎么办。 通常,我只是对应用程序进行编程,我会看到同样的消息,只需单击0即可。 但是现在,由于我们同时下载内核和应用程序,我不确定所传输的内核是否为内核,应用程序是否需要继续?
此外,我不确定使用什么 SCI 闪存内核(Ex2)构建配置来生成 flashapi_ex2_sci_kernel.txt。 如果我使用 CPU1_RAM 配置、那么在运行命令后、如果我连接到 CCS 并查看存储器、我可以在那里看到有效的信息。 但在器件复位时、它显然被擦除。 另一方面、我们希望刷写内核和应用、因此如果我使用 BANK0_LDFU 构建配置、则闪存为空。
谢谢、
Sira
Mikael、
我没有听到你们的反馈、但我一直在尝试、似乎确实有问题。
首先、完全忽略我之前的帖子(我发布的图片除外)。 在这篇文章中、我将会更清楚、更具体。
以下是我的观察结果摘要:
在 SCI 引导模式下、我运行以下命令。
serial_flash_programr.exe -d f28004x -k f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel-CPU1-RAM.txt -a f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel-Bank0-LDFU.txt -b 9600 -p COM10
因此、实质上、我尝试使用同一闪存内核的 CPU1_RAM 构建配置文件将 Bank0_LDFU 闪存内核加载到闪存的 Bank0中。 首先将 CPU1_RAM 内核下载到 RAM、然后弹出一条消息(如上一篇文章中的图片)、询问我要执行什么操作。 在这里、我需要选择1 DFU (器件固件更新)、这会将 Bank0_LDFU 闪存内核映像加载到闪存(Bank0)中。 这对我来说很有用。 操作完成后、我可以连接到 CCS 并查看相应的闪存存储器位置、并确认它们包含预期的值。
我们现在在闪存中有 Bank0_LDFU 内核。 但在您的情况下、根据您发送的图片、将内核下载到 RAM 后、您不会收到将"应用程序"下载到闪存的消息。
下一步是将我的"true"应用程序下载到闪存。 这就是我遇到问题的地方。 但是、在我开始解释这些内容之前、我将等待您的回复。
也许您可以使用建议的构建配置尝试我所做的步骤。
谢谢、
Sira
您好!
感谢您的意见!
我终于为 F28069解决了这一切。 在我的情况下、硬件连接发生冲突、而 SCI 在评估套件上同时连接到 FTDI 控制器和 J12。 这会导致奇数数据。 一旦我移动到仅使用 FTDI 设备提供的 COM 端口、我就设法解决了这个问题。
我已经将引导加载程序移至 FLASHA、将应用程序移至 FLASHE/D/C 我让它为我的处理器工作、也可以跳转到我的应用并启动它。 我还必须更改 PC 端的代码、删除 F05_DownloadImage.cpp 中的所有内核加载部分。(注释掉#define kernel 是不够的。) 出于某种原因、我还必须对 F28069端的内核代码中的跳转进行硬编码、因此我删除了"return EntryAddr;"并将其更改为"asm (" LB 0X3EE134");"、这是我的应用程序启动的正确位置。 我还添加了一个小计数器作为超时、以便如果未加载固件、应用程序在大约10秒后自动启动。
只是想更新一下。
Mikael、
很高兴听到! 感谢您的详细更新-在我尝试解决最后的问题时、我会记住您的更改
同时、请将问题标记为已解决。
谢谢、
Sira