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.

[参考译文] RTOS/TMDXICE110:ICE 示例不起作用

Guru**** 2905440 points

Other Parts Discussed in Thread: AMIC110, SYSBIOS, AM3359

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/662477/rtos-tmdxice110-ice-examples-don-t-work

器件型号:TMDXICE110
主题中讨论的其他器件:AMIC110SYSBIOSAM3359

工具/软件:TI-RTOS

我开始使用 AMIC110-ICE 板。 没有内容的简单示例和 PROFINET 脚本项目正在编译、但我在运行其他示例时遇到问题。

•为什么我实际上每次都必须在 AMIC110示例中指定 evmAM3359平台? 这是导致下面所述示示例不起作用的原因吗?

•我导入了半宿主示例"生成"、在以下输出中遇到5个错误:

–“makefile:143:目标'semihost_ice_AMIC110_CortexA.out'的配方失败”

–“…ReentSupport.c:83:未定义对`ti/SysBIOS_rts_GNU_ReentSupport_checkIfCorrectLibrary`的引用”

•我导入了日志示例并可以运行它。 但当我⇒实际运行 RTOS Analyzer 的 printf 和错误日志时,我会遇到错误“无法检测到 UIA 配置”。

–当我打开“运行时对象”视图并尝试查看 LoggerBuf 时,我只看到“java.lang.exception:target memory read failed at address…”

–我也看到了许多其他可视模块的此错误。

