OSDN Git Service

チケット #25227 「PORTID != 1の場合に対応する」への部分対応
authorsuikan <suikan@users.sourceforge.jp>
Sun, 22 May 2011 05:54:31 +0000 (05:54 +0000)
committersuikan <suikan@users.sourceforge.jp>
Sun, 22 May 2011 05:54:31 +0000 (05:54 +0000)
asp/target/lpc1768_generic_gcc/target_config.c
asp/target/lpc1768_generic_gcc/target_syssvc.h
asp/target/lpc1768_generic_gcc/target_user.txt
asp/target/lpcxpresso1768_gcc/target_config.c
asp/target/lpcxpresso1768_gcc/target_syssvc.h
asp/target/lpcxpresso1768_gcc/target_user.txt

index 9fea6c8..cff2948 100644 (file)
 #include "target_syssvc.h"
 
 /**
- * \brief UART0のTX信号にピンを割り付けるためのビットフィールド定義
+ * \brief UART0のTX信号(P0.2)にピンを割り付けるためのビットフィールド定義
  *
  */
 #define PINSEL_UART0_TX        0x10
 
 /**
- * \brief UART0のRX信号にピンを割り付けるためのビットフィールド定義
+ * \brief UART0のRX信号(P0.3)にピンを割り付けるためのビットフィールド定義
  *
  */
 #define PINSEL_UART0_RX        0x40
 
+/**
+ * \brief UART1のTX信号(P0.15)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART1_TX        (0x01<<30)
+
+/**
+ * \brief UART1のRX信号(P0.16)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART1_RX        (0x01)
+
+/**
+ * \brief UART2のTX信号(P0.10)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART2_TX        (0x01<<20)
+
+/**
+ * \brief UART2のRX信号(P0.11)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART2_RX        (0x01<<22)
+
+/**
+ * \brief PCOMPレジスタのUART2ビット
+ * \details
+ * UART2は、デフォルトでは電源オフなので、使う前にオンにしなければならない。
+ *
+ */
+
+#define PCUART2 (1<<24)
+
 
 
 
@@ -104,10 +137,28 @@ void target_initialize(void)
 
 
        /*
-        *  I/Oポートの初期化
+        *  SIOポートの初期化
+        *
+        *  以下のコードは、SIO_PORTIDの値に応じて自動的にピン・コンフィギュレーションを行うが、
+        *  これはLPC1768の一部機能に過ぎないことに注意。LPC1768は、UART1や2の割り当て先を複数
+        *  種類持っている。以下のコードはそれらのうちの一つに対応しているにすぎない。必要に応じて
+        *  アプリケーション・プログラマが書き換えて使うこと。
         */
-       /* bit5:4=01, bit7:6=01, ピンをUART0に割り当てる。*/
-       LPC_PINCON->PINSEL0 = PINSEL_UART0_TX | PINSEL_UART0_RX;
+#if (SIO_PORTID==1)
+       /* Port0.2,3 ピンをUART0に割り当てる。*/
+       LPC_PINCON->PINSEL0 |= PINSEL_UART0_TX | PINSEL_UART0_RX;
+#elif (SIO_PORTID==2)
+       /* Port0.15,16 ピンをUART1に割り当てる。*/
+       LPC_PINCON->PINSEL0 |= PINSEL_UART1_TX;
+       LPC_PINCON->PINSEL1 |= PINSEL_UART1_RX;
+#elif (SIO_PORTID==3)
+       /* Port0.10,11 ピンをUART2に割り当てる。*/
+       LPC_PINCON->PINSEL0 |= PINSEL_UART2_TX | PINSEL_UART2_RX;
+       /* UART2 の電源をオンにする */
+       LPC_SC->PCONP |=  PCUART2;
+#else
+#error "SIO_PORTID NOT Supported"
+#endif
 
 
        /*
index 17bf772..fcc61b8 100644 (file)
  * \brief コンソールが使用するシリアルポートID
  * \details
  * UIF用コンソールに使用するポート番号である。ポート番号は1から始まる整数。
+ *
+ * LPCX1768では、PORT番号に応じて正しいUARTにピンを割り当て、必要に応じて電源を与えなければならない。
+ * これらは target_config.c の target_initialize() にまとめてある。ただし、target_initialize()が
+ * 対応するのは限定的な組み合わせである。詳しくは、 target_initialize() のコメントを参照。
  */
 #define SIO_PORTID             (1)
 
  */
 #define TNUM_PORT        TNUM_SIOP_UART                /* システムが管理するシリアルポートの総数 */
 
