主题中讨论的其他器件:SysConfig、 AM2432
工具与软件:
使用 SysConfig 工具配置 MMC 时找不到 MMC1.SDWP、但存在 MMC1.CLKlB 。
另一个问题、为什么 无法 配置"Preferred Voltage"?
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.
工具与软件:
使用 SysConfig 工具配置 MMC 时找不到 MMC1.SDWP、但存在 MMC1.CLKlB 。
另一个问题、为什么 无法 配置"Preferred Voltage"?
您使用的是哪个版本的 SysConfig?
我在 https://dev.ti.com 上检查了在线版本(1.23.0+4000)、并看到了以下 用于 ALV 的引脚。 ALX 封装具有相同的信号。
您可以通过"Device Settings"选项卡(左上角的电池符号)添加电压域、从而启用首选电压。 然后点击"Add"按钮。 然后、您可以为每个域选择电压
-保罗
您好!
我从获得 保留外设->MMC0/1、 为什么它与不同 Software->MMCSD ? 使用场合 软件 以及何时使用 保留外设 ?[/报价]"Reserved Peripherals"选项卡用于保留您自己的自定义代码将处理的任何特定硬件资源、并通知 SysConfig 工具不要使用该外设。 SysConfig 工具不会为在"保留外设"下配置的外设生成任何代码。 该选项卡不应用于需要由该工具配置的任何外设。
此致、
Tushar
您好!
如果您要为所有引脚配置生成 pinmux 文件、则使用如上所示的 pinmux 工具。
以上内容将生成 pinmux 配置文件。 请参阅下图。
对于 SDK、每个示例都有一个 example.syscfg 文件、您可以根据用例进行修改。
请参阅 SysConfig_intro 以了解详细信息。
此致、
Tushar
您好!
如何将这些文件与工业 COMM SDK 相结合以生成我的 BSP?
请参阅 SysConfig_intro 指南、了解如何将 SysConfig 与 SDK 配合使用。
此致、
Tushar
您好!
在这种情况下、我该怎么办?
您只需要复制具有类型的所有结构数据 引脚多路复用 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
您好!
从 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
你(们)好
关于如何为新主板创建我自己的 BSP 的说明或手册是否有任何说明或手册?
BSP 是指 SoC 的引脚多路复用配置?
此致、
Tushar
您好!
在您的定制板中、最后您还将在特定内核上运行某些应用。 对于应用开发、您将使用 SDK、其中已编写了驱动程序、还提供了示例应用。 例如、在 example.sysfg 文件中已完成必要的配置以运行。
您无需使用 Pinmux 工具来配置额外的引脚配置。 抱歉、我仍不清楚您的用例为什么要配置可通过 SysConfig ->软件获得的引脚。
请参阅 examples_drivers 来检查哪个驱动程序需要什么配置。
此致、
Tushar
你(们)好
不支持或不需要通过 SysConfig 提供的引脚。 有关详细信息、请参阅 TRM 和数据表。
SOC_SPI->SPI0_CS1、SOC_SPI->SPI1_CS1
这些引脚在 McSPI 的芯片选择部分下可用。
如果仍想配置此引脚、请参阅 此处建议的方法。
此致、
Tushar