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-AM65X:CCS/PROCESSOR-SDK-AM65X

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/790751/ccs-processor-sdk-am65x-ccs-processor-sdk-am65x

器件型号:PROCESSOR-SDK-AM65X
主题中讨论的其他器件:AM6548TMDX654GPEVM

工具/软件:Code Composer Studio

我以以下示例为示例:

http://software-dl.ti.com/processor-sdk-rtos/esd/docs/05_02_00_10/rtos/index_examples_demos.html

1.将以下项目导入到空白工作区文件夹中:

C:\ti\processor_sdk_rtos_am65xx_5_02_00_10\demos\rtos_template_app\am65xx\evmAM65xx\a53\template_app\rtos_template_app_am65xx_a53_evmAM65xx.projectspec

2.按照第9.1.4.2节"任务2"导入和重建。

3.遵循第10.3.1.3.1节。 CCS 主机设置、以将我的目标配置保存在文件夹中。

此时指令变得模糊。 在任何情况   下、我都启动了名为 AM65x_EVM_XDS100.ccxml 的目标配置.ccxml 文件(注意、项目模板具有自己的名为 AM6548.ccxml 的.ccxml 文件)。 将 CCS 连接到 DMSC_Cortex_M3_0;将 CCS 连接到 CortexA53_0_0。 我经常收到以下错误消息:

CortexA53_0_0:GEL:执行 OnTargetConnect()时出错:目标无法读取0x0000000002988030