+
+/*
+ * SIOポートコンフィギュレーションの正当性確認
+ *
+ * この実装では、UIFコンソール用ポートは、TNUM_SIOP_UARTの値と同じか、
+ * より小さくなければならない。
+ */
+#if (SIO_PORTID > TNUM_SIOP_UART)
+#error "SIO_PORTID must be less than or equal to TNUM_SIOP_UART"
+#endif
+
 /**
  * \brief システムログ用のシリアルポート番号
  * \details
  * \brief シリアルポートのデフォルトボーレート
  * \details
  * TOPPERS/ASPのシリアルポート1に対するボーレート設定値である。
- * シリアルポートの番号は1オリジンになっている。
- * 特に設定しない限り、シリアルポートにはデフォルトの値が適用される。
- * シリアルポートの速度を変えたければ、マクロSIO_BAUD_RATE_PORTxを宣言する。
+ * シリアルポートの番号は1オリジンになっている。特に設定しない限り、
+ * 2番以降のシリアルポートに対しても同じ値が設定される。2番以降の
+ * シリアルポートの速度を変えたければ、マクロSIOx_BAUD_RATEを宣言する。
  */
 #define SIO_BAUD_RATE_DEFAULT          (57600)
 
index 1a9598c..8b4d63d 100644 (file)
@@ -1,6 +1,6 @@
 =====================================================================
-             LPC1768 GENERICターゲット依存部 (asp-1.6.1対応)
-                                  Last Modified: 2011/Feb/27
+             LPC1768 GENERICターゲット依存部 (asp-1.6対応)
+                                  Last Modified: 2011/May/22
 =====================================================================
 
 (1) 対応しているターゲットシステムの種類・構成,バージョン番号
                lpc1768_generic_gcc
        
        ・ターゲット非依存部のバージョン番号
-               1.6.1
+               1.6
        
        ・プロセッサ,チップ,開発環境依存部の構成とバージョン番号
-               1.6.1
+               1.6.0
                
        ・使用するPDICとバージョン番号
                pdic/uart
index 68f330c..268dce7 100644 (file)
 #include "target_syssvc.h"
 
 /**
- * \brief UART0のTX信号にピンを割り付けるためのビットフィールド定義
+ * \brief UART0のTX信号(P0.2)にピンを割り付けるためのビットフィールド定義
  *
  */
 #define PINSEL_UART0_TX        0x10
 
 /**
- * \brief UART0のRX信号にピンを割り付けるためのビットフィールド定義
+ * \brief UART0のRX信号(P0.3)にピンを割り付けるためのビットフィールド定義
  *
  */
 #define PINSEL_UART0_RX        0x40
 
+/**
+ * \brief UART1のTX信号(P0.15)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART1_TX        (0x01<<30)
+
+/**
+ * \brief UART1のRX信号(P0.16)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART1_RX        (0x01)
+
+/**
+ * \brief UART2のTX信号(P0.10)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART2_TX        (0x01<<20)
+
+/**
+ * \brief UART2のRX信号(P0.11)にピンを割り付けるためのビットフィールド定義
+ *
+ */
+#define PINSEL_UART2_RX        (0x01<<22)
+
+/**
+ * \brief PCOMPレジスタのUART2ビット
+ * \details
+ * UART2は、デフォルトでは電源オフなので、使う前にオンにしなければならない。
+ *
+ */
+
+#define PCUART2 (1<<24)
+
 
 
 