我假定这些示例开箱即用…

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    弗兰克、

    1. evm3359平台定义了与 AMIC110一致的存储器部分。 您描述的问题不是由使用的平台引起的。

    2.不确定您所指的软件/示例。 但您很可能使用最新的 GCC (v6.3.1)和 SYS/BIOS (6.51+)版本、并且需要将-L$(SysBIOS)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu 更新为-L$(SysBIOS)/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard --specs=nano。specs、请参阅

    3.是否在.cfg 文件中配置并安装了 UIA? 查看这是否有助于:

    如果仍有问题、请指定您的软件版本和示例项目。

    此致、Garrett

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

    这些设置是正确的,但我不明白为什么我在构建设置中指定 drimon,然后还要搜索 libc.a/rdimon.a 文件?

    我尝试在“常规”项目设置中指定多个版本的`BIOS_6_52_00_12/packages/GNU/targets/arm/libs/install-native/arm-none-eabi/lib/{hard、thume/*}/{libc、librdimon}`,但我始终得到“找不到-l:/opt/TI/P-SDK-RTOS/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/lib/hard/librdimon”。

    我不明白为什么在尝试运行附带的示例时需要解决此类错误…?

    同时、我尝试加载 PDK 示例。 在这里,我在过滤构建过程时也遇到了很多错误,如“重建 PDK”中所述。 …第一个 limit_boards="evmAM335x"并在没有进一步滤波器的情况下随后选择 iceAMIC110、则可以通过某种方式工作?!

    但是、我可以重建 PDK 并执行`pdkProjectCreate.sh AM335x iceAMIC110`、但仍然找不到任何示例。 或手动导入。 我始终能找到的唯一示例是“starterware/tools/flash_writer”…?!

    然后,我尝试在 AMIC110-ICE 上运行“processor_sdk_rtos_AM335x_4_02_00_09/demos/rtos_template_app/AM335x/evmAM335x/A8/template_app/rtos_template_app_AM335x_A8_evmAM335”。 但我无法使 SPI 正常工作。 该项目仅包含 SPI_init(),而不包含其余的 SPI 内容。 现在、每次我尝试运行需要 SPI 端口(如 Board_MCSPI_SLAVE_Instance)的函数时、都会失败–由于 evmAM335x board_cfg 未指定 SPI 设置、因此我调试了该函数。

    然后、我尝试将此示例移植到 AMIC110平台、因此我适当地修改了项目设置(编译器符号:amic110、iceAMIC110、SOC_AM335x)。 这个 stil 起作用。 然后、我将链接器库从`${TI_pdk_install_DIR}/packages/ti/board/lib/evmAM335x/a8/release`更改为`${TI_pdk_install_DIR}/packages/ti/board/lib/iceAMIC110/a8/release`、但从这一点开始、一切都失败了–尽管这是正确的电路板。 然后我得到四个错误,没有太多的描述(“目标“全部”的配方失败”和“目标”的配方失败 "失败")。 单击该按钮可打开 Makefile 文件,其中仍会出现“{,_}evmAM335x。{hex,out}”。 尽管我更改了所有设置、但为什么情况仍然如此?

    在 AMIC110ICE 上获取示例、尤其是 SPI 是否如此困难? 您的整个 IDE、SDK、编译脚本等都显示了令人难以置信的错误…

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

    弗兰克、

    如果您使用 Processor SDK 中推荐的组件版本构建示例、则此时实际上不需要重新构建 PDK、也不需要更新任何设置。

    如果您尝试获取 SPI 示例、则可以参阅 pdk_am335x_1_0_9\packages/ti\drv\spi\examples\mcspi_slavemode 中的示例、并使用 以下命令构建其 CCS 工程- MCSPI_SlaveMode_MasterExample_iceAMIC110_armExampleProject 和 MCSPI_SlaveMode_AM110命令:

    C:\ti\pdk_am335x_1_0_9\packages >pdkProjectCreate.bat am335x iceAMIC110 Little SPI all arm

    您似乎已经安装了 UIA 软件包,否则,您应该会看到消息“!error:version 2.21.2.07 (或同等版本) of product-type 'com.ti.uIA' is not currently installed!” 运行 pdkProjectCreate.bat 时。 pdkProjectCreate 脚本中指定的默认 UIA_2_21_02_07不幸未附带适用于 AM335x 的 Processor SDK 4.2 (在 JIRA 内部进行了跟踪)、仅在适用于 AM572x 的 PSDK 中提供以下内容:

    您可以下载该软件包、但只需安装 UIA 即可获得最新版本2.21.07。

    最后一个示例 CCS 工程将在 ti\pdk_am335x_1_0_9\packages\MyExampleProemcs 下生成。

    您是否在 Linux OS 环境下构建示例? 我注意到您使用是 pdkProjectCreate.sh 而不是 pdkProjectCreate.bat

    我已从 Windows PC 附加 SPI 示例构建日志。 希望您可以继续。

    除非需要更新或调试驱动程序(而不是示例).e2e.ti.com/.../spi_5F00_example_5F00_build_5F00_log.txt、否则需要重新编译 PDK

    此致、Garrett

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

    是的,我运行 Linux (特别是 Fedora,如果您感兴趣的话)。 您应该尝试让 Flatpak 版本的 CCS 正常工作、然后顺便统一一下您的 Linux 工作! 请参阅 flatpak.org 和 projectat原 子.io。

    很抱歉,如果我的帖子听起来有点粗鲁,但上周我很不高兴,因为一些 SYS/BIOS IC_AMIC110通用示例工作正常,而其他一些则不工作。 内部似乎仍然存在一些配置错误、即使 AMIC110现在已存在一段时间。

    关于 PDK 编译、您应该修复错误、即
    `make limit_boards="iceAMIC110 [limit_SoCs="AM335x" limit_cores="a8"]`
    不能正常工作
    `m清洁`。
    目前、我需要运行
    `make limit_boards="evmAM335x"`
    首先、iceAMIC110版本起作用–因此显然存在一些依赖性问题。

    我可以通过您的帮助管理要生成的 PDK 示例、并修复一些路径。 在项目配置中仍有编译器符号“am3359”–指定“amic110”是否会导致复杂问题,或者这没有什么区别? 在尝试运行您的 Profinet 示例时、我在同一区域已经遇到了一些问题:我还必须修复设置中的一些符号、以便它在 AMIC110ICE 上成功编译和运行(开箱即用、它始终在`Board_init()`挂起)。

    我将研究如何解决这一 UIA 问题…
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Frank、

    很高兴看到您正在取得进展!

    感谢您共享的网站。 目前、CCS 仅在一组定义的 Linux 发行版上进行验证。 通常,这是最新的 Ubuntu LTS、以前的 Ubuntu LTS 和 CentOS 发行版(代表 RedHat),请参阅此处- processors.wiki.ti.com/.../Linux_Host_Support_CCSv7 ,希望 CCS 可以不断发展,并且可以支持多个 Linux 操作系统版本。

    没问题。 我完全可以理解,在处理一些不应发生的意外杂项时,我们感到沮丧。

    我可以使用 AMIC110重现 PDK 重建问题、并且刚刚提交了错误 JIRA 进行修复。 该问题可能在最新的 Processor SDK 4.2中引入。

    您可能仍会在编译器符号集中看到"am3359"、这应该可以、因为 AMIC110只是 AM335x 的变体。

    您可以创建另一个线程、发布您在运行 Profinet 时观察到的错误、我们可以在此处进行讨论。

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

    您好、Garrett、

    Linux 的问题在于,我们无法将我们的发行版本与我们当前使用的程序的每一个建议交换–就大多数而言,我们可以使用允许或默认的(在 Siemens 中是 Debian)–或者在某些情况下(作为我的), 我们最喜欢和最擅长的方面。 ;)对于 Flatpaks,您可以选择一种“标准化”环境,这种环境在每次安装时都是完全相同的(和沙盒)。 它几乎在所有发行版上运行、无需再执行 ado (安装 Flatpak 程序除外)、而您的问题将得到缓解。 我还尝试在我的 Fedora 27主机上的 Debian VM 中运行 CCS 7.3、因为它在另一台 Debian 机器上运行、但调试器无法正常工作(Blackhawk USB560v2)。 但 CCS 7.4最终在 Fedora 上运行! 所以这个问题就没有了。

    顺便说一下、AMIC110 mcspi_slavemode 示例在编译器选项中定义 DMA 符号时会出现一些 EDMA3相关性问题。

    我考虑到所有 AMIC110内容的另一个问题是,我始终必须停用 M3内核,否则,我会遇到一些“保持复位”错误。 但我不知道这是否与 AMIC110ICE-BTA (BETA?)相关 版本。 从昨天开始,我现在也有了常规版本,下周我将再次使用新版本检查该版本。

    此致、
    弗兰克

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

    您好、Frank、

    我同意并希望 CCS 将来可以合并到"标准化"环境中。 很高兴看到您不再受到 CCS/OS 问题的困扰。

    对于 UART、EMMC 等外设的 DMA 模式、我们通常提供单独的 CCS 工程示例、其中包含相应的编译器符号、cfg 文件和相关文件。 从 SPI 示例中、当前只提供非 DMA CCS 项目。 要启用 DMA、除了'SPI_DMA_ENABLE'编译器符号之外、您还需要在.cfg 文件中执行以下操作:

    /*加载 EDMA 包*/
    var drv             = xdc.loadPackage ("ti.sdo.EDMA3.drv");
    var rm             = XDC.loadPackage ("ti.sdo.EDMA3.rm");

    并将\ti\drv\spi\soc \AM335x\下的所有文件添加/链接到项目。

    我不确定是否存在与 BH USB560v2 JTAG 驱动器相关的"保持复位"问题。 我在 Windows 中使用 BH USB 560-M JTAG、在 AMIC110ICE-BTA 板上没有问题。 如果您的新电路板仍然存在连接问题、请告知我们。 如果您可以为新问题创建单独的线程、那将非常有用、谢谢。

    此致、Garrett