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.

IWRL6432BOOST: IWRL6432BOOST

Part Number: IWRL6432BOOST
Other Parts Discussed in Thread: IWRL6432

uart_echo_xwrL64xx-evm_m4fss0-0_nortos_ti-arm-clang的uart-J9.13
1:在< example.syscfg>把UART_TX pin 从PAD_A0/E10设置为PAD_AN/L12,
把USB转TTL的RXD管脚连接到J9.09(XDS_UARTA_TX),
重新编译,在SSCOM上可以看到收发正常。
2:在< PROC117B(001_IWR)_Sch.PDF>的R147焊接上0欧电阻后,
在< example.syscfg>把UART_RX pin 从PAD_AP/F11设置为PAD_AM/J11,
把USB转TTL的TXD管脚连接到J9.13(XDS_UARTA_RX)上。
重新编译,在SSCOM上可以看到收发不正常,
文件uart_echo.c的函数uart_echo的UART_read接收不到数据。

  • 您好,您的问题我们需要升级到英文论坛寻求帮助,如有答复将尽快回复您。

  • 您好,

    您的问题工程师正在查看中。

    2:在< PROC117B(001_IWR)_Sch.PDF>的R147焊接上0欧电阻后,
    在< example.syscfg>把UART_RX pin 从PAD_AP/F11设置为PAD_AM/J11,
    把USB转TTL的TXD管脚连接到J9.13(XDS_UARTA_RX)上。
    重新编译,在SSCOM上可以看到收发不正常,
    文件uart_echo.c的函数uart_echo的UART_read接收不到数据。

    在问题2中,是只有 uartA Rx 无法正常工作,还是说 uartA Rx 和 TX 似乎都不能正常工作? 

  •  uartA Rx 不能工作;

     uartA Tx 能正常工作

  • 好的了解了,我们转达给工程师看下。

  • 您好,

    可能还需要您分享下 GND 连接的相关信息。 请确保 USB 转 TTL 的 J9.2和 GND 之间存在连接。

    此外,能否分享下 example.syscfg 和 uart_echo.c 中进行了哪些更改? 是否在 syscfg 中添加了另一个 UART 实例,或者说为 uartA 修改了现有的 UART 实例? 能否分享下图像与 UART 的 syscfg 设置? 

  • /*
     *  Copyright (C) 2021 Texas Instruments Incorporated
     *
     *  Redistribution and use in source and binary forms, with or without
     *  modification, are permitted provided that the following conditions
     *  are met:
     *
     *    Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     *    Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the
     *    distribution.
     *
     *    Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */
    
    /* This example demonstrates the UART RX and TX operation by echoing char
     * that it recieves in blocking, interrupt mode of operation.
     * When user types 'quit', the application ends.
     */
    
    #include <string.h>
    #include <kernel/dpl/DebugP.h>
    #include "ti_drivers_config.h"
    #include "ti_drivers_open_close.h"
    #include "ti_board_open_close.h"
    
    #define APP_UART_BUFSIZE              (200U)
    #define APP_UART_RECEIVE_BUFSIZE      (8U)
    
    uint8_t gUartBuffer[APP_UART_BUFSIZE];
    uint8_t gUartReceiveBuffer[APP_UART_RECEIVE_BUFSIZE];
    volatile uint32_t gNumBytesRead = 0U, gNumBytesWritten = 0U;
    
    #define APP_UART_ASSERT_ON_FAILURE(transferOK, transaction) \
        do { \
            if((SystemP_SUCCESS != (transferOK)) || (UART_TRANSFER_STATUS_SUCCESS != transaction.status)) \
            { \
                DebugP_assert(FALSE); /* UART TX/RX failed!! */ \
            } \
        } while(0) \
    
    void uart_echo(void *args)
    {
        int32_t          transferOK;
        UART_Transaction trans;
    
        Drivers_open();
        Board_driversOpen();
    
        DebugP_log("[UART] Echo example started ...\r\n");
    
        UART_Transaction_init(&trans);
    
        /* Send entry string */
        gNumBytesWritten = 0U;
        trans.buf   = &gUartBuffer[0U];
        strncpy(trans.buf,"This is uart echo test blocking mode\r\nReceives 8 characters then echo's back. Please input..\r\n", APP_UART_BUFSIZE);
        trans.count = strlen(trans.buf);
        transferOK = UART_write(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        /* Read 8 chars */
        gNumBytesRead = 0U;
        trans.buf   = &gUartReceiveBuffer[0U];
        trans.count = APP_UART_RECEIVE_BUFSIZE;
        transferOK = UART_read(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        /* Echo chars entered */
        gNumBytesWritten = 0U;
        trans.buf   = &gUartReceiveBuffer[0U];
        trans.count = APP_UART_RECEIVE_BUFSIZE;
        transferOK = UART_write(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        /* Send exit string */
        gNumBytesWritten = 0U;
        trans.buf   = &gUartBuffer[0U];
        strncpy(trans.buf, "\r\nAll tests have passed!!\r\n", APP_UART_BUFSIZE);
        trans.count = strlen(trans.buf);
        transferOK = UART_write(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        DebugP_log("All tests have passed!!\r\n");
    
        Board_driversClose();
        Drivers_close();
    
        return;
    }
    
    example.syscfg

  • 0525.example.syscfg

    目前只用一个uart实例,demo代码只是改了uart管脚配置。可以视频远程沟通、深圳当面沟通吗?

  • 提取码:pk4h

    工程源码在百度网盘,

     链接:pan.baidu.com/.../1N8RBR9piPTVZbeXZLTz4LA
    提取码:pk4h

    请看看该工程有什么问题?

    可以视频远程沟通吗?或者福州、厦门、深圳、上海当面沟通吗?

  • 抱歉,论坛目前只支持线上沟通。

    还请您重新以word、pdf等格式分享下工程文件,我们无法将百度网盘的文件分享给国外的工程师哦,敬请谅解。

  • uart_echo_xwrL64xx-evm_m4fss0-0_nortos_ti-arm-clang_2023_1019.7z 有 164 KB (168,338 bytes) 

    插入文件 上传 上传不上去,请问如何分享工程文件?

  • 5224.example.syscfg

    /*
     *  Copyright (C) 2018-2021 Texas Instruments Incorporated
     *
     *  Redistribution and use in source and binary forms, with or without
     *  modification, are permitted provided that the following conditions
     *  are met:
     *
     *    Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     *    Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the
     *    distribution.
     *
     *    Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */
    
    #include <stdlib.h>
    #include "ti_drivers_config.h"
    #include "ti_board_config.h"
    
    void uart_echo(void *args);
    
    int main()
    {
        System_init();
        Board_init();
    
        uart_echo(NULL);
    
        Board_deinit();
        System_deinit();
    
        return 0;
    }
    
    /*
     *  Copyright (C) 2021 Texas Instruments Incorporated
     *
     *  Redistribution and use in source and binary forms, with or without
     *  modification, are permitted provided that the following conditions
     *  are met:
     *
     *    Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     *    Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the
     *    distribution.
     *
     *    Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */
    
    /* This example demonstrates the UART RX and TX operation by echoing char
     * that it recieves in blocking, interrupt mode of operation.
     * When user types 'quit', the application ends.
     */
    
    #include <string.h>
    #include <kernel/dpl/DebugP.h>
    #include "ti_drivers_config.h"
    #include "ti_drivers_open_close.h"
    #include "ti_board_open_close.h"
    
    #define APP_UART_BUFSIZE              (200U)
    #define APP_UART_RECEIVE_BUFSIZE      (8U)
    
    uint8_t gUartBuffer[APP_UART_BUFSIZE];
    uint8_t gUartReceiveBuffer[APP_UART_RECEIVE_BUFSIZE];
    volatile uint32_t gNumBytesRead = 0U, gNumBytesWritten = 0U;
    
    #define APP_UART_ASSERT_ON_FAILURE(transferOK, transaction) \
        do { \
            if((SystemP_SUCCESS != (transferOK)) || (UART_TRANSFER_STATUS_SUCCESS != transaction.status)) \
            { \
                DebugP_assert(FALSE); /* UART TX/RX failed!! */ \
            } \
        } while(0) \
    
    void uart_echo(void *args)
    {
        int32_t          transferOK;
        UART_Transaction trans;
    
        Drivers_open();
        Board_driversOpen();
    
        DebugP_log("[UART] Echo example started ...\r\n");
    
        UART_Transaction_init(&trans);
    
        /* Send entry string */
        gNumBytesWritten = 0U;
        trans.buf   = &gUartBuffer[0U];
        strncpy(trans.buf,"This is uart echo test blocking mode\r\nReceives 8 characters then echo's back. Please input..\r\n", APP_UART_BUFSIZE);
        trans.count = strlen(trans.buf);
        transferOK = UART_write(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        /* Read 8 chars */
        gNumBytesRead = 0U;
        trans.buf   = &gUartReceiveBuffer[0U];
        trans.count = APP_UART_RECEIVE_BUFSIZE;
        transferOK = UART_read(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        /* Echo chars entered */
        gNumBytesWritten = 0U;
        trans.buf   = &gUartReceiveBuffer[0U];
        trans.count = APP_UART_RECEIVE_BUFSIZE;
        transferOK = UART_write(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        /* Send exit string */
        gNumBytesWritten = 0U;
        trans.buf   = &gUartBuffer[0U];
        strncpy(trans.buf, "\r\nAll tests have passed!!\r\n", APP_UART_BUFSIZE);
        trans.count = strlen(trans.buf);
        transferOK = UART_write(gUartHandle[CONFIG_UART_CONSOLE], &trans);
        APP_UART_ASSERT_ON_FAILURE(transferOK, trans);
    
        DebugP_log("All tests have passed!!\r\n");
    
        Board_driversClose();
        Drivers_close();
    
        return;
    }
    

    就这3个文件有用吧,其他的都是工程辅助文件

  • 好的,已转达给工程师。

  • 您好,

    工程师按照您提供的信息做了更改进行测试,可以确认 UARTA 在工程师端是没问题的(TX 和 RX)。 您能否确认您使用的是 EVM 上 DIP 开关的正确配置? 请参考 EVM 原理图以了解更多信息。关于ME S1的设置,工程师进行了如下设置:

    • S1.1 = ON
    • S1.2 = OFF
    • S1.3 = ON
    • S1.4 = OFF
    • S1.5 = ON
    • S1.6 = OFF

    此外,您请再次检查下添加到 R147的电阻确实为0欧。 用一个哑光焊料短接焊盘也是可以的。 

  • J9.09接usb转TTL的RXD J9.13接usb转TTL的TXD   ME_S1的设置    R147是0V

  • 您好,

    从图片来看没有什么问题。

    您可以参考以下关于进一步调试的建议:

    1)您是否可以通过另一个 USB 到 UART 桥接器进行确认? 或者在其测试中使用,以确保 USB 电桥的 TX 不出现故障?

    2)在测试时 EVM 是如何供电的? 从图中看好像有导线焊接到桶形插孔连接器引脚上。 能否改为使用 Micro USB 端口提供的功率来测试此情况?

  • 1)您是否可以通过另一个 USB 到 UART 桥接器进行确认? 或者在其测试中使用,以确保 USB 电桥的 TX 不出现故障?

    用2个USB 到 UART 桥接器电脑sscom显示通信成功。

    用2个USB 到 UART 桥接器电脑sscom显示通信成功_收发数据图.png

    用2个USB 到 UART 桥接器电脑sscom显示通信成功_连接图.jpg

    换了一个 USB 到 UART 桥接器,作为实验

    2)在测试时 EVM 是如何供电的? 从图中看好像有导线焊接到桶形插孔连接器引脚上。 能否改为使用 Micro USB 端口提供的功率来测试此情况?

    在测试时 EVM 是如何供电的:使用 Micro USB 端口供电。

    图中看好像有导线焊接到桶形插孔连接器引脚上:没有连接,悬空。

    uart_echo_uart桥接器_microusb端口供电.jpg

    3)贵公司该实验做过吧?这个问题已经挺长时间了。我们在工程里面需要双uart,能否提供:

    3.1)实现双uart的iwrl6432板;

    3.2)配套的双uart源代码。

    谢谢!

  • 一:针对贵公司的回复内容:

    您好,

    从图片来看没有什么问题。

    您可以参考以下关于进一步调试的建议:

    1)您是否可以通过另一个 USB 到 UART 桥接器进行确认? 或者在其测试中使用,以确保 USB 电桥的 TX 不出现故障?

    2)在测试时 EVM 是如何供电的? 从图中看好像有导线焊接到桶形插孔连接器引脚上。 能否改为使用 Micro USB 端口提供的功率来测试此情况?

    二:回复如下:

    1)您是否可以通过另一个 USB 到 UART 桥接器进行确认? 或者在其测试中使用,以确保 USB 电桥的 TX 不出现故障?

    用2个USB 到 UART 桥接器电脑sscom显示通信成功。

    用2个USB 到 UART 桥接器电脑sscom显示通信成功_收发数据图.png

    用2个USB 到 UART 桥接器电脑sscom显示通信成功_连接图.jpg

    换了一个 USB 到 UART 桥接器,作为实验

    2)在测试时 EVM 是如何供电的? 从图中看好像有导线焊接到桶形插孔连接器引脚上。 能否改为使用 Micro USB 端口提供的功率来测试此情况?

    在测试时 EVM 是如何供电的:使用 Micro USB 端口供电。

    图中看好像有导线焊接到桶形插孔连接器引脚上:没有连接,悬空。

    uart_echo_uart桥接器_microusb端口供电.jpg

    三:贵公司该实验做过吧?这个问题已经挺长时间了。我们在工程里面需要双uart,能否提供:

    实现双uart的iwrl6432板;

    配套的双uart源代码。

  • 感谢您提供的信息,已转达给工程师。

  • Hi,

    您使用的设置或整个过程没有任何问题。 目前如果想要调试 UARTA RX 问题,建议您可以从接头引脚开始进行连续性测试,然后沿着轨迹跟踪到路由信号的不同点。 建议可以在R147的两侧、以及信号通过的两个多路复用器(U12和 U15)进行测试。 请参阅 TI.com 上提供的 EVM 原理图。 您可能需要比图中所示更小的探头尖端,因为有一些引脚非常小。 

    三:贵公司该实验做过吧?这个问题已经挺长时间了。我们在工程里面需要双uart,能否提供:

    实现双uart的iwrl6432板;

    配套的双uart源代码。

    A. 请问为什么想要用双 UART? 您是想在单独的 UART 上分离控制输出和数据输出吗? 如果是的话,是要求两个 UART 都是双向的,还是数据输出的 UART 只能是 TX? 

    B. 您是指使用双 UART 时,在Out-of-Box demo code (Presence and Motion detection)中需要进行哪些修改吗?