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.

[参考译文] TMDS243EVM:CAN##39;使用 SysConfig 工具配置 MMC 时、无法找到 MMC1.SDWP

Guru**** 2332400 points
Other Parts Discussed in Thread: SYSCONFIG, AM2432
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1483166/tmds243evm-can-t-find-mmc1-sdwp-when-configuring-mmc-using-sysconfig-tool

器件型号:TMDS243EVM
主题中讨论的其他器件:SysConfigAM2432

工具与软件:

使用 SysConfig 工具配置 MMC 时找不到 MMC1.SDWP、但存在 MMC1.CLKlB 。

另一个问题、为什么 无法  配置"Preferred Voltage"?   

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

    您使用的是哪个版本的 SysConfig?

    在  https://dev.ti.com 上检查了在线版本(1.23.0+4000)、并看到了以下 用于 ALV 的引脚。  ALX 封装具有相同的信号。  

    您可以通过"Device Settings"选项卡(左上角的电池符号)添加电压域、从而启用首选电压。 然后点击"Add"按钮。 然后、您可以为每个域选择电压   

    -保罗

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

    谢谢 Paul!è re

    我是从获得的  保留外设->MMC0/1、 为什么它与不同 Software->MMCSD  ? 使用场合 软件 以及何时使用 保留外设 ?μ A

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

    好的、听起来您正在使用 MCU SDK 选项。  我会请正确的支持联系人进行评论。  

    -保罗  

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

    您好!

    我从获得  保留外设->MMC0/1、 为什么它与不同 Software->MMCSD  ? 使用场合 软件 以及何时使用 保留外设 ?[/报价]

    "Reserved Peripherals"选项卡用于保留您自己的自定义代码将处理的任何特定硬件资源、并通知 SysConfig 工具不要使用该外设。 SysConfig 工具不会为在"保留外设"下配置的外设生成任何代码。 该选项卡不应用于需要由该工具配置的任何外设。

    此致、

    Tushar

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

    Paul、我的本地 SysConfig 工具没有"Device Settings"选项。

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

    您好!

    器件设置选项可通过 pinmux 工具使用、如果选择了任何软件产品、则不可用。

    请将软件产品留空、如下所示。 选择器件并启动工具。

    此致、

    Tushar

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

    谢谢 Tushar! 我有点困惑、如果我设计新的电路板并想使用工业 COM SDK、我仍然可以使用 SysConfig 工具吗?如何开始? 如何生成我自己的 BSP?

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

    您好!

    如果您要为所有引脚配置生成 pinmux 文件、则使用如上所示的 pinmux 工具。

    以上内容将生成 pinmux 配置文件。 请参阅下图。

    对于 SDK、每个示例都有一个 example.syscfg 文件、您可以根据用例进行修改。

    请参阅  SysConfig_intro 以了解详细信息。

    此致、

    Tushar

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

    谢谢  Tushar! 我 使用 pinmux 工具生成 pinmux  文件、如何将这些文件与工业 COMM SDK 相结合来生成我的 BSP?

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

    您好!

    如何将这些文件与工业 COMM SDK 相结合以生成我的 BSP?

    请参阅 SysConfig_intro 指南、了解如何将 SysConfig 与 SDK 配合使用。

    此致、

    Tushar  

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

    尊敬的 Tushar:

    我们基于 AM2432器件设计了一个新的电路板。 如果 选择特定的"软件产品:工业 COMM SDK"、则 在中找不到某些项目 Software->MMCSD  、就像  "MMC1.SDWP"之前一样。 但我可以在中找到它  保留外设->MMC0/1 时、  SysConfig 工具不会为配置的外设生成任何代码。 在这种情况下、我该怎么做?

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

    您好!

    在这种情况下、我该怎么办?

    您只需要复制具有类型的所有结构数据  引脚多路复用 PerCfg_t 的符号 device_package_pinmux_data.c 生成的 XML 文件的一部分。

    更改结构  引脚多路复用 PerCfg_t  最终目的  Pinmux_Per Cfg_t.  创建您自己的函数来执行 pinmux init。 确保您的 pinmux 配置不会覆盖为应用工程配置的 pinmux 设置。

    请参阅以下代码。 下面只是示例代码、未进行功能测试。

    /*
     *  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 <kernel/dpl/DebugP.h>
    #include "ti_drivers_config.h"
    #include "ti_board_config.h"
    #include "FreeRTOS.h"
    #include "task.h"
    
    #define MAIN_TASK_PRI  (configMAX_PRIORITIES-1)
    
    #define MAIN_TASK_SIZE (16384U/sizeof(configSTACK_DEPTH_TYPE))
    StackType_t gMainTaskStack[MAIN_TASK_SIZE] __attribute__((aligned(32)));
    
    StaticTask_t gMainTaskObj;
    TaskHandle_t gMainTask;
    
    void hello_world_main(void *args);
    
    void freertos_main(void *args)
    {
        hello_world_main(NULL);
    
        vTaskDelete(NULL);
    }
    
    
    #include <drivers/pinmux.h>
    
    static Pinmux_PerCfg_t gMcu_uart0PinCfg[] =
    {
        /* MyMCU_UART1 -> MCU_UART0_CTSn -> D8 */
        {
            PIN_MCU_UART0_CTSN, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCU_UART1 -> MCU_UART0_RTSn -> E8 */
        {
            PIN_MCU_UART0_RTSN, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        /* MyMCU_UART1 -> MCU_UART0_RXD -> A9 */
        {
            PIN_MCU_UART0_RXD, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCU_UART1 -> MCU_UART0_TXD -> A8 */
        {
            PIN_MCU_UART0_TXD, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        {PINMUX_END}
    };
    
    static Pinmux_PerCfg_t gOspi0PinCfg[] =
    {
        /* MyOSPI1 -> OSPI0_CLK -> N20 */
        {
            PIN_OSPI0_CLK, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        /* MyOSPI1 -> OSPI0_CSn0 -> L19 */
        {
            PIN_OSPI0_CSN0, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        /* MyOSPI1 -> OSPI0_CSn1 -> L18 */
        {
            PIN_OSPI0_CSN1, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        /* MyOSPI1 -> OSPI0_CSn2 -> K17 */
        {
            PIN_OSPI0_CSN2, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        /* MyOSPI1 -> OSPI0_CSn3 -> L17 */
        {
            PIN_OSPI0_CSN3, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE) & (~PIN_PULL_DIRECTION & ~PIN_INPUT_ENABLE))
        },
        /* MyOSPI1 -> OSPI0_D0 -> M19 */
        {
            PIN_OSPI0_D0, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D1 -> M18 */
        {
            PIN_OSPI0_D1, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D2 -> M20 */
        {
            PIN_OSPI0_D2, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D3 -> M21 */
        {
            PIN_OSPI0_D3, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D4 -> P21 */
        {
            PIN_OSPI0_D4, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D5 -> P20 */
        {
            PIN_OSPI0_D5, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D6 -> N18 */
        {
            PIN_OSPI0_D6, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_D7 -> M17 */
        {
            PIN_OSPI0_D7, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyOSPI1 -> OSPI0_DQS -> N19 */
        {
            PIN_OSPI0_DQS, PIN_MODE(0) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        {PINMUX_END}
    };
    
    
    void MyPinmuxInit()
    {
        Pinmux_config(gOspi0PinCfg, PINMUX_DOMAIN_ID_MAIN);
        Pinmux_config(gMcu_uart0PinCfg, PINMUX_DOMAIN_ID_MCU);
    }
    
    int main(void)
    {
        /* init SOC specific modules */
        System_init();
    
        MyPinmuxInit();
    
        Board_init();
    
        /* This task is created at highest priority, it should create more tasks and then delete itself */
        gMainTask = xTaskCreateStatic( freertos_main,   /* Pointer to the function that implements the task. */
                                      "freertos_main", /* Text name for the task.  This is to facilitate debugging only. */
                                      MAIN_TASK_SIZE,  /* Stack depth in units of StackType_t typically uint32_t on 32b CPUs */
                                      NULL,            /* We are not using the task parameter. */
                                      MAIN_TASK_PRI,   /* task priority, 0 is lowest priority, configMAX_PRIORITIES-1 is highest */
                                      gMainTaskStack,  /* pointer to stack base */
                                      &gMainTaskObj ); /* pointer to statically allocated task object memory */
        configASSERT(gMainTask != NULL);
    
        /* Start the scheduler to start the tasks executing. */
        vTaskStartScheduler();
    
        /* The following line should never be reached because vTaskStartScheduler()
        will only return if there was not enough FreeRTOS heap memory available to
        create the Idle and (if configured) Timer tasks.  Heap management, and
        techniques for trapping heap exhaustion, are described in the book text. */
        DebugP_assertNoLog(0);
    
        return 0;
    }
    

    希望上述信息对您有所帮助。

    此致、

    Tushar

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

    谢谢 Tushar!

    如果 我有新的电路板、第一步是使用 pinmux  工具生成 AM243x_ALV_pinmux_data.c 和 AM243x_ALV_pinmux.h、第二步是  使用 SysConfig->生成文件 软件 对吗? 它们是否正确匹配?

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

    您好!

    从 pinmux 工具生成的上述文件只会对所配置引脚的功能进行引脚多路复用。 中已针对 SOC 完成了所需的引脚多路复用设置 example.syscfg 头文件中。 此外、由 example.syscfg 文件生成的代码为 Pinmux 工具不执行的所选外设配置驱动程序。

    [报价 userid="624520" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1483166/tmds243evm-can-t-find-mmc1-sdwp-when-configuring-mmc-using-sysconfig-tool/5701143 #5701143"]如果 我有新电路板、第一步是使用 pinmux  工具生成 AM243x_alv_pinmux_data.c 和 AM243x_ALV_pinmux.h

    通过 Pinmux 工具生成的 pinmux 数据不会被应用直接消耗。 正如我在前面的答复中所说、你只需更改几个事项、即可整合所作的更改。  

    此外、请确保不应通过 Pinmux 工具再次配置在 example.syscfg 内配置的外设/模块。

    此致、

    Tushar

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

    谢谢 Tushar!

    对于如何为新电路板创建我自己的 BSP、是否有任何说明或手册?

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

    你(们)好

    关于如何为新主板创建我自己的 BSP 的说明或手册是否有任何说明或手册?

    BSP 是指 SoC 的引脚多路复用配置?

    此致、

    Tushar

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

    否、我的意思是我们自己设计了一个电路板、但该电路板的引脚配置无法在 SysConfig->中完成 软件 我们必须使用 pinmax 工具来实现此目的、在本例中、无论是否使用 SysConfig-> 软件 仍然适用于新的电路板。

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

    您好!

    在您的定制板中、最后您还将在特定内核上运行某些应用。 对于应用开发、您将使用 SDK、其中已编写了驱动程序、还提供了示例应用。  例如、在 example.sysfg 文件中已完成必要的配置以运行。

    您无需使用 Pinmux 工具来配置额外的引脚配置。 抱歉、我仍不清楚您的用例为什么要配置可通过 SysConfig ->软件获得的引脚。

    请参阅 examples_drivers 来检查哪个驱动程序需要什么配置。

    此致、

    Tushar

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

    在  SysConfig->中找不到某些配置选项 软件 、例如 MMC->MMC1.SDWP、 SOC_SPI->SPI0_CS1、SOC_SPI->SPI1_CS1、UART->UART0_RTS UART->UART1_RTS 等。

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

    你(们)好  

    不支持或不需要通过 SysConfig 提供的引脚。 有关详细信息、请参阅 TRM 和数据表。

     SOC_SPI->SPI0_CS1、SOC_SPI->SPI1_CS1

    这些引脚在 McSPI 的芯片选择部分下可用。  

    如果仍想配置此引脚、请参阅 此处建议的方法。  

    此致、

    Tushar

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

    谢谢 Tushar! 在  SysConfig->中找不到红色框中的选项 软件。

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

    您好!

    您可以使用 Pinmux 工具来配置之前回复中所述的此类引脚。

    此致、

    Tushar