OSDN Git Service

Ticket #26592 target_config.cのシリアルポートピン定義実装変更を実施。
authorshintamainjp <shintamainjp@users.sourceforge.jp>
Sat, 22 Oct 2011 12:23:37 +0000 (12:23 +0000)
committershintamainjp <shintamainjp@users.sourceforge.jp>
Sat, 22 Oct 2011 12:23:37 +0000 (12:23 +0000)
asp/CHANGES.LPC
asp/target/lpcxpresso1768_gcc/target_config.c

index 1009fac..0eb8a45 100644 (file)
@@ -1,13 +1,18 @@
 * Release 1.7.2 (次のリリースに含まれる予定の修正)
 
- - 「チケット #26459 複数シリアルポートの同時使用対応」を実施。 (2010/10/04 shintamainjp)
-   - pdic/uart/uart.hの割り込みベクタ番号定義をSIO_BAUD_RATE_PORTxを参照して自動的に行うようにした。
-   - target/lpcxpresso1768_gcc/target_syssvc.hにおいて、SIOx_PORTIDを定義するようにした。
-   - target/lpcxpresso1768_gcc/target_syssvc.hにおいて、SIO_BAUD_RATE_DEFAULTの定義を削除した。
-   - target/lpcxpresso1768_gcc/target_syssvc.hにおいて、SIO_BAUD_RATE_PORTxの定義を追加した。
-   - target/lpcxpresso1768_gcc/target_config.cで、SIO_BAUD_RATE_PORTx定義の有無で自動的にピン設定とtarget_uart_initを実行するようにした。
-   - arch/arm_m_gcc/lpc1700_gcc/chip_serial.cfgで、SIO_BAUD_RATE_PORTx定義の有無で自動的に割り込みハンドラを登録するようにした。
-   - arch/arm_m_gcc/lpc1700_gcc/chip_serial.hに、INTPRI_SIOxとINTATR_SIOxの定義を追加した。
+ - 「チケット #26592 target_config.cのシリアルポートピン定義実装変更」を実施。(2011/10/22 shintamainjp)
+   - asp/trunk/asp/target/lpcxpresso1768_gcc/target_config.cにUARTモジュール電源制御マクロを追加。
+   - asp/trunk/asp/target/lpcxpresso1768_gcc/target_config.cにUARTピン設定マクロを追加。
+   - ピン設定箇所をUARTモジュール電源制御マクロとUARTピン設定マクロを使用した記述に修正した。
+
+ - 「チケット #26459 複数シリアルポートの同時使用対応」を実施。 (2011/10/04 shintamainjp)
+   - asp/trunk/asp/pdic/uart/uart.hの割り込みベクタ番号定義をSIO_BAUD_RATE_PORTxを参照して自動的に行うようにした。
+   - asp/trunk/asp/target/lpcxpresso1768_gcc/target_syssvc.hにおいて、SIOx_PORTIDを定義するようにした。
+   - asp/trunk/asp/target/lpcxpresso1768_gcc/target_syssvc.hにおいて、SIO_BAUD_RATE_DEFAULTの定義を削除した。
+   - asp/trunk/asp/target/lpcxpresso1768_gcc/target_syssvc.hにおいて、SIO_BAUD_RATE_PORTxの定義を追加した。
+   - asp/trunk/asp/target/lpcxpresso1768_gcc/target_config.cで、SIO_BAUD_RATE_PORTx定義の有無で自動的にピン設定とtarget_uart_initを実行するようにした。
+   - asp/trunk/asp/arch/arm_m_gcc/lpc1700_gcc/chip_serial.cfgで、SIO_BAUD_RATE_PORTx定義の有無で自動的に割り込みハンドラを登録するようにした。
+   - asp/trunk/asp/arch/arm_m_gcc/lpc1700_gcc/chip_serial.hに、INTPRI_SIOxとINTATR_SIOxの定義を追加した。
 
  - 「チケット #26384 checksumコマンドの対応」に対応。 (2011/09/26 shintamainjp)
    - asp/trunk/asp/target/lpcxpresso1768_gcc/Makefile.targetのhexファイル生成の実装を変更した。
index 420277a..9504623 100644 (file)
 #include "target_serial.h"
 #include "target_syssvc.h"
 
