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.

[参考译文] AM2634:AM263x LP 套件上的 I2C3 接收中断问题

Guru**** 2551110 points
Other Parts Discussed in Thread: SYSCONFIG, AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1552965/am2634-issue-with-i2c3-receive-interrupt-on-am263x-lp-kit

器件型号:AM2634
主题中讨论的其他器件:SysConfig

工具/软件:

尊敬的团队:

我正在尝试运行 I2C3 在 AM263x LP 套件上、在从模式下具有接收中断、但我们无法调用 ISR 函数。 您能告诉我可能缺少什么吗?

此外、我还面临另一个问题:正在进行 I2C 通信并且正在进行数据交换 I2C_ICDXR I2C_CDRR 、但数据不会被复制到变量中。 您能告诉我为什么会发生这种情况吗?

我正在共享我的 main.c SysConfig 文件 还有一些 UART 日志文件 供您参考。 请检查并提供建议。

注意 — :我将 I2C1 和 I2C3 短接、只是为了减少硬件连接。 我在使用其他 MCU I2C also.e2e.ti.com/.../4186.I2C3_5F00_Slave_5F00_Main.txte2e.ti.com/.../4186.I2C3_5F00_Slave_5F00_syscfg.txte2e.ti.com/.../3438.I2C3_5F00_Uart_5F00_Log.txt 时也遇到同样的问题 

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

    您好团队在这里有任何更新?  

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

    尊敬的 Vipul:

    由于时间太长,我就要离开办公室了。

    1.我确实在 I2C3 的 I2C 数据接收寄存器中看到数据 (0x52503018 时为 0x0A) 并且在数据发送寄存器中看到相同的数据 (0x52501020 时为 0x0A)、因此 I2C 通信正常(可以确认日志中的所有三次迭代都正常工作)

    2.由于 I2C 通信似乎没问题,问题在于数据从 I2C 缓冲区复制到应用程序缓冲区,我们可能会出现一些不正确的配置或内存损坏,以便进一步确认,您是否可以在接收 中断处放置断点(在 I2C LLD 驱动程序 i2c_v1_LLD.c 中,转到 I2C_LLD_primeTransferIntr () 函数并检查被称为 Rx 的指针,以确保读取正确。

    另外、您能给我一些重现问题的步骤吗? 我只通过单个 AM2634 LaunchPad 对其进行测试吗? 如果是、您能否将您的 CCS 工程压缩并在此处以 zip 文件的形式共享、以便我可以重现并进行调试?

    此致、
    Shaunak

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

    嗨、Shaunak  

    感谢您的重播、我将根据您的建议进行检查。  

    我想通知您、我在同一个午餐区使用两个 I2C、只需移除连接即可。 和电路。

    我在变量和缓冲区中面临一些质询数据复制、还有一点、我的回调函数在 I2C 接收中断时无法调用。

    为了供您参考、我正在共享我的工程 zip 文件。

    还请指导我 e2e.ti.com/.../0066.gpio_5F00_led_5F00_blink_5F00_am263x_2D00_lp_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zipfor回调我缺少的配置。   

        

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

    嗨、Shaunak  

    是的、您的两点都正确

    由于日志中的所有三个迭代都能正常工作、因此需要确认 1.can  

    2.由于 I2C 通信似乎正常、问题在于数据从 I2C 缓冲器复制到应用程序缓冲区、因此是的

    3.我是否只通过单个 AM2634 LaunchPad 对其进行测试?  是、只需短接 LP 套件上的 I2C1 和 I2C3。  

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

    尊敬的 Vipul:

    感谢您确认、ID 需要一些时间完成此电路板模块、以便在 AM2634 LaunchPad 上进行测试。

    您能否在接收中断处放置断点(在 I2C LLD 驱动程序 i2c_v1_LLD.c 中、转至 I2C_LLD_primeTransferIntr () 函数并检查指针、检查 CSetDataCount () 是否设置了正确的读取字节、并确保调用 I2CControllerIntEx[EnableIntEx]函数 Rx。

    在此之前、您是否可以分享一些有关这方面的详细信息

    此致、
    Shaunak

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

    嗨、Shaunak  

    我尝试了你建议的步骤,但第一次代码进入调试模式,但不能跳过后 System_init (); API,如果尝试第二次,然后编译器显示。 写入内存添加错误。 这意味着代码不会进入调试模式。 这是错误日志。    

    Cortex_R5_1:AM263x
    Cortex_R5_1:选择的板:CC
    Cortex_R5_1:在长度 0x40 的第 0 页的 0x0 处写入存储器块时遇到问题(错误–1065 @ 0x40)无法访问器件存储器。 验证存储器地址是否在有效存储器中。 如果错误仍然存在、请确认配置、对电路板执行下电上电、和/或尝试更可靠的 JTAG 设置(例如下部 TCLK)。 (仿真包 20.0.0.3178)
    Cortex_R5_1:文件加载器:验证失败:目标无法写入 0x00000000
    Cortex_R5_1:GEL:file:c:\Users\vvdn\Desktop\first_LED_AM263\GPIO_led_blink_am263x-lp_r5fss0-0_nortos_ti-arm-clang\Release\gpio_led_blink_am263x-lp_r5fss0-0_nortos_ti-arm-clang.out:加载失败。

    在编译后、我尝试在 linker.cmd 文件中更改此添加内容、然后代码保持相同的添加内容。 明天我将进一步检查。   
     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试执行您建议的步骤、但第一次代码进入调试模式、但无法在 System_init () 之后跳转;API、如果尝试第二次、则编译器会显示。 写入内存添加错误。 这意味着代码不会进入调试模式。 这是错误日志。    [/报价]

    尊敬的 Vipul:

    您能否将 SBL Null 刷写到电路板中并在 OSPI 引导模式下尝试? 设备复位和重新加载二进制文件时看起来有些错误。 您只需在内核停止后在 CCS 中复位 CPU 并重新加载.out 二进制文件。  

    我今天不能花时间在这个,因为一些其他的调试,我会花时间尽快在这.

    此致、
    Shaunak

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

    嗨、Shaunak  

    空载后引导其用于调试的工作。 我已经按照您调用 API  I2CControllerIntEnableEx() 的建议在 I2CSetDataCount () 中添加断点、但不幸的是、我们无法获得此断点和回调函数、同时我仍在调试。   

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

    尊敬的 Vipul:

    我快速浏览了一下、发现了以下内容:

    我相信我们遇到了一些与解决相关的配置问题。 第一次,我们进入 I2C_PrimeTransferPoll () 函数,尝试读取但遇到地址不匹配情况,这会导致超时,从而将状态设置为错误代码,结果其他 I2C 标志不会被清除,并且在每次后续的读取调用中, I2C 总线由于第一次迭代本身而进入错误条件。

    我将尝试更改代码和测试中的一些内容。

    此致、
    Shaunak

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

    尊敬的 Vipul:

    更具体地说、I2C3 读取端的一些问题、我们有误配置了某些内容、我们确实会在 I2C3 DRR 中看到数据、从而使数据到达 I2C。

    现在、AM263x 必须使用自己的 I2C3 从器件地址来从 DRR 中读取数据。 这是在 I2CControllerDataGet 函数(读取 DRR)内完成的。

    此致、
    Shaunak

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

    嗨、Shaunak  

    是的、我使用了相同的主器件和从器件地址、bcz 在执行一些活动后、我无法获得结果、因此我认为对于通信、两个 I2C 添加操作应该相同、因此我再次进行了更改、但仍然是一样的、  

    除了数据丢失之外、我想提醒您、还请检查从模式下的 I2C 回调函数。 我会等待你的工作。    

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

    嗨、Shaunak  

    您是否在 EVAK 电路板上检查过它?  

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

    嗨、Shaunka  

    这里是否有任何更新?

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

    尊敬的 Vipul:

    我重现了这个问题、并尝试了一些实验、我提出了一个错误、供软件团队检查。 当我得到团队的回应后、我将返回更新。

    此致、
    Shaunak

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

    嗨、Shaunak  

    已备注感谢更新。 我希望你能尽快答复。   

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

    尊敬的 Vipul:

    此 (MCUSDK-14933) 应在下一个 SDK 版本中修复。 感谢您的耐心。

    此致、
    Shaunak

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

    嗨、Shaunak  

    已备注感谢更新。

    如果您可以分享、我想请问我们什么时候可以在大约时间获得这个更新的 SDK。   

    这是即将推出的 SDK 版本  MCUSDK-14.9.33 对吗?  

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

    尊敬的 Vipul:

    这是内部跟踪错误编号

    MCUSDK-14.9.33 r

    下一个 SDK 版本将是 MCU_PLUS_SDK v11.1、计划在 12 月中旬左右推出

    此致、
    Shaunak