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/AM3357:McASP 主站示例

Guru**** 2614265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/581454/rtos-am3357-mcasp-master-example

器件型号:AM3357

工具/软件:TI-RTOS

您好!

是否有任何示例显示 CPU 是主器件时如何使用 McASP?

我正在使用 VxWorks,但任何示例都可以帮助。

目前、我们设法看到时钟输出、但我们看不到数据输出。

我还想问以下问题:

"对于通过数据端口进行的传输操作、DMA/CPU 应写入相同的 XBUF 数据端口地址、以便为所有活动的发送串行器提供服务。 此外、对于所有活动的发送串行器、DMA/CPU 应该以增量(虽然不一定是连续的)顺序写入 XBUF。 例如、如果串行器0、4和5被设置为有源发送器、则 DMA/CPU 应在每次发送数据就绪事件发生时、将串行器0、4和5的数据写入 XBUF 数据端口地址四次。 必须遵循这一精确的维修顺序、以便数据出现在相应的串行器中。"

如果我们使用0、4、5个串行器(=total 3个串行器)进行传输,那么我们会说写入4次

谢谢、

已运行

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

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

    我期待他们的帮助、如果有新的东西、我会随时更新。

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

    已运行

    我相信您 正在寻找  一种配置、其中 AM335为接收和发送 提供位和帧时钟=。

    处理器 SDK 中的 AM335x EVM 提供了一个 MCASP_DeviceLoopback _evmAM335x_armExampleProject、这是一个基本的起点。  还有另一个帖子可能会有所帮助

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/564299

    正确,读取或写入操作的数量应与 接收和发送 串行器的数量相同。

    David

     

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

    尊敬的 David:

    非常感谢。
    我尝试找到这个示例、但无法找到。 您是否有此软件包的链接?

    目前、我一直在 XSTAT 中获得 XSYNCERR、尝试通过在没有 DMA 的情况下写入 XBUF 来直接发送。

    我尝试将延迟从0更改为1、2、2、但我一直得到 XSYNCERR。



    谢谢、
    已运行

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

    您好!

    我成功清除了错误、

    现在我看到:

    帧同步+时钟切换效果非常好。
    2. XSTAT 为 0 (无错误)

    但是:

    3.数据管脚 的值没有变化。

    您有什么想法吗?

    谢谢,
    已运行

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

    你(们)好

    示例文件由安装后的生成脚本创建。 http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Software_Developer_Guide 中对此进行了记录 、让我指导您完成该过程。 第一步是打开 dos 窗口并设置构建环境。 此步骤  在您希望创建示例、重新编译 PDK 或重新编译 SDK 时完成。

    我通常从 http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Building_The_SDK 上获取构建 SDK 的说明   如果您在非默认位置安装了 SDK 和/或 CCS、请按照 此处概述的步骤 从 Toplevel Makefile 构建 SDK

    注-如果您希望安装多个 SDK -最好将每个 SDK 安装在单独的子目录 http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_FAQ#Can_I_install_multiple_versions_of_the_Processor_SDK_RTOS_in_the_same_folder.3F 中

    按照 DOS 窗口中的说明、如果需要、将环境变量 CD 设置为目录 C:\ti\processor_sdk_rtos_[SoC]_[version] 并运行

     C:\ti\processor_sdk_rtos_[SoC]_[version]> setupenv.bat (用于 dos)

    ~/ti/processor_sdk_rtos_[SoC]_[version]$源文件 setupenv.sh (用于 Linux)

    此时、我们已准备好构建示例。 此页面底部有一个用于重建 PDK 的链接、我们将使用该链接来执行下一组指令

    http://processors.wiki.ti.com/index.php/Rebuilding_The_PDK

    将 CD 更改为 PDK_[SoC]_[version]\packages。  我们不需要运行 pdksetupenv.bat (dos)或 pdksetupenv.sh (Linux) 、因为此步骤包含在 setupenv 中。 下半部分 是 PDK 示例和测试项目创建 说明。  这说明了如何运行 pdkProjectCreate.bat 和 pdkProjectCreate.sh 脚本。  

    注意在当前版本中,此脚本中存在一个潜在的错误。 CCS 的位置是硬编码的

    如果您将 CCS 安装在与默认目录不同的目录中、则需要修改此值。

    这位于 pdkProjectCreate.bat 中的第331行  、设置 CCS_INSTALL_PATH="C:\ccsv6"

    在 pdkProjectCreate.sh 中的第277行 、导出 CCS_INSTALL_PATH=~/ti/ccsv6

    请参阅 pdk_ _ \packages/ti\board\lib、 用于 SoC 的有效电路板输入

    David

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

    已运行

    该示例将帮助您验证初始化设置。 接下来要检查的地方是、看看引脚多路复用器设置是否针对所需的引脚输入和输出正确。  引脚属性在数据表 www.ti.com/.../am3359 中的表4.1中进行了说明

    引脚(PADS)使用技术参考手册9.2.2节中的 PAD 控制寄存器进行配置,网址 为 www.ti.com/.../spruh73 。 第9.3.3节根据引脚属性表中使用的引脚名称列出了控制寄存器偏移位置

    例如、如果我们希望在引脚 LCD_DATA10上具有 McASP0_axr0输出。 从表4.1的数据表中可以看出、我们将引脚名称 LCD_DATA10的属性配置为模式3

    我们在 TRM 表的表9-10中查找引脚名称。 CONTRAL_MODULE 寄存器
     我们在偏移8C8h 控制寄存器名称 conf_lcd_data10中看到了第9.3.1.50节中的说明

    对于 AM335x、控制模块基址为0x44E1_0000、运行到覆盖128KB 的0x44E1_1FFF
    TRM 表2-2对此进行了说明。 L4_WKUP 外设存储器映射

    所需控制寄存器的存储器位置为0x44E1_08C8

    David