2139080_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2139080_ja-JP

2139080_ja-JP

MaaxBoard (NXP i.MX93) で GPIO およびタイマー ピンを構成し、pinmux 設定を有効にする方法は?

私は MaaxBoard (NXP i.MX93 プロセッサベース) を使用していますが、次のユースCASEの pinmux とピン構成の設定について支援が必要です。

  • トリガー ピン (出力) として GPIO ピンが 1 つ必要です。

  • 1 つのピンをタイマー入力 (TPM 入力キャプチャまたは PWM) 用に構成する必要があります。

問題は次の通りです:

  • GPIO ピンが読み取り/書き込み操作に正しく応答しません

  • pinmux 構成が欠落しているか間違っているかデバイス ツリーが適切に更新されていないと思われます。

以下の点についてご協力いただけますでしょうか?

  1. MaaxBoard のピン配置とリファレンス マニュアルで GPIO とタイマーの正しいピン名とパッドを見つけるにはどうすればよいでしょうか?

  2. 必要なピン多重化を有効にするには、デバイス ツリー (.dts) にどのような変更を加える必要がありますか。

    • GPIOピンを出力用に設定し、ユーザー空間からの読み取り/書き込みを許可する

    • タイマーピンを入力キャプチャまたはPWM用に設定する

  3. MaaxBoard で GPIO が正しく動作しない原因となる一般的な問題はありますか?

  4. 1 つの GPIO を読み取りと書き込み用に設定する方法の例はありますか?そのために、pin_mux.c や app.h など、何を更新する必要がありますか?

i.MX93 #マックスボード

MCX CRe: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ?

こんにちは、Manjunathb


MaaxBoard は Element14 によって製造およびサポートされています。所有者に問い合わせて、BSP とボードに関する詳しい情報を入手することをお勧めします。


MaaXBoard OSM93 - element14 コミュニティ

MaaXBoardハードウェアデザイン - element14コミュニティ

  

i.MX 93 EVK 用の NXP MCUXpresso SDK も参照できます。

SDKは以下からダウンロードできます。

MCUXpresso SDK Builder

パッケージ内には TPM と GPIO / タイマーのデモが含まれています。


よろしくお願いします。

ダニエル






よろしくお願いします。

ダニエル

Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ?
-> ここで参考のためにコードを添付しました。1 つの GPIO を構成して読み取りおよび書き込み操作を実行するだけで、コードを次のように更新しました。
 
/*
* 著作権 (c) 2015、Freescale Semiconductor, Inc.
* 著作権 2016-2017 NXP
* 無断転載を禁じます。
*
* SPDXライセンス識別子: BSD-3条項
*/

#include "board.h"
#include "fsl_debug_console.h"
#include "fsl_rgpio.h"
#include "app.h"

/****************************************************************************************
* 定義
**********************************************************************************/

/****************************************************************************************
* プロトタイプ
**********************************************************************************/
/*!
* @briefしばらく遅延します。
*/
void遅延( void );

/****************************************************************************************
* 変数
**********************************************************************************/

/****************************************************************************************
* コード
**********************************************************************************/

/*!
* @briefメイン関数
*/
int main( void )
{
/*[手動で]-> GPIO入力のinit構造体を定義する*/
rgpio_pin_config_t 入力構成 = {
        kRGPIO_デジタル入力
        0 ,
};

/* ボードピン、クロック、デバッグコンソールの初期化 */
BOARD_InitHardware();

/* 端末にメモを印刷します。*/
    PRINTF ( "\r\n GPIO は状態の読み取りを開始します.....\r\n" );

/* 出力 LED GPIO を初期化します。*/
RGPIO_PinInit( BOARD_LED_RGPIO BOARD_LED_RGPIO_PIN 、 &input_config);

    一方 1
    {
        uint32_t val = RGPIO_PinRead( BOARD_LED_RGPIO BOARD_LED_RGPIO_PIN );
        PRINTF ( "GPIO%d の現在の値は : %d\r\n" , BOARD_LED_RGPIO_PIN ,val);
SDK_DelayAtLeastUs( 500000U , SystemCoreClock);
   }
}
########################################################
/*
* 著作権 2022 NXP
*
* SPDXライセンス識別子: BSD-3条項
*/

