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/PROCESSOR-SDK-AM335X:NDK 项目失败

Guru**** 2561490 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/612222/ccs-processor-sdk-am335x-ndk-project-fails

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Code Composer Studio

您好!

我仍在尝试获取 NDK 项目的任何示例、以便在 BBB 上加载和运行。  我大部分时间都遇到验证错误。  否则、它会加载但不会调试... 甚至看起来都在运行。  调试启动的输出为:

CortxA8:输出:EMIF 定时寄存器配置完成.........
CortxA8:输出:PHY 已就绪!!
CortxA8:输出:DDR PHY 配置完成
CortxA8:GEL 输出:打开 EDMA...
CortxA8:GEL 输出:EDMA 被打开...
CortxA8:输出:**** AM3359_ICE 初始化完成**


CortxA8:文件加载程序:验证失败:地址0x80068060处的值不匹配请验证目标存储器和存储器映射。
CortxA8:GEL:文件:C:\Users\Scott\workspace_v7\Nimu_BasicExample_bbbAM335x_armExampleProject\Debug\Nimu_BasicExample_bbbAM335x_armExampleproject.out:
发生数据验证错误、文件加载失败。

我所做的工作从零开始:

我按照以下步骤构建整个 PDK:

processors.wiki.ti.com/.../Rebuilding_The_PDK

C:\ti\pdk_am335x_1_0_7\packages/pdksetupenv.bat
未配置可选参数:
XDC 版本构建所需的 CG_XML_bin_install_path
示例:设置 CG_XML_bin_install_path=C:/ti/cg_xml/bin
未配置可选参数:
XDC 版本构建所需的 DOXYGEN_INSTALL_PATH
示例:设置 CX.XYGEN_INSTALL_PATH /ti/Doxygen/doxygen/1.5.1-p1/bin

环境配置:
LIMIT_SoC :AM335x
limit_boards :evmAM335x icev2AM335x bbbAM335x skAM335x
pdk_install_path :/ti/PDK_AM~1/packages
C6X_GEN_INSTALL_PATH :C:/ti/ti-cgt-c6000_8.1.3
toolchain_path_gcc :C:/ti/gcc-arm-none-eabi-4_9-2015q3
toolchain_path_a15 :C:/ti/gcc-arm-none-eabi-4_9-2015q3
toolchain_path_A8 :C:/ti/gcc-arm-none-eabi-4_9-2015q3
toolchain_path_a9 :C:/ti/gcc-arm-none-eabi-4_9-2015q3
toolchain_path_M4 :C:/ti/ti-cgt-arm_16.9.2.LTS
toolchain_path_arm9 :C:/ti/ti-cgt-arm_16.9.2.LTS
toolchain_path_EVE :C:/ti/arp32_1.0.8
CL_PRU_INSTALL_PATH :C:/ti/ti-cgt-pru_2.1.5
utils_install_DIR :C:/ti/xdctools_3_32_01_22_core/bin
FPULIB_PATH :C:/ti/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/fpu
Cross_tool_PRFX :arm-none-eabi-
XDC_INSTALL_PATH :C:/ti/xdctools_3_32_01_22_core
BIOS_install_path :C:/ti/bios_6_46_05_55
IPC_INSTALL_PATH :C:/ti/ipc_3_46_00_02
EDMA3LLD_BIOS6_INSTALLDIR:C:/ti/edma3_lld_2_12_04_28
NDK_INSTALL_PATH :C:/ti/ndk_2_25_01_11
IMGLIB_INSTALL_PATH :C:/ti/imglib_c66x_3_1_1_0
DSPLIB_INSTALL_PATH :C:/ti/dsplib_c66x_3_4_0_0
MATHLIB_INSTALL_PATH :C:/ti/mathlib_c66x_3_1_1_0
UIA_INSTALL_PATH 网址:/ti/uia_2_00_06_52

更改为短名称以支持包含空格的目录名称
当前目录:/ti/PDK_AM~1/packages
PDK 编译环境已配置