@@ -104,10 +137,28 @@ void target_initialize(void)
 
 
        /*
-        *  I/Oポートの初期化
+        *  SIOポートの初期化
+        *
+        *  以下のコードは、SIO_PORTIDの値に応じて自動的にピン・コンフィギュレーションを行うが、
+        *  これはLPC1768の一部機能に過ぎないことに注意。LPC1768は、UART1や2の割り当て先を複数
+        *  種類持っている。以下のコードはそれらのうちの一つに対応しているにすぎない。必要に応じて
+        *  アプリケーション・プログラマが書き換えて使うこと。
         */
-       /* bit5:4=01, bit7:6=01, ピンをUART0に割り当てる。*/
-       LPC_PINCON->PINSEL0 = PINSEL_UART0_TX | PINSEL_UART0_RX;
+#if (SIO_PORTID==1)
+       /* Port0.2,3 ピンをUART0に割り当てる。*/
+       LPC_PINCON->PINSEL0 |= PINSEL_UART0_TX | PINSEL_UART0_RX;
+#elif (SIO_PORTID==2)
+       /* Port0.15,16 ピンをUART1に割り当てる。*/
+       LPC_PINCON->PINSEL0 |= PINSEL_UART1_TX;
+       LPC_PINCON->PINSEL1 |= PINSEL_UART1_RX;
+#elif (SIO_PORTID==3)
+       /* Port0.10,11 ピンをUART2に割り当てる。*/
+       LPC_PINCON->PINSEL0 |= PINSEL_UART2_TX | PINSEL_UART2_RX;
+       /* UART2 の電源をオンにする */
+       LPC_SC->PCONP |=  PCUART2;
+#else
+#error "SIO_PORTID NOT Supported"
+#endif
 
 
        /*
index b877f8c..f6b8e1d 100644 (file)
  * \brief コンソールが使用するシリアルポートID
  * \details
  * UIF用コンソールに使用するポート番号である。ポート番号は1から始まる整数。
+ *
+ * LPCX1768では、PORT番号に応じて正しいUARTにピンを割り当て、必要に応じて電源を与えなければならない。
+ * これらは target_config.c の target_initialize() にまとめてある。ただし、target_initialize()が
+ * 対応するのは限定的な組み合わせである。詳しくは、 target_initialize() のコメントを参照。
  */
 #define SIO_PORTID             (1)
 
  */
 #define TNUM_PORT        TNUM_SIOP_UART                /* システムが管理するシリアルポートの総数 */
 
+
+/*
+ * SIOポートコンフィギュレーションの正当性確認
+ *
+ * この実装では、UIFコンソール用ポートは、TNUM_SIOP_UARTの値と同じか、
+ * より小さくなければならない。
+ */
+#if (SIO_PORTID > TNUM_SIOP_UART)
+#error "SIO_PORTID must be less than or equal to TNUM_SIOP_UART"
+#endif
+
 /**
  * \brief システムログ用のシリアルポート番号
  * \details
index 52f3350..936e2fe 100644 (file)
@@ -1,6 +1,6 @@
 =====================================================================
-             LPC1768 GENERICターゲット依存部 (asp-1.6.1対応)
-                                  Last Modified: 2010/Feb/27
+             LPC1768 GENERICターゲット依存部 (asp-1.6対応)
+                                  Last Modified: 2010/May/22
 =====================================================================
 
 (1) 対応しているターゲットシステムの種類・構成,バージョン番号
                lpcxpresso1768_gcc
        
        ・ターゲット非依存部のバージョン番号
-               1.6.1
+               1.6
        
        ・プロセッサ,チップ,開発環境依存部の構成とバージョン番号
-               1.6.1
+               1.6.2
                
        ・使用するPDICとバージョン番号
                pdic/uart