/********************************************************************************************************************************
* このファイルは、MCUXpresso Config Tools によって生成されました。このファイルに対して手動で行われた編集
* それぞれの MCUXpresso Config Tools を使用してこのファイルを更新すると、上書きされます。
******************************************************************************************************************************/

/*
* 以下のテキストはツールの設定として使用されます *************************************
!!グローバル情報
製品: Pins v12.0
プロセッサ: MIMX9352xxxxM
パッケージID: MIMX9352DVVXM
mcu_data: ksdk2_0
プロセッサバージョン: 0.12.3
* このコメントを変更する際は注意してください - これはツールの YAML 設定です ***********
*/

#include "pin_mux.h"

/* 関数 ************************************************************************************************************
*
* 関数名: BOARD_InitBootPins
* 説明: 初期化関数を呼び出します。
*
* 終わり ****************************************************************************************************************/
BOARD_InitBootPins を無効にします( void )
{
BOARD_InitPins();
}

/*
* 以下のテキストはツールの設定として使用されます *************************************
ボード初期ピン:
- オプション: {callFromInitBoot: 'true', coreID: cm33}
- ピンリスト:
- {pin_num: F20、ペリフェラル: LPUART2、信号: lpuart_rx、pin_signal: UART2_RXD、HYS: DISABLED、FSEL1: SlOW_SLEW_RATE、DSE: NO_DRIVE}
- {pin_num: F21、ペリフェラル: LPUART2、信号: lpuart_tx、pin_signal: UART2_TXD、HYS: 無効、PD: 無効、FSEL1: SlOW_SLEW_RATE}
- {pin_num: L17、ペリフェラル: GPIO2、信号: 'gpio_io, 04'、ピン信号: GPIO_IO04、HYS: 無効}
* このコメントを変更する際は注意してください - これはツールの YAML 設定です ***********
*/

/* 関数 ************************************************************************************************************
*
* 関数名: BOARD_InitPins
* 説明: ピンのルーティングとオプションでピンの電気機能を構成します。
*
* 終わり ****************************************************************************************************************/
void BOARD_InitPins( void ) { /*!< コアに割り当てられた関数: undefined[cm33] */
    // IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04, 0U);
IOMUXC_SetPinMux( IOMUXC_PAD_UART2_RXD__LPUART2_RX 0U );
IOMUXC_SetPinMux( IOMUXC_PAD_UART2_TXD__LPUART2_TX 0U );

/* 手動で追加 (開始)*/
IOMUXC_SetPinMux( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 , 0U );
IOMUXC_SetPinConfig( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13
/* 手動で追加 (終了)*/

    // IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04,
    // IOMUXC_PAD_PD_MASK);
IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_RXD__LPUART2_RX
                        IOMUXC_PAD_PD_MASK );
IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_TXD__LPUART2_TX
                        IOMUXC_PAD_DSE ( 15U ));
}

/********************************************************************************************************************************
* 終了
******************************************************************************************************************************/
/*
* 著作権 2022 NXP
*
* SPDXライセンス識別子: BSD-3条項
*/
#ifndef _APP_H_
#define _APP_H_

/****************************************************************************************
* 定義
**********************************************************************************/
/* ${macro:start} */
#BOARD_LED_RGPIOを定義します          GPIO2
#BOARD_LED_RGPIO_PINを定義します      13U
#DEFINE EXAMPLE_RGPIO_CLOCK_ROOT kCLOCK_Root_BusWakeup
#DEFINE EXAMPLE_RGPIO_CLOCK_GATE kCLOCK_Gpio2
/* ${macro:end} */

/****************************************************************************************
* プロトタイプ
**********************************************************************************/
/* ${prototype:start} */
BOARD_InitHardware をvoidにします
/* ${prototype:end} */

#endif /* _APP_H_ */
Tags (1)
No ratings
Version history
Last update:
‎11-20-2025 04:33 PM
Updated by: