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
我以以下示例为示例:
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 连接并只导入项目规范、构建 和 运行?
谢谢。
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()"中的问题、该问题有几个级别下降。 请修复库中的问题并向我发送更新。 此外、请查看您是否可以了解未进行外设测试的原因。
谢谢。
您知道时间吗? 我将采取任何临时解决办法或解决办法的想法。 如果是 CSL 配置/编译器标志、您应该能够在此处发布建议。 如果它是错误的库、则会影响使用该库的所有示例。 请确保将其提升至正确的水平。
谢谢。
Yordan、您好!
对、对1、对2不确定。 我该怎么做? 我只需导入项目规范、启动"AM65x_EVM_XDS100.ccxml"、连接两个目标、加载并运行代码。 查看此主题的第一个帖子。 这是我本次练习的最终目标。 也许您可以帮助我:
我需要在 TMDX654GPEVM (AM654x GP EVM)的 CortexA53内核上创建一个"ping 示例"。 CPSW"ping example"可在 第4.10.2.5.1节中找到:
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 项目、但遇到了大量错误、例如缺少符号等、因此我认为我应该在再次尝试之前先与大家联系。
谢谢。
运行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 示例?
我们现在可以修复加载 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.*)}