AT (READ_MMR ((0x02988000U+0x00000030U))&(0x80000FFF=0x80000FFF)[M4_R5orA53_Startup.gel:37]

在 OnTargetConnect()

重启 EVM 未修复它的电源。 硬件复位到 CortexA53有时会修复它。 我想知道原因、但这不是我撰写本文的主要原因。

成功连接 DMSC_Cortex_M3_0和 CortexA53后、我加载了 C:\Users\209211\processor_SDK\RTOS_TEMPLATE_APP_AM65xx_A53\Debug\RTOS_TEMPLATE_APP_AM65xx_A53.out 并收到以下消息:

CortexA53_0_0:自动运行:目标未运行、因为符号"main"未定义

我点击"Run"、串行端口终端卡在此处:

 

在这之后、我认为代码崩溃。 没有调试符号、因此我无法进行调试。 硬件复位也不起作用、我在执行硬件复位后得到:

CortexA53_0_0:CPU 复位失败(HW)

以下是我的问题:

1、出了什么问题?

2. 如何使代码运行到 main()并从"Board Init Complete"继续?

3.在一个蓝色月中,我得到了 CCS 来完成"while ======== 已成功创建应用程序任务==== ”但我现在知道我是怎么做的。  我没有可重复的方法。

4.到 DMSC_Cortex_M3_0的连接有什么作用? 是否有方法可以消除单独的目标配置/CCS 连接并只导入项目规范、构建 和 运行?

谢谢。

 

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

    [引用]成功连接 DMSC_Cortex_M3_0和 CortexA53后、我加载了 C:\Users\209211\processor_sdk\RTOS_TEMPLATE_APP_AM65xx_A53\Debug\RTOS_TEMPLATE_APP_AM65xx_A53.out 并收到以下消息:

    CortexA53_0_0:自动运行:目标未运行、因为符号"main"未定义

    这是一个已知问题、遗憾的是、它仍未得到解决。 请参阅 :e2e.ti.com/.../751207

    [引述]4. 到 DMSC_Cortex_M3_0的连接有什么作用? 是否有方法可以消除单独的目标配置/CCS 连接并只导入项目规范、构建和运行?

    Cortex M3_0执行处理器初始化、连接到它时、可以在 CCS 控制台上看到初始化消息。 您无法跳过目标配置步骤、因为它会初始化您的电路板(设置 PLL、DDR 等)。 否则、您无法在处理器上运行任何代码(这相当于 RTOS 或 Linux 中的引导加载程序)。

    至于代码未通过 Board Init 消息、我也遇到了此问题。 让我进一步检查一下、我将进行更新。

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

    Yordan、您好!

    感谢您的快速响应。 我认为"代码未通过 Board Init 消息"问题需要 尽快解决。 再加上"符号 main 未定义"问题、使得 SDK 无用。 您提到的另一篇文章说、即使存在"符号 main 未定义"问题、代码仍正常运行。 但这里并非如此。 在出现"Board Init"消息后、代码明显停止。  请注意、如果我很幸运、请等待10到20分钟。 它确实通过电路板初始化运行。 但这是一个罕见的事件。 我们是否缺少一些时钟设置?

    谢谢。

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

    好的。 下面是一个"扫描地毯下的错误"变通办法:

    1.将"GPIO_V0.c"和"GPIO_V0.h"从 PDK 拖到"rtos_template_app_am65xx_a53"项目。
    2.在"GPIO_V0.c"中、注释掉522-543行、并在"GPIO_setConfig_V0 ()"中添加一行:

    /*配置 SOC 中断路径(如果有)*/
    //if (hwAttrs->socConfigIntraPath!=NULL){
    // ret_socIntraPath =(*hwAttrs->socConfigIntraPath )(portnum, pinNum, hwAttrs, true);
    //}
    RET_socIntraPath=CSL_PASS;

    3.这将通过"Board Init"消息,但现在会在"====后卡住 已成功创建应用程序任务==== "。 应该有 GPIO LED 测试和 UART 测试、但它们并未发生-可能与我注释的代码相关。

    "GPIO_setConfig_V0 ()"中的真正问题是"Sciclient_service()"中的问题、该问题有几个级别下降。 请修复库中的问题并向我发送更新。 此外、请查看您是否可以了解未进行外设测试的原因。

    谢谢。

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

    感谢您分享您的发现。
    [报价]请修复库中的问题并向我发送更新。[/报价]
    这可能由开发团队研究、应在下一个 Processor SDK RTOS 版本中修复。

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

    您知道时间吗? 我将采取任何临时解决办法或解决办法的想法。 如果是 CSL 配置/编译器标志、您应该能够在此处发布建议。 如果它是错误的库、则会影响使用该库的所有示例。 请确保将其提升至正确的水平。

    谢谢。

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

    您能否确保:

    1.您在 EVM 上使用了"不引导-调试"模式?
    2.您使用高级设置、该设置使用 am65xx_launch.js 脚本设置 DMSC 固件

    在运行 RTOS 模板应用程序之前?

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

    Yordan、您好!

    对、对1、对2不确定。 我该怎么做?  我只需导入项目规范、启动"AM65x_EVM_XDS100.ccxml"、连接两个目标、加载并运行代码。 查看此主题的第一个帖子。 这是我本次练习的最终目标。 也许您可以帮助我:

    我需要在 TMDX654GPEVM (AM654x GP EVM)的 CortexA53内核上创建一个"ping 示例"。 CPSW"ping example"可在 第4.10.2.5.1节中找到:

    http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#examples

    2.请帮助我创建 一个运行 CPSW"ping example"的 CCS 项目。 我正在使用 Windows 环境。 正如您从我的第一篇帖子中看到的。 我使用的是 Processor SDK RTOS 05_02_00_10。 我注意到该示例仅在05.03.00.07中。 我也下载了05.03.00.07。
     
    谢谢。

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

    Chris、

    在 AM65x 器件上、仅n`t GEL 文件进行软件开发的传统方法不起作用。 DMSC/Cortex M3旨在成为该器件上的资源、电源/时钟管理和安全管理器。 对于运行时服务、我们为 M3提供固件、该固件需要作为目标连接过程的一部分进行加载、该目标板库调用该过程来设置时钟并启用所有模块。

    使用 GEL 文件的基本设置仅用于电路板启动、用户需要一种更简单的机制来设置 EMIF 以配置外部 DDR 接口。 除此之外的任何开发都需要 DMSC/M#固件设置、因为固件用于时钟设置、UDMA 资源分配、防火墙设置和其他电源管理服务。

    此处介绍了自动加载 DMSC 固件和相关初始化的高级设置:(请勿跳过任何步骤)
    http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_how_to_guides.html#advanced-am65x-debug-setup-with-dmsc-firmware-load

    Processor SDK RTOS v5.03昨天已发布、因此您可能在更新未完成时尝试访问它。 我们建议更新到较新的 SDK、尤其是在以前版本中没有新功能的情况下。

    此致、
    Rahul

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

    您好、Rahul、

    感谢您的快速响应。 我创建、启动并连接了"AM65x_EVM_XDS110.ccxml"。 DMSC/Cortex M3始终首先连接。 我尚未调试 GEL 文件。

    请指引我的正确联系方式、以帮助我在 TMDX654GPEVM (AM654x GP EVM)的 CortexA53内核上的 Windows 中使用 CCS 创建"ping 示例"。

    我在第4.10.2.5.1节中找到了 CPSW"ping 示例":
    software-dl.ti.com/.../index_Foundational_Components.html

    但"pdkProjectCreate.bat am65xx"不起作用。 cmd 提示符为"File not found"、"No projects detected"并退出。 不生成任何内容。

    我应该重新构建 PDK 吗? 组件应该已经在那里。 我不需要更改任何函数、因此我不必重新构建 PDK、对吧?

    谢谢。

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

    Chris、

     n`t 使用 sciclient 驱动程序中的 launch_am65x.js 脚本、则不需要首先连接到 M3。 这会自动执行所有必需的 SOC 初始化并连接到 R5F 内核。 如果您在固件加载后连接到 M3、然后在 A53上运行代码、则电路板初始化将不会进行、因为它期望 M3固件正在运行。  这对于确保正确设置此设置至关重要、因此请查看我在上一帖子中提供的链接。

    使用此脚本连接设备的用户体验应如下所示:

    e2e.ti.com/.../AM65x_5F00_EVM_5F00_target_5F00_connect_5F00_log.mp4

    我已在此处解决了使用 pdkProjectCreate 的 AM65x 没有 CCS 工程的问题:

    从 E2E 中的响应中、您会注意到大多数 PDK 驱动程序单元测试都是基于 makefile 的、目前未设置为 CCS 工程。 n`t 仅构建 CPSW 示例、您不需要重新构建 PDK。 可以使用以下步骤来构建属于 Nimu 一部分的 CPSW 的 ping 示例:

    设置 SDK buld 环境

    cd pdk_am65x_x_x\packages

    Gmake Nimu

    您还可以在此处查看我的回答、以便进行更有针对性的构建:

    https://e2e.ti.com/support/processors/f/791/t/766596?tisearch=e2e-sitesearch&keymatch=%20user:42495

    希望这对您有所帮助。

    此致、

    Rahul

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

    您好、Rahul、

    非常感谢您分享信息。 我观看了视频、并通过"gmake Nimu"构建了 Nimu。 但我的目标是为 CPSW Ping 示例生成 CCS projectspec。 请告诉我、是否有所有这些任务。

    我还尝试了 pdkProjectCreate.bat、但未生成任何内容:

    C:\ti\pdk_am65xx_1_0_4\packages >pdkProjectCreate.bat am65xx
    ========================================================================================================================================================
    配置:
      SoC            :  am65xx
      板:            全部
      端字节序         :  小
      模块         :  全部
      project_type   :  全部
      处理器      :  ARM
      pdk_short_name :  C:\ti\pdk_am~2\packages/
    ========================================================================================================================================================
    正在检查配置...
    完成
    ========================================================================================================================================================
      pdk_PARTNO        :AM65XX
      pdk_Eclipse_ID    :com.ti.pdk.am65xx
      RTSC_platform_name:
      RTSC_TARGET       :
      CCS_DEVICE        :
    (小部分
    检测 PDK 中的所有工程并将其导入到工作区 C:\ti\pdk_am~2.
    \packages\\MyExampleProjects
    找不到文件
    未检测到工程
    项目生成完成
    (小部分

    昨天、我基于 Nimu Makefile 一起 Hacked 了一个 CCS 项目、但遇到了大量错误、例如缺少符号等、因此我认为我应该在再次尝试之前先与大家联系。

    谢谢。

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

    AM65xx 的 EMAC 没有 CCS 示例。 如软件开发指南(software-dl.ti.com/.../index_device_drv.html)中所述 、其构建类型为 make 文件。 您应该运行:
    CD ~/ti/pdk_am65xx_1_0_4/packages
    来源:pdksetupenv.sh
    制造 EMAC
    以构建此 EMAC_cpsw 应用。 有关通过 makefile 构建应用程序的完整指南、请访问:
    software-dl.ti.com/.../index_device_drv.html

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

    运行2小时后:

    pdksetupenv.bat

    2. Gmake EMAC

    我收到以下错误消息:

    > C:/ti/pdk_am65xx_1_0_4/packages/ti/binary/Emac_Icssg_TestApp/bin/am65xx_evm/temp_stdout.txt
    PowerShell -ExecutionPolicy 无限制-command C:/ti/pdk_am65xx_1_0_4/packages/ti/build/makerules/x509CertificateGen.ps1 -b C:/ti/pdk_am65xx_1_0_4/packages/ti/binary/Emac_Icssg_TestApp/bin/am65xx_evm/EMAC_Icssg_am65xx_evm_mpu1_0TestApp_release.appimage -o C:/ti/pdk_am65xx_1_0_4/packages/ti/binary/Emac_Icssg_TestApp/bin/am65xx_evm/EMAC_Icssg_am65xx_evm_mpu1_0TestApp_release.appimage.signed -c R5 -l 0x41C00100 -k C:/ti/pdk_am65xx_1_0_4/packages/ti/build/makerules/k3_dev_mpk.pem
    正在检查 OpenSSL ...
    未找到! 请安装 OpenSSL
    gmake[4]:***[C:/ti/pdk_am65xx_1_0_4/packages/ti/build/makerules/common.mk:632:C:/ti/pdk_am65xx_1_0_4/packages/ti/binary/Emac_Icssg_TestApp/bin/am65xx_evm/EMAC_Icssg_am65xx_evm_mpu1_0TestApp_release.appimage ]错误1
    gmake[4]:离开目录'C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac/test/EmacLoopbackTest
    gmake[3]:***[C:/ti/pdk_am65xx_1_0_4/packages/ti/build/comp_top.mk:370:EMAC_Icssg_TestApp]错误2.
    gmake[3]:离开目录'C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac
    gmake[2]:***[C:/ti/pdk_am65xx_1_0_4/packages/ti/build/comp_top.mk:222:mpu1_0_app]错误2.
    gmake[2]:离开目录'C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac
    gmake[1]:***[C:/ti/pdk_am65xx_1_0_4/packages/ti/build/comp_top.mk:216:am65xx_evm_app]错误2.
    gmake[1]:离开目录'C:/ti/pdk_am65xx_1_0_4/packages/ti/drv/emac
    gmake:***[makefile:77:EMAC]错误2.

    是否仍可以在 出现此故障时运行 EMAC_Cpsw_TestApp 示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    安装 ti-processor-sdk-linjux-rt-am65xx-evm-05.03.00.07需要多长时间? 似乎卡在"...evm.tar.xz"文件中。 我使用的是 VMware Ubuntu 16.04 LTS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    对于 RTOS 中的 EMAC 构建、日志显示:
    未找到! 请安装 OpenSSL

    Processor SDK RTOS 软件开发人员指南指出:

    构建 SDK 需要 Windows 10。
    在 Linux 上构建 SDK 需要 Mono。 您可以通过在 Linux 提示符下键入“mono–version”来检查是否安装了 mono。 如果未安装 Mono,请从此处下载并安装 Mono
    构建 AM65xx 的 SDK 需要 OpenSSL。 在命令提示符下键入“openssl version”,检查 OpenSSL 是否已安装。 如果未安装 OpenSSL、请为您的操作系统下载并安装 OpenSSL。
    对于 Windows:下载并安装 Strawberry Perl。 Strawberry Perl 安装程序会自动安装和设置 OpenSSL。
    对于 Linux:在 Linux 命令提示符处执行命令"sudo apt-get install openssl"。
    请参阅 :software-dl.ti.com/.../index_overview.html

    安装 Linux SDK 不应花费太多时间。 在提取存档时、它会减慢一点(似乎安装受阻)、但不应花费太多时间、可能是您的计算机上的延迟是由于使用虚拟机而导致的、这会更慢。

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

    我们现在可以修复加载 A53时缺少的符号、从而阻止 CCS 执行符号调试。 根据我们的根本原因、与 Linaro GCC 工具链团队合作时、GCC 中存在一个问题、即生成构建 ID 时、内容会损坏、但稍后会将其声明为 NoLoad。

    最简单的权变措施(在我看来)是完全禁用 Build-id 功能。

    转到 CCS 工程属性

    转至 Build -> GNU Linker -> Miscellaneous

    单击"+"添加其他标志。

    输入-wl、--build-id=none 作为您的标志。

    下面是一个屏幕截图:

    替代的修复方法是删除模板应用程序 linker.lds 中的 NoLoad:

    -.not.gnu.build-id (NoLoad):{*(.not.*)}

    +.not.gnu.build-id:{*(.not.*)}