回答

收藏

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

#其他 #其他 1796 人阅读 | 0 人回复 | 2016-11-28

上一篇将引脚配置完成了,最终是要生成程序的。
这里就要用到菜单栏的“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文件,更新到开发板后,重启即可。
关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

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

本版积分规则

关闭

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