C:\ti\pdk_am~1\packages/cG_XML_bin_install_path=C:/ti/cg_xml/bin
无法将"CG_XML_bin_install_path"识别为内部或外部命令、
可操作的程序或批处理文件。

C:\ti\pdk_am~1\packages/set CG_XML_bin_install_path=C:/ti/cg_xml/bin

C:\ti\pdk_am~1\packages/pdkProjectCreate.bat ================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

配置:
SoC :AM335x
电路板 :全
ENDIAN :小
模块 :所有
处理器 :arm
pdk_short_name:C:\ti\pdk_am~1\packages/====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

正在检查配置...
完整
===================================================================================================================================
PDK_PARTNO :AM335
pdk_Eclipse_ID :com.ti.pdk.am335x
rtsc_platform_name:ti.platforms.evmAM3359
rtsc_target :GNU.targets.arm.A8F
ccs_device :"Cortex A.33589.ICE_AM3359

检测 PDK 中的所有工程并将其导入到工作区 C:\ti\pdk_am~1\packages/MyExampleProjects
Detected Test Project:EMAC_BasicExample_evmAM335x_armExampleproject
.... (一段时间后、它完成、没有错误) 

(为什么它需要"CG_XML_bin_install_path"、但默认情况下没有设置它、这对我来说是个谜。 但同样...)

我导入 Nimu 基本项目:

我构建项目并尝试启动它、并得到一个 Stellaris 错误:

好的、我没有使用 Stellaris、正如我对 TM4C 项目所做的那样...  因此、我将其更改为 XDS100 (我有一个 Blackhawk 20引脚)

然后、我尝试再次启动它、并且我经常收到错误:

在出现"是否正在重置 BBB?"问题时、是。  实际上、我可以运行"Resource Explorer"附带的"典型"示例工程。

有时、我实际上可以使 ti 完成加载。  它看起来是随机的、与我可以控制的任何内容无关。

发生这种情况时、调试器不允许我进行调试、它不会在任何断点停止、甚至不提供暂停选项。  控制台不显示项目打印的任何消息。  我必须假设它不是真正运行的。

此"开箱即用"示例项目有什么问题?

我还尝试导入并运行 Nimu FTP 示例项目、结果相同。  但是、我还注意到这两个项目共享同一个 cfg 文件!!  因此、在我尝试更改此示例的配置后、它也会与 FTP 项目混淆。

同样、我可以从资源浏览器中引入正常的"Typical_BeagleBone_Black_CortexA"、构建它、加载它并对其进行调试。  它告诉我 Blackhawk JTAG 单元正在工作、BBB 板正在正常工作。

对此有任何建议吗?

