查看: 1085|回复: 0

【TI驱动编写工具】TI PinMUC Tools生成配置代码

[复制链接]
  • TA的每日心情
    奋斗
    2023-7-6 08:48
  • 签到天数: 169 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2016-11-28 09:10:17 | 显示全部楼层 |阅读模式
    分享到:
    上一篇将引脚配置完成了,最终是要生成程序的。
    这里就要用到菜单栏的“Generate”了。

    选择代码存放的路径。

    点击“确定”后,打开路径文件夹,可以看到生成的文件了。
    有如下的4个文件,一个C文件,一个H头文件,一个设备树的txt文件,一个配置csv文件。

    打开C文件代码如下:
    #include "types.h"#include "pinmux.h"#include "am335x_pinmux.h"/** Peripheral Pin Configurations */#define BUILDCFG_MOD_UART#if defined(BUILDCFG_MOD_UART)static pinmuxPerCfg_t gUart1PinCfg[] = {        {                /* My UART 1 -> uart1_rxd -> D16 */                PIN_UART1_RXD, 0, \                ( \                        PIN_MODE(0) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {                /* My UART 1 -> uart1_txd -> D15 */                PIN_UART1_TXD, 0, \                ( \                        PIN_MODE(0) | \                        ((PIN_PULL_UD_EN) & (~PIN_PULL_TYPE_SEL & ~PIN_RX_ACTIVE)) \                ) \        },        {                /* My UART 1 -> uart1_ctsn -> D18 */                PIN_UART1_CTSN, 0, \                ( \                        PIN_MODE(0) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {                /* My UART 1 -> uart1_rtsn -> D17 */                PIN_UART1_RTSN, 0, \                ( \                        PIN_MODE(0) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {                /* My UART 1 -> uart1_dcdn -> K18 */                PIN_GMII1_TXCLK, 0, \                ( \                        PIN_MODE(5) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {                /* My UART 1 -> uart1_dsrn -> L18 */                PIN_GMII1_RXCLK, 0, \                ( \                        PIN_MODE(5) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {                /* My UART 1 -> uart1_dtrn -> L17 */                PIN_GMII1_RXD3, 0, \                ( \                        PIN_MODE(5) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {                /* My UART 1 -> uart1_rin -> L16 */                PIN_GMII1_RXD2, 0, \                ( \                        PIN_MODE(5) | \                        ((PIN_PULL_UD_EN | PIN_RX_ACTIVE) & (~PIN_PULL_TYPE_SEL)) \                ) \        },        {PINMUX_INVALID_PIN}};static pinmuxModuleCfg_t gUartPinCfg[] = {    {1, TRUE, gUart1PinCfg},    {CHIPDB_INVALID_INSTANCE_NUM}};#endif /* if defined(BUILDCFG_MOD_UART) *//** EVM pin configurations for EVM */pinmuxBoardCfg_t gGpevmPinmuxData[] ={#if defined(BUILDCFG_MOD_UART)        {CHIPDB_MOD_ID_UART, gUartPinCfg},#endif /* if defined(BUILDCFG_MOD_UART) */    {CHIPDB_MOD_ID_INVALID}};如下是设备树文件的代码,这里可以在检查一下看一下Pin的方向是不是对的。
    my_uart_1_pins_default: my_uart_1_pins_default {        pinctrl-single,pins = <                0x180 ( PIN_INPUT | MUX_MODE0 ) /* (D16) uart1_rxd.uart1_rxd */                0x184 ( PIN_OUTPUT | MUX_MODE0 ) /* (D15) uart1_txd.uart1_txd */                0x178 ( PIN_INPUT | MUX_MODE0 ) /* (D18) uart1_ctsn.uart1_ctsn */                0x17c ( PIN_INPUT | MUX_MODE0 ) /* (D17) uart1_rtsn.uart1_rtsn */                0x12c ( PIN_INPUT | MUX_MODE5 ) /* (K18) gmii1_txclk.uart1_dcdn */                0x130 ( PIN_INPUT | MUX_MODE5 ) /* (L18) gmii1_rxclk.uart1_dsrn */                0x134 ( PIN_INPUT | MUX_MODE5 ) /* (L17) gmii1_rxd3.uart1_dtrn */                0x138 ( PIN_INPUT | MUX_MODE5 ) /* (L16) gmii1_rxd2.uart1_rin */        >;};/* Optional sleep pin settings. Must manually enter values in the below skeleton. */my_uart_1_pins_sleep: my_uart_1_pins_sleep {        pinctrl-single,pins = <                0x180 ( ) /* (D16) uart1_rxd.uart1_rxd */                0x184 ( ) /* (D15) uart1_txd.uart1_txd */                0x178 ( ) /* (D18) uart1_ctsn.uart1_ctsn */                0x17c ( ) /* (D17) uart1_rtsn.uart1_rtsn */                0x12c ( ) /* (K18) gmii1_txclk.uart1_dcdn */                0x130 ( ) /* (L18) gmii1_rxclk.uart1_dsrn */                0x134 ( ) /* (L17) gmii1_rxd3.uart1_dtrn */                0x138 ( ) /* (L16) gmii1_rxd2.uart1_rin */        >;};对于C文件与H文件,添加到内核的/arch/arm/中的对应目录中。
    对于设备树的代码添加到/arch/arm/boot/dts中对应的dts或dtsi文件中。
    重新编译内核与dtb文件,更新到开发板后,重启即可。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 03:09 , Processed in 0.124950 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.