尊敬的团队:
我的一位客户 的 ICE v2评估板(Sitara - AM3359)存在以下问题
请帮我们解决这个问题。
===========================================================================================================================
目前、我正在尝试运行 SYS/BIOS 工业 SDK 2.1.0.1中包含的 CAN 环回示例。 很遗憾、我在这个示例项目中遇到了一些问题、因此我希望您能为我提供一些指导、帮助我了解和克服这些问题。 我们的开发套件包含一个带有 AM3359处理器的 ICE v2评估板。 我发现的问题如下所述。
- 我不得不注释一些函数调用、这些函数调用标识了运行固件的电路板和处理器、因为它们会在无限循环中挂起。 我只是确保这些函数调用不会设置配置数据结构的成员(否则、我会手动设置它们、以获取电路板和处理器的值)。 这根本不是问题、但我认为值得提及–我希望我不会中断任何事情。
- 采样程序要求在回送模式下发送一到十个数据帧。 在介绍数据后、似乎什么都不会发生。 仅当您暂停程序并再次点击“播放”时,终端上才会显示一些字符。 在几个暂停/播放周期后、输出缓冲器将完全清空。 它是否应该在没有用户操作的情况下平滑显示字符?
- 根据处理器的技术参考手册(TI 文献编号 SPRUH73P)、图 23-6、CAN 模块应将帧发送到 TX 引脚、也是在回送模式下。 我们无法在 CAN 收发器两侧的引脚上看到任何内容。 如电路板硬件原理图中所述、连接收发器旁边引脚的跳线。
顺便说一下、我意识到电路板的引脚复用表中没有包含将引脚配置为 CAN TX/RX 的控制寄存器、因此我手动编写了配置:
* CAN0_TX_pinmux = PAD_MUX_SELECT_CAN | PAD_PULLUP_DISABLE | PAD_SLEW_CONTINT_FAST;//这会产生0x0009
其中 CAN0_TX_PINMUx 指向0x44E1 0000 (控制模块的基址)+ 0x091C (MII1_TXD3引脚的偏移、该引脚多路复用到 DCAN0_TX)。 不过、Code Composer Studio 的存储器查看器指示该寄存器的正确地址具有偏移量0x0928。 这些地址都不会在 CAN TX 引脚上产生活动。 除了此处所述的更改、我尚未从 SDK 示例中修改 CAN 驱动程序。
您能否确认引脚多路复用器的正确偏移? 我是否忘记配置任何其他寄存器以使引脚复用正常工作?
===========================================================================================================================
提前感谢您的帮助、
此致、
Bilal Malik