(对于另一个线程、似乎无法简单地将 NDK 支持添加到现有项目中...  使用 XGCONF 会留下一段未解析符号的诗句。  对于手动将库添加到项目、没有任何相关文档、每个资源都表示使用 cfg 文件。  :( )

-CSW

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Christopher、
    以下链接记录了数据验证错误:
    software-dl.ti.com/.../troubleshooting-data_verification_errors.html

    它解释了各种潜在原因。 但是的、我希望开箱即用示例能够开箱即用。 可能缺少某个步骤或设置。 我将把您的主题移至 Sitara 论坛、在此论坛中、我们的专家对 SDK 拥有最丰富的经验、并可为您提供最佳帮助。

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

    Ki、

    感谢您的回复。  这是因为加载问题、但不能使用断点或调试。

    我已经看到了该文档。  我在这场战斗中已经有几天了、然后四处搜索。  我的反应也是不应该像这样的"开箱即用"。  我不想尝试获得博士学位、解决他人的示例项目。

    此外、如果这是 GEL 文件、器件选择或其他设置、则不会是间歇性的。

    是否可能需要升级 Blackhawk 的某些驱动程序?  这是一个全新的驱动器、我安装了全新的 CCS 7.2、因为我要解决所有问题。  在某处、它安装了 Stellaris、Blackhawk、XDS 驱动程序。  我记得在安装 CCS 6.2时手动安装、但我没有在这个新驱动器上手动安装。

    此外、"将您的主题移至 Sitara 论坛..."。  不过、我将其发布到 Sitara 论坛(请参阅下文)。  然后选择了 AM335x、这是一款 Sitara 器件。  如果我没有选择合适的发布位置、请告诉我。

    -CSW

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

    [引用 user="Christopher Weber">调试器在发生这种情况时不允许我进行调试、它不会在任何断点停止、甚至不提供暂停选项。  控制台不显示项目打印的任何消息。  我必须假定它不是真正运行的。

    目标正在运行。 在屏幕截图中、看到 A8正在运行(在下面的屏幕截图中以粉色框突出显示)。 禁用许多调试按钮的原因是没有选择正确的调试上下文。 如果您在 A8的节点上选择(在下面的屏幕截图中以红色框突出显示)、则这些按钮应该可用

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

    [引述 user="Christopher Weber">感谢您的回复。  这是因为加载问题、但不能使用断点或调试。

    很抱歉,我没收到这个。 我刚刚发布了相关信息(请参阅之前的回复)[引用 USER="Christopher Weber]"我是否可能需要为 Blackhawk 升级一些驱动程序?  这是一个全新的驱动器、我安装了全新的 CCS 7.2、因为我要处理的所有问题。

    7.2应该具有相当新的 balkhawk 驱动器。 但是、您可以检查更新以查看更新是否发布了更新(帮助->检查更新)

    [引用 user="Christopher Weber"]此外,"将您的主题移至 Sitara 论坛"...?  不过、我将其发布到 Sitara 论坛(请参阅下文)。  然后选择了 AM335x、这是一款 Sitara 器件。  i[/报价]

    该论坛有点时髦、因为您指定 CCS 作为开发工具、因此论坛认为问题可以在 Sitara 或 CCS 论坛中解决。 如果您将"Select a forum"留空、我想它默认为 CCS。

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

    Ki、

    谢谢。  我选择了它、并且能够暂停。  在一些反汇编中、它已被深度暂停。  (正如预期的那样、由于 SYS/BIOS 正在运行、并且"taskFxn"只执行一个"打印"、然后存在)

    但是、它在开始时仍然不会在任何断点停止

    *和* 所有 System_printf (..)  所有地方的所有内容都不会显示在控制台中。

    这与简单的"典型"项目形成对比。  它在"main"停止、在断点停止、打印消息...

    这就是为什么我推测这个 Nimu 项目并不是真正在目标器件上运行的原因。

    现在... 再尝试加载、重新启动、调试、中断... 当我尝试按 PAUSE 时、我收到以下消息:

    CortxA8:停止目标 CPU 时出现故障:(错误-2062 @ 0x1FE)无法停止器件。
    重置设备、然后重试此操作。
    如果错误仍然存在、请确认配置、重新打开电路板电源并/或尝试更多操作
    可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.628.3)

    在哪里可以找到这些 JTAG 设置?  在我的桌面上安装的"Blackhawk"图标都是空的。

    为什么它不能与"Blackhawk"调试探针配合使用?  我使用的是 BH USB V100V2。

    谢谢。

    -CSW

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

    Ki、

    我刚才也看到了这一点:

    CortxA8:设置断点时出现问题、在0x80008368上执行"Finish Auto Run"操作:(错误-1066 @ 0x333C)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包6.0.628.3)

    CortxA8:断点管理器:使用 AET 断点重试

    那么、我需要开始深入研究映射文件吗?

    午餐后...  

    -CSW

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

    [引用用户="Christopher Weber"]

    谢谢。  我选择了它、并且能够暂停。  在一些反汇编中、它已被深度暂停。  (正如预期的那样、由于 SYS/BIOS 正在运行、并且"taskFxn"只执行一个"打印"、然后存在)

    但是、它在开始时仍然不会在任何断点停止

    *和* 所有 System_printf (..)  所有地方的所有内容都不会显示在控制台中。

    这与简单的"典型"项目形成对比。  它在"main"停止、在断点停止、打印消息...

    这就是为什么我推测这个 Nimu 项目并不是真正在目标器件上运行的原因。

    [/报价]

    我怀疑它最初运行、然后卡在某个位置。 应用程序中是否有'main'? 默认情况下、CCS 将尝试在程序加载时运行到 main。 如果没有 main、则 CCS 将继续运行、直到停止或到达另一个断点。 我想您对项目未真正运行的怀疑是正确的... 或者至少它没有正常运行。

    [引用用户="Christopher Weber"]

    在哪里可以找到这些 JTAG 设置?  在我的桌面上安装的"Blackhawk"图标都是空的。

    [/报价]

    这些设置位于您的目标配置文件中:

    http://processors.wiki.ti.com/index.php/Debug_Handbook_for_CCS#Target_Configuration_Files

    [引用 user="Christopher Weber">为什么它不能与"Blackhawk"调试探针配合使用?  我正在使用 BH USB V100V2。[/QUERP]

    支持该探针。 不知道为什么你认为它不是。

    但返回到错误消息:

    [引用 USER="Christopher Weber]CortxA8:停止目标 CPU 时出现问题:(错误-2062 @ 0x1FE)无法停止设备。
    重置设备、然后重试此操作。
    如果错误仍然存在、请确认配置、重新打开电路板电源并/或尝试更多操作
    可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真软件包6.0.628.3)[/QUERP]

    有时、这是目标进入不良状态的症状、而不是调试探针设置出现问题。 我不会很快降低 TCLK、因为这可能是根本原因所在。

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

    [引用用户="Ki-Soo Lee "]

    我怀疑它最初运行、然后卡在某个位置。 应用程序中是否有'main'? 默认情况下、CCS 将尝试在程序加载时运行到 main。 如果没有 main、则 CCS 将继续运行、直到停止或到达另一个断点。 我想您对项目未真正运行的怀疑是正确的... 或者至少它没有正常运行。

    [/报价]

    是的、它有一个"main"。  这只是"C:\ti\pdk_am335x_1_0_7\packages\MyExampleProjects\NIMU_BasicExample_bbbAM335x_armExampleProject"的示例。  完全不变。 当然、该文件夹中没有文件。 它们都与其他地方相关(对于大型共享项目而言是一个有用的概念、但很烦人、因为需要查看样片)。

    [引用用户="Ki-Soo Lee "]

    Christopher Weber
    为什么它不能与"Blackhawk"调试探针配合使用?  我使用的是 BH USB V100V2。

    [/报价]
    我指的是名为"Blackhawk"的器件...  它们在测试时都失败。 有五个名为"Blackhawk 20引脚"的器件、当我尝试"验证"时、其中的每一个器件都会出现故障。
    但是列表中没有"Blackhawk"名称的那个可以正常工作。 它是"Texas Insturments XDS 100v2 USB Debug Probe"...  但它连接到我的"Blackhawk USB XDS 100 V2" (该器件:  
    https://store.ti.com/TMDSEMU100V2U-20T-XDS100v2-JTAG-Debug-Probe-20-pin-cTI-version-P1848.aspx
    那么、什么是"Blackhawk"、什么不是?
    -CSW

    Christopher Weber
    为什么它不能与"Blackhawk"调试探针配合使用?  我使用的是 BH USB V100V2。

    支持该探针。 不知道为什么你认为它不是。

    但返回到错误消息:

    Christopher Weber
    CortxA8:停止目标 CPU 时出现故障:(错误-2062 @ 0x1FE)无法停止器件。
    重置设备、然后重试此操作。
    如果错误仍然存在、请确认配置、重新打开电路板电源并/或尝试更多操作
    可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.628.3)

    有时、这是目标进入不良状态的症状、而不是调试探针设置出现问题。 我不会很快降低 TCLK、因为这可能是根本原因所在。

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

    [引用用户="Christopher Weber"]

    但是列表中没有"Blackhawk"名称的那个可以正常工作。 它是"Texas Insturments XDS 100v2 USB Debug Probe"...  但它连接到我的"Blackhawk USB XDS 100 V2" (该器件:  
    https://store.ti.com/TMDSEMU100V2U-20T-XDS100v2-JTAG-Debug-Probe-20-pin-cTI-version-P1848.aspx
    那么、什么是"Blackhawk"、什么不是?

    [/报价]

    啊、是的。 你是对的、这会令人困惑。 所有 XDS100、XDS110和 XDS200供应商都使用我们的(TI)驱动程序。 因此、对于这些器件、您会使用前面有"Texas Instruments"的器件。 但基于 XDS510和 XDS560的情况不同。 Blackhawk (和其他供应商)往往有自己的驱动程序用于这些驱动程序、因此您需要使用 Blackhawk 提供的驱动程序。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ki、
    感谢您的深入见解。 即使这令人困惑、至少我知道这背后有一些原因。

    你会喜欢这个。 现在它在工作。
    我重新启动了。 然后应用 CCS 更新(我认为它们只是编译器更新)。 然后我重新启动 BBB。 我导入了项目中的所有源文件、因此它们不是"链接"的、进行了清理和重建。
    它在"main"停止、在我的断点停止、打印消息显示在控制台上。 一切都在正常工作。

    我无法解释原因。

    下一个问题... 实际上是一个有关问题的问题。
    如何将其设为 DHCP? 我应该在新的主题中提出这个问题吗?

    源文件中有一个硬编码的 IP。。。 我甚至找不到该文件、因为它是 PDK 或 NDK 的一部分或其他内容、路径仅相对于某个宏。 很显然、我不能(不应该)在这里更改它。
    DHCP 已在 XGCONF 编辑器中打开。 但它仍在使用硬编码 IP。

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

    [引用用户="Christopher Weber">您会喜欢它的。 现在它正在工作。[/报价]

    我真的很喜欢它的工作! 我也无法解释、但我很高兴您有一个运行环境

    [引用用户="Christopher Weber">下一个问题... 实际上是一个有关问题的问题。
    如何将其设为 DHCP? 我应该在新主题中提出这个问题吗?

    这部分我完全没有什么帮助。 这绝对是本论坛的专家所能做的。 是的、最好在此论坛中开始新的主题。

    祝您好运!

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ki、
    好的、它是新的线程。 但首先、我将在寻求帮助之前亲自挖掘。

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

    Ki、

    我自己解决了 DHCP 问题、但遇到了下一个障碍...  我想发布。  突然、我无法开机自检。  我收到一条消息:

    您已发布到一个论坛、该论坛要求主持人在帖子公开发布之前批准这些帖子。

    如果管理员已将此论坛配置为支持电子邮件通知、您将在您的帖子被批准或拒绝时(如果您的配置文件中启用了电子邮件)收到电子邮件。

    返回 Sitara 处理器论坛

    不同之处在于、它与我在其中发布的论坛相同。  我们一直在答复。

    发生什么事了?

    -CSW

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这很奇怪。 我刚刚尝试在该论坛上发帖、并且成功、因此可能是服务器的一个临时问题。 请重试
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在星期五试了两次,两次都给了我这种答复。 不确定原因。

    我不想再试一次、因为它是由主持人决定的。 我看起来像是在试图向论坛发送垃圾邮件。 此外、周六我看到 Biser 的回复称"已通知 RTOS 团队"、因此我猜最终会完成。

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

    Ki、

    这又发生了。  这一次我回复我自己的帖子之一。  其他论坛中。

    我认为有人已经厌倦了我发布我遇到的所有不完整的问题 (我花了一整天的时间尝试在 C++中编译、除了标头冲突或未解析的函数... 太混乱了)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的帖子转发给 E2E 论坛管理员。 他们目前正在对此进行研究。

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

    您现在应该是好的。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、但这将是一种"相对"的解释。 :-)

    我在 TI 提供的封装中发现了很多错误和冲突、给了我很多灰发。 这看起来实际上并不是为通用版本做好了准备。

    -CSW