-/**
- * \brief UART0のTX信号(P0.2)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART0_TX        (0x01<<4)
-
-/**
- * \brief UART0のRX信号(P0.3)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART0_RX        (0x01<<6)
-
-/**
-* \brief UART1のTX信号(P2.0)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART1_TX        (0x02)
-
-/**
- * \brief UART1のRX信号(P2.1)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART1_RX        (0x02<<2)
-
-/**
- * \brief UART2のTX信号(P0.10)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART2_TX        (0x01<<20)
-
-/**
- * \brief UART2のRX信号(P0.11)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART2_RX        (0x01<<22)
-
-/**
- * \brief UART3のTX信号(P0.0)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART3_TX        (0x02)
-
-/**
- * \brief UART3のRX信号(P0.1)にピンを割り付けるためのビットフィールド定義
- *
- */
-#define PINSEL_UART3_RX        (0x02<<2)
-
-/**
- * \brief PCOMPレジスタのUART2ビット
- * \details
- * UART2は、デフォルトでは電源オフなので、使う前にオンにしなければならない。
- *
- */
-#define PCUART2 (1<<24)
-
-/**
- * \brief PCOMPレジスタのUART3ビット
- * \details
- * UART3は、デフォルトでは電源オフなので、使う前にオンにしなければならない。
- *
- */
-#define PCUART3 (1<<25)
+#define POWER_ON_UART0()    (LPC_SC->PCONP |= (1 <<  3))
+#define POWER_ON_UART1()    (LPC_SC->PCONP |= (1 <<  4))
+#define POWER_ON_UART2()    (LPC_SC->PCONP |= (1 << 24))
+#define POWER_ON_UART3()    (LPC_SC->PCONP |= (1 << 25))
+
+#define USE_TXD3_ON_P0_0()  (LPC_PINCON->PINSEL0 |= (0x2 <<  0))
+#define USE_RXD3_ON_P0_1()  (LPC_PINCON->PINSEL0 |= (0x2 <<  2))
+#define USE_TXD0_ON_P0_2()  (LPC_PINCON->PINSEL0 |= (0x1 <<  4))
+#define USE_RXD0_ON_P0_3()  (LPC_PINCON->PINSEL0 |= (0x1 <<  6))
+#define USE_TXD2_ON_P0_10() (LPC_PINCON->PINSEL0 |= (0x1 << 20))
+#define USE_RXD2_ON_P0_11() (LPC_PINCON->PINSEL0 |= (0x1 << 22))
+#define USE_TXD1_ON_P0_15() (LPC_PINCON->PINSEL0 |= (0x1 << 30))
+#define USE_RXD1_ON_P0_16() (LPC_PINCON->PINSEL1 |= (0x1 <<  0))
+#define USE_TXD3_ON_P0_25() (LPC_PINCON->PINSEL1 |= (0x3 << 18))
+#define USE_RXD3_ON_P0_26() (LPC_PINCON->PINSEL1 |= (0x3 << 20))
+#define USE_TXD1_ON_P2_0()  (LPC_PINCON->PINSEL4 |= (0x2 <<  0))
+#define USE_RXD1_ON_P2_1()  (LPC_PINCON->PINSEL4 |= (0x2 <<  2))
+#define USE_TXD2_ON_P2_8()  (LPC_PINCON->PINSEL4 |= (0x2 << 16))
+#define USE_RXD2_ON_P2_9()  (LPC_PINCON->PINSEL4 |= (0x2 << 18))
+#define USE_TXD3_ON_P4_28() (LPC_PINCON->PINSEL9 |= (0x3 << 24))
+#define USE_RXD3_ON_P4_29() (LPC_PINCON->PINSEL9 |= (0x3 << 26))
 
 /**
  * \brief ターゲット依存部 初期化処理
@@ -160,31 +118,31 @@ void target_initialize(void)
         */
 
 #if defined (SIO_BAUD_RATE_PORT1)
-       /* Port0.2,3 ピンをUART0に割り当てる。*/
-       LPC_PINCON->PINSEL0 |= PINSEL_UART0_TX | PINSEL_UART0_RX;
-       target_uart_init(SIO1_PORTID);
+        POWER_ON_UART0();
+        USE_TXD0_ON_P0_2();
+        USE_RXD0_ON_P0_3();
+        target_uart_init(SIO1_PORTID);
 #endif
 
 #if defined (SIO_BAUD_RATE_PORT2)
-       /* Port2.0,1 ピンをUART1に割り当てる。*/
-       LPC_PINCON->PINSEL4 |= PINSEL_UART1_TX | PINSEL_UART1_RX;
-       target_uart_init(SIO2_PORTID);
+        POWER_ON_UART1();
+        USE_TXD1_ON_P2_0();
+        USE_RXD1_ON_P2_1();
+        target_uart_init(SIO2_PORTID);
 #endif
 
 #if defined (SIO_BAUD_RATE_PORT3)
-       /* Port0.10,11 ピンをUART2に割り当てる。*/
-       LPC_PINCON->PINSEL0 |= PINSEL_UART2_TX | PINSEL_UART2_RX;
-       /* UART2 の電源をオンにする */
-       LPC_SC->PCONP |=  PCUART2;
-       target_uart_init(SIO3_PORTID);
+        POWER_ON_UART2();
+        USE_TXD2_ON_P0_10();
+        USE_RXD2_ON_P0_11();
+        target_uart_init(SIO3_PORTID);
 #endif
 
 #if defined (SIO_BAUD_RATE_PORT4)
-       /* Port0.0,1 ピンをUART3に割り当てる。*/
-       LPC_PINCON->PINSEL0 |= PINSEL_UART3_TX | PINSEL_UART3_RX;
-       /* UART3 の電源をオンにする */
-       LPC_SC->PCONP |=  PCUART3;
-       target_uart_init(SIO4_PORTID);
+        POWER_ON_UART3();
+        USE_TXD3_ON_P0_0();
+        USE_RXD3_ON_P0_1();
+        target_uart_init(SIO4_PORTID);
 #endif
 
         /*