OSDN Git Service

コメント及びソースの整備。LPC4330上でsample1の動作確認。
authorsuikan <suikan@users.sourceforge.jp>
Sun, 7 Oct 2012 23:09:35 +0000 (08:09 +0900)
committersuikan <suikan@users.sourceforge.jp>
Sun, 7 Oct 2012 23:09:35 +0000 (08:09 +0900)
23 files changed:
asp/arch/arm_m_gcc/lpc1800_gcc/lpc1800.h
asp/arch/arm_m_gcc/lpc4300_gcc/MANIFEST
asp/arch/arm_m_gcc/lpc4300_gcc/chip.tf
asp/arch/arm_m_gcc/lpc4300_gcc/chip_check.tf
asp/arch/arm_m_gcc/lpc4300_gcc/chip_config.c
asp/arch/arm_m_gcc/lpc4300_gcc/chip_config.h
asp/arch/arm_m_gcc/lpc4300_gcc/chip_kernel.h
asp/arch/arm_m_gcc/lpc4300_gcc/chip_sil.h
asp/arch/arm_m_gcc/lpc4300_gcc/chip_stddef.h
asp/arch/arm_m_gcc/lpc4300_gcc/chip_test.h
asp/arch/arm_m_gcc/lpc4300_gcc/lpc4300.h
asp/target/lpc1830_generic_gcc/target.tf
asp/target/lpc4330_generic_gcc/E_PACKAGE
asp/target/lpc4330_generic_gcc/MANIFEST
asp/target/lpc4330_generic_gcc/lpc4330_generic.h
asp/target/lpc4330_generic_gcc/target.tf
asp/target/lpc4330_generic_gcc/target_check.tf
asp/target/lpc4330_generic_gcc/target_config.c
asp/target/lpc4330_generic_gcc/target_kernel.h
asp/target/lpc4330_generic_gcc/target_offset.tf
asp/target/lpc4330_generic_gcc/target_sil.h
asp/target/lpc4330_generic_gcc/target_syssvc.h
asp/target/lpc4330_generic_gcc/target_test.h

index 717286c..ef0b82f 100644 (file)
  *  \details
  *  NXP提供のCMSIS LPC18xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
  *  \code
- *  sed -e "s/  //" < irqs | sed -e "s/_.*$//" | awk '{print("#define IRQ_VECTOR_"$1"\t\t(16+"$1"_IRQn)")}' -
+ *  sed -e "s/  //" < irqs | sed -e "s/_IRQn//" | awk '{print("#define IRQ_VECTOR_"$1"\t\t(16+"$1"_IRQn)")}' -
  *  \endcode
  *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M3の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
  *  IRQ_VECTOR_XXXXを例外番号として宣言している。つまりXXX_IRQnに16を足す。
  */
-#define IRQ_VECTOR_DAC         (16+DAC_IRQn)
-#define IRQ_VECTOR_RESERVED0           (16+RESERVED0_IRQn)
-#define IRQ_VECTOR_DMA         (16+DMA_IRQn)
-#define IRQ_VECTOR_RESERVED1           (16+RESERVED1_IRQn)
-#define IRQ_VECTOR_RESERVED2           (16+RESERVED2_IRQn)
-#define IRQ_VECTOR_ETHERNET            (16+ETHERNET_IRQn)
-#define IRQ_VECTOR_SDIO                (16+SDIO_IRQn)
-#define IRQ_VECTOR_LCD         (16+LCD_IRQn)
-#define IRQ_VECTOR_USB0                (16+USB0_IRQn)
-#define IRQ_VECTOR_USB1                (16+USB1_IRQn)
-#define IRQ_VECTOR_SCT         (16+SCT_IRQn)
-#define IRQ_VECTOR_RITIMER             (16+RITIMER_IRQn)
-#define IRQ_VECTOR_TIMER0              (16+TIMER0_IRQn)
-#define IRQ_VECTOR_TIMER1              (16+TIMER1_IRQn)
-#define IRQ_VECTOR_TIMER2              (16+TIMER2_IRQn)
-#define IRQ_VECTOR_TIMER3              (16+TIMER3_IRQn)
-#define IRQ_VECTOR_MCPWM               (16+MCPWM_IRQn)
-#define IRQ_VECTOR_ADC0                (16+ADC0_IRQn)
-#define IRQ_VECTOR_I2C0                (16+I2C0_IRQn)
-#define IRQ_VECTOR_I2C1                (16+I2C1_IRQn)
-#define IRQ_VECTOR_RESERVED3           (16+RESERVED3_IRQn)
-#define IRQ_VECTOR_ADC1                (16+ADC1_IRQn)
-#define IRQ_VECTOR_SSP0                (16+SSP0_IRQn)
-#define IRQ_VECTOR_SSP1                (16+SSP1_IRQn)
-#define IRQ_VECTOR_USART0              (16+USART0_IRQn)
-#define IRQ_VECTOR_UART1               (16+UART1_IRQn)
-#define IRQ_VECTOR_USART2              (16+USART2_IRQn)
-#define IRQ_VECTOR_USART3              (16+USART3_IRQn)
-#define IRQ_VECTOR_I2S0                (16+I2S0_IRQn)
-#define IRQ_VECTOR_I2S1                (16+I2S1_IRQn)
-#define IRQ_VECTOR_RESERVED4           (16+RESERVED4_IRQn)
-#define IRQ_VECTOR_RESERVED5           (16+RESERVED5_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_GINT0               (16+GINT0_IRQn)
-#define IRQ_VECTOR_GINT1               (16+GINT1_IRQn)
-#define IRQ_VECTOR_EVENTROUTER         (16+EVENTROUTER_IRQn)
-#define IRQ_VECTOR_C           (16+C_IRQn)
-#define IRQ_VECTOR_RESERVED6           (16+RESERVED6_IRQn)
-#define IRQ_VECTOR_RESERVED7           (16+RESERVED7_IRQn)
-#define IRQ_VECTOR_ATIMER              (16+ATIMER_IRQn)
-#define IRQ_VECTOR_RTC         (16+RTC_IRQn)
-#define IRQ_VECTOR_RESERVED8           (16+RESERVED8_IRQn)
-#define IRQ_VECTOR_WWDT                (16+WWDT_IRQn)
-#define IRQ_VECTOR_RESERVED9           (16+RESERVED9_IRQn)
-#define IRQ_VECTOR_C           (16+C_IRQn)
-#define IRQ_VECTOR_QEI         (16+QEI_IRQn)
+
+#define IRQ_VECTOR_DAC      (16+DAC_IRQn)
+#define IRQ_VECTOR_RESERVED0        (16+RESERVED0_IRQn)
+#define IRQ_VECTOR_DMA      (16+DMA_IRQn)
+#define IRQ_VECTOR_RESERVED1        (16+RESERVED1_IRQn)
+#define IRQ_VECTOR_RESERVED2        (16+RESERVED2_IRQn)
+#define IRQ_VECTOR_ETHERNET     (16+ETHERNET_IRQn)
+#define IRQ_VECTOR_SDIO     (16+SDIO_IRQn)
+#define IRQ_VECTOR_LCD      (16+LCD_IRQn)
+#define IRQ_VECTOR_USB0     (16+USB0_IRQn)
+#define IRQ_VECTOR_USB1     (16+USB1_IRQn)
+#define IRQ_VECTOR_SCT      (16+SCT_IRQn)
+#define IRQ_VECTOR_RITIMER      (16+RITIMER_IRQn)
+#define IRQ_VECTOR_TIMER0       (16+TIMER0_IRQn)
+#define IRQ_VECTOR_TIMER1       (16+TIMER1_IRQn)
+#define IRQ_VECTOR_TIMER2       (16+TIMER2_IRQn)
+#define IRQ_VECTOR_TIMER3       (16+TIMER3_IRQn)
+#define IRQ_VECTOR_MCPWM        (16+MCPWM_IRQn)
+#define IRQ_VECTOR_ADC0     (16+ADC0_IRQn)
+#define IRQ_VECTOR_I2C0     (16+I2C0_IRQn)
+#define IRQ_VECTOR_I2C1     (16+I2C1_IRQn)
+#define IRQ_VECTOR_RESERVED3        (16+RESERVED3_IRQn)
+#define IRQ_VECTOR_ADC1     (16+ADC1_IRQn)
+#define IRQ_VECTOR_SSP0     (16+SSP0_IRQn)
+#define IRQ_VECTOR_SSP1     (16+SSP1_IRQn)
+#define IRQ_VECTOR_USART0       (16+USART0_IRQn)
+#define IRQ_VECTOR_UART1        (16+UART1_IRQn)
+#define IRQ_VECTOR_USART2       (16+USART2_IRQn)
+#define IRQ_VECTOR_USART3       (16+USART3_IRQn)
+#define IRQ_VECTOR_I2S0     (16+I2S0_IRQn)
+#define IRQ_VECTOR_I2S1     (16+I2S1_IRQn)
+#define IRQ_VECTOR_RESERVED4        (16+RESERVED4_IRQn)
+#define IRQ_VECTOR_RESERVED5        (16+RESERVED5_IRQn)
+#define IRQ_VECTOR_PIN_INT0     (16+PIN_INT0_IRQn)
+#define IRQ_VECTOR_PIN_INT1     (16+PIN_INT1_IRQn)
+#define IRQ_VECTOR_PIN_INT2     (16+PIN_INT2_IRQn)
+#define IRQ_VECTOR_PIN_INT3     (16+PIN_INT3_IRQn)
+#define IRQ_VECTOR_PIN_INT4     (16+PIN_INT4_IRQn)
+#define IRQ_VECTOR_PIN_INT5     (16+PIN_INT5_IRQn)
+#define IRQ_VECTOR_PIN_INT6     (16+PIN_INT6_IRQn)
+#define IRQ_VECTOR_PIN_INT7     (16+PIN_INT7_IRQn)
+#define IRQ_VECTOR_GINT0        (16+GINT0_IRQn)
+#define IRQ_VECTOR_GINT1        (16+GINT1_IRQn)
+#define IRQ_VECTOR_EVENTROUTER      (16+EVENTROUTER_IRQn)
+#define IRQ_VECTOR_C_CAN1       (16+C_CAN1_IRQn)
+#define IRQ_VECTOR_RESERVED6        (16+RESERVED6_IRQn)
+#define IRQ_VECTOR_RESERVED7        (16+RESERVED7_IRQn)
+#define IRQ_VECTOR_ATIMER       (16+ATIMER_IRQn)
+#define IRQ_VECTOR_RTC      (16+RTC_IRQn)
+#define IRQ_VECTOR_RESERVED8        (16+RESERVED8_IRQn)
+#define IRQ_VECTOR_WWDT     (16+WWDT_IRQn)
+#define IRQ_VECTOR_RESERVED9        (16+RESERVED9_IRQn)
+#define IRQ_VECTOR_C_CAN0       (16+C_CAN0_IRQn)
+#define IRQ_VECTOR_QEI      (16+QEI_IRQn)
+
 
 /**
  *  \brief 割込みハンドラ番号定義
  *  \details
  *  NXP提供のCMSIS LPC18xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
  *  \code
- *  sed -e "s/  //" < irqs | sed -e "s/_.*$//" | awk '{print("#define INHNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
+ *  sed -e "s/  //" < irqs | sed -e "s/_IRQn//" | awk '{print("#define INHNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
  *  \endcode
  *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M3の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
  *  INHNO_XXXXを例外番号として宣言している。つまりIRQ_VECTOR_XXXと同じ値である
  */
 
-#define INHNO_DAC              IRQ_VECTOR_DAC
-#define INHNO_RESERVED0                IRQ_VECTOR_RESERVED0
-#define INHNO_DMA              IRQ_VECTOR_DMA
-#define INHNO_RESERVED1                IRQ_VECTOR_RESERVED1
-#define INHNO_RESERVED2                IRQ_VECTOR_RESERVED2
-#define INHNO_ETHERNET         IRQ_VECTOR_ETHERNET
-#define INHNO_SDIO             IRQ_VECTOR_SDIO
-#define INHNO_LCD              IRQ_VECTOR_LCD
-#define INHNO_USB0             IRQ_VECTOR_USB0
-#define INHNO_USB1             IRQ_VECTOR_USB1
-#define INHNO_SCT              IRQ_VECTOR_SCT
-#define INHNO_RITIMER          IRQ_VECTOR_RITIMER
-#define INHNO_TIMER0           IRQ_VECTOR_TIMER0
-#define INHNO_TIMER1           IRQ_VECTOR_TIMER1
-#define INHNO_TIMER2           IRQ_VECTOR_TIMER2
-#define INHNO_TIMER3           IRQ_VECTOR_TIMER3
-#define INHNO_MCPWM            IRQ_VECTOR_MCPWM
-#define INHNO_ADC0             IRQ_VECTOR_ADC0
-#define INHNO_I2C0             IRQ_VECTOR_I2C0
-#define INHNO_I2C1             IRQ_VECTOR_I2C1
-#define INHNO_RESERVED3                IRQ_VECTOR_RESERVED3
-#define INHNO_ADC1             IRQ_VECTOR_ADC1
-#define INHNO_SSP0             IRQ_VECTOR_SSP0
-#define INHNO_SSP1             IRQ_VECTOR_SSP1
-#define INHNO_USART0           IRQ_VECTOR_USART0
-#define INHNO_UART1            IRQ_VECTOR_UART1
-#define INHNO_USART2           IRQ_VECTOR_USART2
-#define INHNO_USART3           IRQ_VECTOR_USART3
-#define INHNO_I2S0             IRQ_VECTOR_I2S0
-#define INHNO_I2S1             IRQ_VECTOR_I2S1
-#define INHNO_RESERVED4                IRQ_VECTOR_RESERVED4
-#define INHNO_RESERVED5                IRQ_VECTOR_RESERVED5
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_GINT0            IRQ_VECTOR_GINT0
-#define INHNO_GINT1            IRQ_VECTOR_GINT1
-#define INHNO_EVENTROUTER              IRQ_VECTOR_EVENTROUTER
-#define INHNO_C                IRQ_VECTOR_C
-#define INHNO_RESERVED6                IRQ_VECTOR_RESERVED6
-#define INHNO_RESERVED7                IRQ_VECTOR_RESERVED7
-#define INHNO_ATIMER           IRQ_VECTOR_ATIMER
-#define INHNO_RTC              IRQ_VECTOR_RTC
-#define INHNO_RESERVED8                IRQ_VECTOR_RESERVED8
-#define INHNO_WWDT             IRQ_VECTOR_WWDT
-#define INHNO_RESERVED9                IRQ_VECTOR_RESERVED9
-#define INHNO_C                IRQ_VECTOR_C
-#define INHNO_QEI              IRQ_VECTOR_QEI
-#define INHNO_         IRQ_VECTOR_
+#define INHNO_DAC       IRQ_VECTOR_DAC
+#define INHNO_RESERVED0     IRQ_VECTOR_RESERVED0
+#define INHNO_DMA       IRQ_VECTOR_DMA
+#define INHNO_RESERVED1     IRQ_VECTOR_RESERVED1
+#define INHNO_RESERVED2     IRQ_VECTOR_RESERVED2
+#define INHNO_ETHERNET      IRQ_VECTOR_ETHERNET
+#define INHNO_SDIO      IRQ_VECTOR_SDIO
+#define INHNO_LCD       IRQ_VECTOR_LCD
+#define INHNO_USB0      IRQ_VECTOR_USB0
+#define INHNO_USB1      IRQ_VECTOR_USB1
+#define INHNO_SCT       IRQ_VECTOR_SCT
+#define INHNO_RITIMER       IRQ_VECTOR_RITIMER
+#define INHNO_TIMER0        IRQ_VECTOR_TIMER0
+#define INHNO_TIMER1        IRQ_VECTOR_TIMER1
+#define INHNO_TIMER2        IRQ_VECTOR_TIMER2
+#define INHNO_TIMER3        IRQ_VECTOR_TIMER3
+#define INHNO_MCPWM     IRQ_VECTOR_MCPWM
+#define INHNO_ADC0      IRQ_VECTOR_ADC0
+#define INHNO_I2C0      IRQ_VECTOR_I2C0
+#define INHNO_I2C1      IRQ_VECTOR_I2C1
+#define INHNO_RESERVED3     IRQ_VECTOR_RESERVED3
+#define INHNO_ADC1      IRQ_VECTOR_ADC1
+#define INHNO_SSP0      IRQ_VECTOR_SSP0
+#define INHNO_SSP1      IRQ_VECTOR_SSP1
+#define INHNO_USART0        IRQ_VECTOR_USART0
+#define INHNO_UART1     IRQ_VECTOR_UART1
+#define INHNO_USART2        IRQ_VECTOR_USART2
+#define INHNO_USART3        IRQ_VECTOR_USART3
+#define INHNO_I2S0      IRQ_VECTOR_I2S0
+#define INHNO_I2S1      IRQ_VECTOR_I2S1
+#define INHNO_RESERVED4     IRQ_VECTOR_RESERVED4
+#define INHNO_RESERVED5     IRQ_VECTOR_RESERVED5
+#define INHNO_PIN_INT0      IRQ_VECTOR_PIN_INT0
+#define INHNO_PIN_INT1      IRQ_VECTOR_PIN_INT1
+#define INHNO_PIN_INT2      IRQ_VECTOR_PIN_INT2
+#define INHNO_PIN_INT3      IRQ_VECTOR_PIN_INT3
+#define INHNO_PIN_INT4      IRQ_VECTOR_PIN_INT4
+#define INHNO_PIN_INT5      IRQ_VECTOR_PIN_INT5
+#define INHNO_PIN_INT6      IRQ_VECTOR_PIN_INT6
+#define INHNO_PIN_INT7      IRQ_VECTOR_PIN_INT7
+#define INHNO_GINT0     IRQ_VECTOR_GINT0
+#define INHNO_GINT1     IRQ_VECTOR_GINT1
+#define INHNO_EVENTROUTER       IRQ_VECTOR_EVENTROUTER
+#define INHNO_C_CAN1        IRQ_VECTOR_C_CAN1
+#define INHNO_RESERVED6     IRQ_VECTOR_RESERVED6
+#define INHNO_RESERVED7     IRQ_VECTOR_RESERVED7
+#define INHNO_ATIMER        IRQ_VECTOR_ATIMER
+#define INHNO_RTC       IRQ_VECTOR_RTC
+#define INHNO_RESERVED8     IRQ_VECTOR_RESERVED8
+#define INHNO_WWDT      IRQ_VECTOR_WWDT
+#define INHNO_RESERVED9     IRQ_VECTOR_RESERVED9
+#define INHNO_C_CAN0        IRQ_VECTOR_C_CAN0
+#define INHNO_QEI       IRQ_VECTOR_QEI
+
 
 /**
  *  \brief TOPPERS/ASP割込み番号定義
  *  \details
  *  NXP提供のCMSIS LPC18xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
  *  \code
- *  sed -e "s/  //" < irqs | sed -e "s/_.*$//" | awk '{print("#define INTNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
+ *  sed -e "s/  //" < irqs | sed -e "s/_IRQn//" | awk '{print("#define INTNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
  *  \endcode
  *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M3の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
  *  INTNO_XXXXを例外番号として宣言している。つまりIRQ_VECTOR_XXXと同じ値である
  */
-#define INTNO_DAC              IRQ_VECTOR_DAC
-#define INTNO_RESERVED0                IRQ_VECTOR_RESERVED0
-#define INTNO_DMA              IRQ_VECTOR_DMA
-#define INTNO_RESERVED1                IRQ_VECTOR_RESERVED1
-#define INTNO_RESERVED2                IRQ_VECTOR_RESERVED2
-#define INTNO_ETHERNET         IRQ_VECTOR_ETHERNET
-#define INTNO_SDIO             IRQ_VECTOR_SDIO
-#define INTNO_LCD              IRQ_VECTOR_LCD
-#define INTNO_USB0             IRQ_VECTOR_USB0
-#define INTNO_USB1             IRQ_VECTOR_USB1
-#define INTNO_SCT              IRQ_VECTOR_SCT
-#define INTNO_RITIMER          IRQ_VECTOR_RITIMER
-#define INTNO_TIMER0           IRQ_VECTOR_TIMER0
-#define INTNO_TIMER1           IRQ_VECTOR_TIMER1
-#define INTNO_TIMER2           IRQ_VECTOR_TIMER2
-#define INTNO_TIMER3           IRQ_VECTOR_TIMER3
-#define INTNO_MCPWM            IRQ_VECTOR_MCPWM
-#define INTNO_ADC0             IRQ_VECTOR_ADC0
-#define INTNO_I2C0             IRQ_VECTOR_I2C0
-#define INTNO_I2C1             IRQ_VECTOR_I2C1
-#define INTNO_RESERVED3                IRQ_VECTOR_RESERVED3
-#define INTNO_ADC1             IRQ_VECTOR_ADC1
-#define INTNO_SSP0             IRQ_VECTOR_SSP0
-#define INTNO_SSP1             IRQ_VECTOR_SSP1
-#define INTNO_USART0           IRQ_VECTOR_USART0
-#define INTNO_UART1            IRQ_VECTOR_UART1
-#define INTNO_USART2           IRQ_VECTOR_USART2
-#define INTNO_USART3           IRQ_VECTOR_USART3
-#define INTNO_I2S0             IRQ_VECTOR_I2S0
-#define INTNO_I2S1             IRQ_VECTOR_I2S1
-#define INTNO_RESERVED4                IRQ_VECTOR_RESERVED4
-#define INTNO_RESERVED5                IRQ_VECTOR_RESERVED5
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_GINT0            IRQ_VECTOR_GINT0
-#define INTNO_GINT1            IRQ_VECTOR_GINT1
-#define INTNO_EVENTROUTER              IRQ_VECTOR_EVENTROUTER
-#define INTNO_C                IRQ_VECTOR_C
-#define INTNO_RESERVED6                IRQ_VECTOR_RESERVED6
-#define INTNO_RESERVED7                IRQ_VECTOR_RESERVED7
-#define INTNO_ATIMER           IRQ_VECTOR_ATIMER
-#define INTNO_RTC              IRQ_VECTOR_RTC
-#define INTNO_RESERVED8                IRQ_VECTOR_RESERVED8
-#define INTNO_WWDT             IRQ_VECTOR_WWDT
-#define INTNO_RESERVED9                IRQ_VECTOR_RESERVED9
-#define INTNO_C                IRQ_VECTOR_C
-#define INTNO_QEI              IRQ_VECTOR_QEI
+#define INTNO_DAC       IRQ_VECTOR_DAC
+#define INTNO_RESERVED0     IRQ_VECTOR_RESERVED0
+#define INTNO_DMA       IRQ_VECTOR_DMA
+#define INTNO_RESERVED1     IRQ_VECTOR_RESERVED1
+#define INTNO_RESERVED2     IRQ_VECTOR_RESERVED2
+#define INTNO_ETHERNET      IRQ_VECTOR_ETHERNET
+#define INTNO_SDIO      IRQ_VECTOR_SDIO
+#define INTNO_LCD       IRQ_VECTOR_LCD
+#define INTNO_USB0      IRQ_VECTOR_USB0
+#define INTNO_USB1      IRQ_VECTOR_USB1
+#define INTNO_SCT       IRQ_VECTOR_SCT
+#define INTNO_RITIMER       IRQ_VECTOR_RITIMER
+#define INTNO_TIMER0        IRQ_VECTOR_TIMER0
+#define INTNO_TIMER1        IRQ_VECTOR_TIMER1
+#define INTNO_TIMER2        IRQ_VECTOR_TIMER2
+#define INTNO_TIMER3        IRQ_VECTOR_TIMER3
+#define INTNO_MCPWM     IRQ_VECTOR_MCPWM
+#define INTNO_ADC0      IRQ_VECTOR_ADC0
+#define INTNO_I2C0      IRQ_VECTOR_I2C0
+#define INTNO_I2C1      IRQ_VECTOR_I2C1
+#define INTNO_RESERVED3     IRQ_VECTOR_RESERVED3
+#define INTNO_ADC1      IRQ_VECTOR_ADC1
+#define INTNO_SSP0      IRQ_VECTOR_SSP0
+#define INTNO_SSP1      IRQ_VECTOR_SSP1
+#define INTNO_USART0        IRQ_VECTOR_USART0
+#define INTNO_UART1     IRQ_VECTOR_UART1
+#define INTNO_USART2        IRQ_VECTOR_USART2
+#define INTNO_USART3        IRQ_VECTOR_USART3
+#define INTNO_I2S0      IRQ_VECTOR_I2S0
+#define INTNO_I2S1      IRQ_VECTOR_I2S1
+#define INTNO_RESERVED4     IRQ_VECTOR_RESERVED4
+#define INTNO_RESERVED5     IRQ_VECTOR_RESERVED5
+#define INTNO_PIN_INT0      IRQ_VECTOR_PIN_INT0
+#define INTNO_PIN_INT1      IRQ_VECTOR_PIN_INT1
+#define INTNO_PIN_INT2      IRQ_VECTOR_PIN_INT2
+#define INTNO_PIN_INT3      IRQ_VECTOR_PIN_INT3
+#define INTNO_PIN_INT4      IRQ_VECTOR_PIN_INT4
+#define INTNO_PIN_INT5      IRQ_VECTOR_PIN_INT5
+#define INTNO_PIN_INT6      IRQ_VECTOR_PIN_INT6
+#define INTNO_PIN_INT7      IRQ_VECTOR_PIN_INT7
+#define INTNO_GINT0     IRQ_VECTOR_GINT0
+#define INTNO_GINT1     IRQ_VECTOR_GINT1
+#define INTNO_EVENTROUTER       IRQ_VECTOR_EVENTROUTER
+#define INTNO_C_CAN1        IRQ_VECTOR_C_CAN1
+#define INTNO_RESERVED6     IRQ_VECTOR_RESERVED6
+#define INTNO_RESERVED7     IRQ_VECTOR_RESERVED7
+#define INTNO_ATIMER        IRQ_VECTOR_ATIMER
+#define INTNO_RTC       IRQ_VECTOR_RTC
+#define INTNO_RESERVED8     IRQ_VECTOR_RESERVED8
+#define INTNO_WWDT      IRQ_VECTOR_WWDT
+#define INTNO_RESERVED9     IRQ_VECTOR_RESERVED9
+#define INTNO_C_CAN0        IRQ_VECTOR_C_CAN0
+#define INTNO_QEI       IRQ_VECTOR_QEI
 
 #ifndef TOPPERS_MACRO_ONLY
 
index 94cadaf..99e30ee 100644 (file)
@@ -1,8 +1,11 @@
 PACKAGE asp_arch_arm_m_gcc
 
-cmsis/LPC18xx.h
-cmsis/core_cm3.h
-cmsis/system_LPC18xx.h
+cmsis/LPC43xx.h
+cmsis/core_cm4.h
+cmsis/core_cmFunc.h
+cmsis/core_cm4Instr.h
+cmsis/core_cm4_simd.h
+cmsis/system_LPC43xx.h
 MANIFEST
 Makefile.chip
 chip.tf
index 8ff9882..d23a1eb 100644 (file)
@@ -1,5 +1,5 @@
 $ 
-$     パス2のターゲット依存テンプレート(NXP LPC18XX汎用)
+$     パス2のターゲット依存テンプレート(NXP LPC43XX汎用)
 $ 
 
 $ 
index 7c4a2ba..521011e 100644 (file)
@@ -1,5 +1,5 @@
 $ 
-$     パス3のチップ依存テンプレート(NXP LPC18XX汎用)
+$     パス3のチップ依存テンプレート(NXP LPC43XX汎用)
 $ 
 
 $ 
index 598e9e8..df2c356 100644 (file)
@@ -46,7 +46,7 @@
  */
 /**
  * \file chip_config.c
- * \brief カーネル実装のチップ依存モジュール(LPC18xx汎用)
+ * \brief カーネル実装のチップ依存モジュール(LPC43xx汎用)
  */
 #include "kernel_impl.h"
 #include <sil.h>
index 6f438d0..811f5d8 100644 (file)
@@ -75,7 +75,7 @@
  * \brief 非タスクコンテキスト用スタックポインタの初期値を格納する変数
  * \details
  * porting.txtは、*_kernel_istkptを変数として使い、そこに非タスクコンテキスト用
- * スタックポインタの初期値を格納することを要請している。LPC1800の場合、*_kernel_istkptの
+ * スタックポインタの初期値を格納することを要請している。LPC4300の場合、*_kernel_istkptの
  * 値は、SRAM実行とROM実行で異なる。これに対応するため、LDスクリプトで例外ベクトルの先頭を
  * 指す値、_vector_start_lmaを作り、_kernel_istkptとして使用している。
  */
index 435480f..9a64c34 100644 (file)
@@ -47,7 +47,7 @@
 
 /**
  * \file chip_kernel.h
- * \brief kernel.hのターゲット依存部(NXP LPC18XX汎用)
+ * \brief kernel.hのターゲット依存部(NXP LPC43XX汎用)
  * \details
  *  このインクルードファイルは,kernel.hでインクルードされる.他のファ
  *  イルから直接インクルードすることはない.このファイルをインクルード
@@ -61,8 +61,8 @@
 /**
  * \brief 割込み優先度の最小値(最高値)。
  * \details
- * SoC設計者によるCORTEX-M3のコンフィギュレーションに従った値を
- * 指定する。 prc_user.txtによれば、CORTEX-M3においてはTMIN_INTPRIの値は
+ * SoC設計者によるCORTEX-M4のコンフィギュレーションに従った値を
+ * 指定する。 prc_user.txtによれば、CORTEX-M4においてはTMIN_INTPRIの値は
  * \code
  *    -(2^(TBITW_IPRI)) + (2^TBITW_SUBIPRI)) 〜 -1
  * \endcode
  * \code
  *    -32 + 1 〜 -1
  * \endcode
- * となる。この中の最大優先度は-8だが、その値は指定できないので、
- * lpc1800_gcc依存部では、TMIN_INTPRIを-7と定めている。
+ * となる。この中の最大優先度は-8だが、その値は指定できない。
+ *
+ * lpc4300_gcc依存部では、TMIN_INTPRIを-7と定めている。
  *
  */
-//TODO 現時点で、プライオリティビット幅は不明である。lpc1800.hを参照。
+//TODO 現時点で、プライオリティビット幅は不明である。lpc4300.hを参照。
 #define TMIN_INTPRI            (-7)
 
 /**
index 0f76d82..1711b5a 100644 (file)
@@ -45,7 +45,7 @@
 
 /**
  * \file chip_sil.h
- *  \brief sil.hのチップ依存部(NXP LPC18XX汎用)
+ *  \brief sil.hのチップ依存部(NXP LPC43XX汎用)
  * \details
  *  このインクルードファイルは,sil.hの先頭でインクルードされる.他のファ
  *  イルからは直接インクルードすることはない.このファイルをインクルー
@@ -68,7 +68,7 @@
  * \brief リセット時のMSP設定
  * \details
  * INIT_MSPを宣言すると、start.Sの中でリセット直後にMSPに初期値を代入する。
- * この操作はLPC1800においてRAM上でGDBからダウンロードしたソフトを実行する場合に必要になる。
+ * この操作はLPC4300においてRAM上でGDBからダウンロードしたソフトを実行する場合に必要になる。
  *
  * デバッグ時に便利なので、ROM化、SRAM実行いずれの場合もメモリ量で困っていない限り、
  * INIT_MSPを宣言しておくとよい。
index e1e6404..3f1e774 100644 (file)
@@ -44,7 +44,7 @@
 
 /**
  * \file chip_stddef.h
- * \brief t_stddef.hのチップ依存部(NXP LPC18xx用)
+ * \brief t_stddef.hのチップ依存部(NXP LPC43xx用)
  * \details
  *  このインクルードファイルは,target_stddef.hの先頭でインクルードされる.
  *  他のファイルからは直接インクルードすることはない.他のインクルード
index 31aa619..912dc4b 100644 (file)
@@ -46,7 +46,7 @@
 
 /**
  * \file chip_test.h
- *     \brief  テストプログラムのチップ依存定義(NXP LPC18xx用)
+ *     \brief  テストプログラムのチップ依存定義(NXP LPC43xx用)
  */
 
 #ifndef TOPPERS_CHIP_TEST_H
index 3d6f8cc..4cdd112 100644 (file)
 
 /**
  * \ingroup TOPPERS_ASP
- * \defgroup TOPPERS_CHIP LPC18XX チップ依存部
+ * \defgroup TOPPERS_CHIP LPC43XX チップ依存部
  * \{
  */
 /**
- * \file lpc1800.h
+ * \file lpc4300.h
  * \details NXP LPC1800シリーズのハードウェア宣言
  */
 #ifndef TOPPERS_CHIP_LPC4300_H
 /**
  * \brief 割込み番号の最大値
  * \details
- * CORTEX-M3のNVIC割り込みコントローラは任意個の割り込み源を持つ。このマクロは、
+ * CORTEX-M4のNVIC割り込みコントローラは任意個の割り込み源を持つ。このマクロは、
  * 最大の割り込み番号の値を表す。
  */
-#define TMAX_INTNO   (16 + 52)                 // LPC1830の最大割り込み番号は16+52
+#define TMAX_INTNO   (16 + 53)                 // LPC1830の最大割り込み番号は16+53
 
 /**
  * \brief 割込み優先度のビット幅
  * \details
- * CORTEX-M3のNVIC割り込みコントローラはSoC実装者の判断で最大8bitの割り込み優先値を
+ * CORTEX-M4のNVIC割り込みコントローラはSoC実装者の判断で最大8bitの割り込み優先値を
  * 持つことができる。TBITW_IPRIは、その優先値を表すフィールドの幅を示す。フィールド幅は
  * SoC設計者が決める。通常はユーザーズマニュアルなどに書いてある。
  *
- * LPC18xxでは現在不明であるが、UM10430 の 6.3節には
+ * LPC43xxでは現在不明であるが、UM10503 の 7.3節には
  * "Eight programmable interrupt priority levels with hardware priority level masking."
  * とある。一方、IPRxの説明には5-bitの割り込み優先順位とあり、混乱している。
  */
-#define TBITW_IPRI     3                                       // LPC1830      の優先度は8順位3bit
+#define TBITW_IPRI     3                                       // LPC4330      の優先度は8順位3bit
 
 /**
  * \brief 割込み優先度ビット幅中のサブ優先度のビット幅
 /**
  *  \brief 割込みベクタ番号定義
  *  \details
- *  NXP提供のCMSIS LPC18xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
+ *  NXP提供のCMSIS LPC43xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
  *  \code
- *  sed -e "s/  //" < irqs | sed -e "s/_.*$//" | awk '{print("#define IRQ_VECTOR_"$1"\t\t(16+"$1"_IRQn)")}' -
+ *  sed -e "s/  //" < irqs | sed -e "s/_IRQn//" | awk '{print("#define IRQ_VECTOR_"$1"\t\t(16+"$1"_IRQn)")}' -
  *  \endcode
- *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M3の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
+ *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M4の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
  *  IRQ_VECTOR_XXXXを例外番号として宣言している。つまりXXX_IRQnに16を足す。
  */
-#define IRQ_VECTOR_DAC         (16+DAC_IRQn)
-#define IRQ_VECTOR_RESERVED0           (16+RESERVED0_IRQn)
-#define IRQ_VECTOR_DMA         (16+DMA_IRQn)
-#define IRQ_VECTOR_RESERVED1           (16+RESERVED1_IRQn)
-#define IRQ_VECTOR_RESERVED2           (16+RESERVED2_IRQn)
-#define IRQ_VECTOR_ETHERNET            (16+ETHERNET_IRQn)
-#define IRQ_VECTOR_SDIO                (16+SDIO_IRQn)
-#define IRQ_VECTOR_LCD         (16+LCD_IRQn)
-#define IRQ_VECTOR_USB0                (16+USB0_IRQn)
-#define IRQ_VECTOR_USB1                (16+USB1_IRQn)
-#define IRQ_VECTOR_SCT         (16+SCT_IRQn)
-#define IRQ_VECTOR_RITIMER             (16+RITIMER_IRQn)
-#define IRQ_VECTOR_TIMER0              (16+TIMER0_IRQn)
-#define IRQ_VECTOR_TIMER1              (16+TIMER1_IRQn)
-#define IRQ_VECTOR_TIMER2              (16+TIMER2_IRQn)
-#define IRQ_VECTOR_TIMER3              (16+TIMER3_IRQn)
-#define IRQ_VECTOR_MCPWM               (16+MCPWM_IRQn)
-#define IRQ_VECTOR_ADC0                (16+ADC0_IRQn)
-#define IRQ_VECTOR_I2C0                (16+I2C0_IRQn)
-#define IRQ_VECTOR_I2C1                (16+I2C1_IRQn)
-#define IRQ_VECTOR_RESERVED3           (16+RESERVED3_IRQn)
-#define IRQ_VECTOR_ADC1                (16+ADC1_IRQn)
-#define IRQ_VECTOR_SSP0                (16+SSP0_IRQn)
-#define IRQ_VECTOR_SSP1                (16+SSP1_IRQn)
-#define IRQ_VECTOR_USART0              (16+USART0_IRQn)
-#define IRQ_VECTOR_UART1               (16+UART1_IRQn)
-#define IRQ_VECTOR_USART2              (16+USART2_IRQn)
-#define IRQ_VECTOR_USART3              (16+USART3_IRQn)
-#define IRQ_VECTOR_I2S0                (16+I2S0_IRQn)
-#define IRQ_VECTOR_I2S1                (16+I2S1_IRQn)
-#define IRQ_VECTOR_RESERVED4           (16+RESERVED4_IRQn)
-#define IRQ_VECTOR_RESERVED5           (16+RESERVED5_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_PIN         (16+PIN_IRQn)
-#define IRQ_VECTOR_GINT0               (16+GINT0_IRQn)
-#define IRQ_VECTOR_GINT1               (16+GINT1_IRQn)
-#define IRQ_VECTOR_EVENTROUTER         (16+EVENTROUTER_IRQn)
-#define IRQ_VECTOR_C           (16+C_IRQn)
-#define IRQ_VECTOR_RESERVED6           (16+RESERVED6_IRQn)
-#define IRQ_VECTOR_RESERVED7           (16+RESERVED7_IRQn)
-#define IRQ_VECTOR_ATIMER              (16+ATIMER_IRQn)
-#define IRQ_VECTOR_RTC         (16+RTC_IRQn)
-#define IRQ_VECTOR_RESERVED8           (16+RESERVED8_IRQn)
-#define IRQ_VECTOR_WWDT                (16+WWDT_IRQn)
-#define IRQ_VECTOR_RESERVED9           (16+RESERVED9_IRQn)
-#define IRQ_VECTOR_C           (16+C_IRQn)
-#define IRQ_VECTOR_QEI         (16+QEI_IRQn)
+
+#define IRQ_VECTOR_DAC      (16+DAC_IRQn)
+#define IRQ_VECTOR_M0CORE       (16+M0CORE_IRQn)
+#define IRQ_VECTOR_DMA      (16+DMA_IRQn)
+#define IRQ_VECTOR_RESERVED1        (16+RESERVED1_IRQn)
+#define IRQ_VECTOR_RESERVED2        (16+RESERVED2_IRQn)
+#define IRQ_VECTOR_ETHERNET     (16+ETHERNET_IRQn)
+#define IRQ_VECTOR_SDIO     (16+SDIO_IRQn)
+#define IRQ_VECTOR_LCD      (16+LCD_IRQn)
+#define IRQ_VECTOR_USB0     (16+USB0_IRQn)
+#define IRQ_VECTOR_USB1     (16+USB1_IRQn)
+#define IRQ_VECTOR_SCT      (16+SCT_IRQn)
+#define IRQ_VECTOR_RITIMER      (16+RITIMER_IRQn)
+#define IRQ_VECTOR_TIMER0       (16+TIMER0_IRQn)
+#define IRQ_VECTOR_TIMER1       (16+TIMER1_IRQn)
+#define IRQ_VECTOR_TIMER2       (16+TIMER2_IRQn)
+#define IRQ_VECTOR_TIMER3       (16+TIMER3_IRQn)
+#define IRQ_VECTOR_MCPWM        (16+MCPWM_IRQn)
+#define IRQ_VECTOR_ADC0     (16+ADC0_IRQn)
+#define IRQ_VECTOR_I2C0     (16+I2C0_IRQn)
+#define IRQ_VECTOR_I2C1     (16+I2C1_IRQn)
+#define IRQ_VECTOR_SPI_INT      (16+SPI_INT_IRQn)
+#define IRQ_VECTOR_ADC1     (16+ADC1_IRQn)
+#define IRQ_VECTOR_SSP0     (16+SSP0_IRQn)
+#define IRQ_VECTOR_SSP1     (16+SSP1_IRQn)
+#define IRQ_VECTOR_USART0       (16+USART0_IRQn)
+#define IRQ_VECTOR_UART1        (16+UART1_IRQn)
+#define IRQ_VECTOR_USART2       (16+USART2_IRQn)
+#define IRQ_VECTOR_USART3       (16+USART3_IRQn)
+#define IRQ_VECTOR_I2S0     (16+I2S0_IRQn)
+#define IRQ_VECTOR_I2S1     (16+I2S1_IRQn)
+#define IRQ_VECTOR_RESERVED4        (16+RESERVED4_IRQn)
+#define IRQ_VECTOR_SGPIO_IINT       (16+SGPIO_IINT_IRQn)
+#define IRQ_VECTOR_PIN_INT0     (16+PIN_INT0_IRQn)
+#define IRQ_VECTOR_PIN_INT1     (16+PIN_INT1_IRQn)
+#define IRQ_VECTOR_PIN_INT2     (16+PIN_INT2_IRQn)
+#define IRQ_VECTOR_PIN_INT3     (16+PIN_INT3_IRQn)
+#define IRQ_VECTOR_PIN_INT4     (16+PIN_INT4_IRQn)
+#define IRQ_VECTOR_PIN_INT5     (16+PIN_INT5_IRQn)
+#define IRQ_VECTOR_PIN_INT6     (16+PIN_INT6_IRQn)
+#define IRQ_VECTOR_PIN_INT7     (16+PIN_INT7_IRQn)
+#define IRQ_VECTOR_GINT0        (16+GINT0_IRQn)
+#define IRQ_VECTOR_GINT1        (16+GINT1_IRQn)
+#define IRQ_VECTOR_EVENTROUTER      (16+EVENTROUTER_IRQn)
+#define IRQ_VECTOR_C_CAN1       (16+C_CAN1_IRQn)
+#define IRQ_VECTOR_RESERVED6        (16+RESERVED6_IRQn)
+#define IRQ_VECTOR_RESERVED7        (16+RESERVED7_IRQn)
+#define IRQ_VECTOR_ATIMER       (16+ATIMER_IRQn)
+#define IRQ_VECTOR_RTC      (16+RTC_IRQn)
+#define IRQ_VECTOR_RESERVED8        (16+RESERVED8_IRQn)
+#define IRQ_VECTOR_WWDT     (16+WWDT_IRQn)
+#define IRQ_VECTOR_RESERVED9        (16+RESERVED9_IRQn)
+#define IRQ_VECTOR_C_CAN0       (16+C_CAN0_IRQn)
+#define IRQ_VECTOR_QEI      (16+QEI_IRQn)
+
 
 /**
  *  \brief 割込みハンドラ番号定義
  *  \details
  *  NXP提供のCMSIS LPC18xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
  *  \code
- *  sed -e "s/  //" < irqs | sed -e "s/_.*$//" | awk '{print("#define INHNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
+ *  sed -e "s/  //" < irqs | sed -e "s/_IRQn//" | awk '{print("#define INHNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
  *  \endcode
  *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M3の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
  *  INHNO_XXXXを例外番号として宣言している。つまりIRQ_VECTOR_XXXと同じ値である
  */
 
-#define INHNO_DAC              IRQ_VECTOR_DAC
-#define INHNO_RESERVED0                IRQ_VECTOR_RESERVED0
-#define INHNO_DMA              IRQ_VECTOR_DMA
-#define INHNO_RESERVED1                IRQ_VECTOR_RESERVED1
-#define INHNO_RESERVED2                IRQ_VECTOR_RESERVED2
-#define INHNO_ETHERNET         IRQ_VECTOR_ETHERNET
-#define INHNO_SDIO             IRQ_VECTOR_SDIO
-#define INHNO_LCD              IRQ_VECTOR_LCD
-#define INHNO_USB0             IRQ_VECTOR_USB0
-#define INHNO_USB1             IRQ_VECTOR_USB1
-#define INHNO_SCT              IRQ_VECTOR_SCT
-#define INHNO_RITIMER          IRQ_VECTOR_RITIMER
-#define INHNO_TIMER0           IRQ_VECTOR_TIMER0
-#define INHNO_TIMER1           IRQ_VECTOR_TIMER1
-#define INHNO_TIMER2           IRQ_VECTOR_TIMER2
-#define INHNO_TIMER3           IRQ_VECTOR_TIMER3
-#define INHNO_MCPWM            IRQ_VECTOR_MCPWM
-#define INHNO_ADC0             IRQ_VECTOR_ADC0
-#define INHNO_I2C0             IRQ_VECTOR_I2C0
-#define INHNO_I2C1             IRQ_VECTOR_I2C1
-#define INHNO_RESERVED3                IRQ_VECTOR_RESERVED3
-#define INHNO_ADC1             IRQ_VECTOR_ADC1
-#define INHNO_SSP0             IRQ_VECTOR_SSP0
-#define INHNO_SSP1             IRQ_VECTOR_SSP1
-#define INHNO_USART0           IRQ_VECTOR_USART0
-#define INHNO_UART1            IRQ_VECTOR_UART1
-#define INHNO_USART2           IRQ_VECTOR_USART2
-#define INHNO_USART3           IRQ_VECTOR_USART3
-#define INHNO_I2S0             IRQ_VECTOR_I2S0
-#define INHNO_I2S1             IRQ_VECTOR_I2S1
-#define INHNO_RESERVED4                IRQ_VECTOR_RESERVED4
-#define INHNO_RESERVED5                IRQ_VECTOR_RESERVED5
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_PIN              IRQ_VECTOR_PIN
-#define INHNO_GINT0            IRQ_VECTOR_GINT0
-#define INHNO_GINT1            IRQ_VECTOR_GINT1
-#define INHNO_EVENTROUTER              IRQ_VECTOR_EVENTROUTER
-#define INHNO_C                IRQ_VECTOR_C
-#define INHNO_RESERVED6                IRQ_VECTOR_RESERVED6
-#define INHNO_RESERVED7                IRQ_VECTOR_RESERVED7
-#define INHNO_ATIMER           IRQ_VECTOR_ATIMER
-#define INHNO_RTC              IRQ_VECTOR_RTC
-#define INHNO_RESERVED8                IRQ_VECTOR_RESERVED8
-#define INHNO_WWDT             IRQ_VECTOR_WWDT
-#define INHNO_RESERVED9                IRQ_VECTOR_RESERVED9
-#define INHNO_C                IRQ_VECTOR_C
-#define INHNO_QEI              IRQ_VECTOR_QEI
-#define INHNO_         IRQ_VECTOR_
+#define INHNO_DAC       IRQ_VECTOR_DAC
+#define INHNO_M0CORE        IRQ_VECTOR_M0CORE
+#define INHNO_DMA       IRQ_VECTOR_DMA
+#define INHNO_RESERVED1     IRQ_VECTOR_RESERVED1
+#define INHNO_RESERVED2     IRQ_VECTOR_RESERVED2
+#define INHNO_ETHERNET      IRQ_VECTOR_ETHERNET
+#define INHNO_SDIO      IRQ_VECTOR_SDIO
+#define INHNO_LCD       IRQ_VECTOR_LCD
+#define INHNO_USB0      IRQ_VECTOR_USB0
+#define INHNO_USB1      IRQ_VECTOR_USB1
+#define INHNO_SCT       IRQ_VECTOR_SCT
+#define INHNO_RITIMER       IRQ_VECTOR_RITIMER
+#define INHNO_TIMER0        IRQ_VECTOR_TIMER0
+#define INHNO_TIMER1        IRQ_VECTOR_TIMER1
+#define INHNO_TIMER2        IRQ_VECTOR_TIMER2
+#define INHNO_TIMER3        IRQ_VECTOR_TIMER3
+#define INHNO_MCPWM     IRQ_VECTOR_MCPWM
+#define INHNO_ADC0      IRQ_VECTOR_ADC0
+#define INHNO_I2C0      IRQ_VECTOR_I2C0
+#define INHNO_I2C1      IRQ_VECTOR_I2C1
+#define INHNO_SPI_INT       IRQ_VECTOR_SPI_INT
+#define INHNO_ADC1      IRQ_VECTOR_ADC1
+#define INHNO_SSP0      IRQ_VECTOR_SSP0
+#define INHNO_SSP1      IRQ_VECTOR_SSP1
+#define INHNO_USART0        IRQ_VECTOR_USART0
+#define INHNO_UART1     IRQ_VECTOR_UART1
+#define INHNO_USART2        IRQ_VECTOR_USART2
+#define INHNO_USART3        IRQ_VECTOR_USART3
+#define INHNO_I2S0      IRQ_VECTOR_I2S0
+#define INHNO_I2S1      IRQ_VECTOR_I2S1
+#define INHNO_RESERVED4     IRQ_VECTOR_RESERVED4
+#define INHNO_SGPIO_IINT        IRQ_VECTOR_SGPIO_IINT
+#define INHNO_PIN_INT0      IRQ_VECTOR_PIN_INT0
+#define INHNO_PIN_INT1      IRQ_VECTOR_PIN_INT1
+#define INHNO_PIN_INT2      IRQ_VECTOR_PIN_INT2
+#define INHNO_PIN_INT3      IRQ_VECTOR_PIN_INT3
+#define INHNO_PIN_INT4      IRQ_VECTOR_PIN_INT4
+#define INHNO_PIN_INT5      IRQ_VECTOR_PIN_INT5
+#define INHNO_PIN_INT6      IRQ_VECTOR_PIN_INT6
+#define INHNO_PIN_INT7      IRQ_VECTOR_PIN_INT7
+#define INHNO_GINT0     IRQ_VECTOR_GINT0
+#define INHNO_GINT1     IRQ_VECTOR_GINT1
+#define INHNO_EVENTROUTER       IRQ_VECTOR_EVENTROUTER
+#define INHNO_C_CAN1        IRQ_VECTOR_C_CAN1
+#define INHNO_RESERVED6     IRQ_VECTOR_RESERVED6
+#define INHNO_RESERVED7     IRQ_VECTOR_RESERVED7
+#define INHNO_ATIMER        IRQ_VECTOR_ATIMER
+#define INHNO_RTC       IRQ_VECTOR_RTC
+#define INHNO_RESERVED8     IRQ_VECTOR_RESERVED8
+#define INHNO_WWDT      IRQ_VECTOR_WWDT
+#define INHNO_RESERVED9     IRQ_VECTOR_RESERVED9
+#define INHNO_C_CAN0        IRQ_VECTOR_C_CAN0
+#define INHNO_QEI       IRQ_VECTOR_QEI
+
 
 /**
  *  \brief TOPPERS/ASP割込み番号定義
  *  \details
  *  NXP提供のCMSIS LPC18xx.hで宣言されているXXXX_IRQnに以下のスクリプトを適応して生成した。irqsは、宣言を格納したファイル名である。
  *  \code
- *  sed -e "s/  //" < irqs | sed -e "s/_.*$//" | awk '{print("#define INTNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
+ *  sed -e "s/  //" < irqs | sed -e "s/_IRQn//" | awk '{print("#define INTNO_"$1"\t\tIRQ_VECTOR_"$1)}' -
  *  \endcode
  *  XXX_IRQnはCMSISの定義により、NVICの割り込み番号である。これはCORTEX-M3の例外番号から16を引いたものである。TOPPERS/ASPのCORTEX-M3実装では
  *  INTNO_XXXXを例外番号として宣言している。つまりIRQ_VECTOR_XXXと同じ値である
  */
-#define INTNO_DAC              IRQ_VECTOR_DAC
-#define INTNO_RESERVED0                IRQ_VECTOR_RESERVED0
-#define INTNO_DMA              IRQ_VECTOR_DMA
-#define INTNO_RESERVED1                IRQ_VECTOR_RESERVED1
-#define INTNO_RESERVED2                IRQ_VECTOR_RESERVED2
-#define INTNO_ETHERNET         IRQ_VECTOR_ETHERNET
-#define INTNO_SDIO             IRQ_VECTOR_SDIO
-#define INTNO_LCD              IRQ_VECTOR_LCD
-#define INTNO_USB0             IRQ_VECTOR_USB0
-#define INTNO_USB1             IRQ_VECTOR_USB1
-#define INTNO_SCT              IRQ_VECTOR_SCT
-#define INTNO_RITIMER          IRQ_VECTOR_RITIMER
-#define INTNO_TIMER0           IRQ_VECTOR_TIMER0
-#define INTNO_TIMER1           IRQ_VECTOR_TIMER1
-#define INTNO_TIMER2           IRQ_VECTOR_TIMER2
-#define INTNO_TIMER3           IRQ_VECTOR_TIMER3
-#define INTNO_MCPWM            IRQ_VECTOR_MCPWM
-#define INTNO_ADC0             IRQ_VECTOR_ADC0
-#define INTNO_I2C0             IRQ_VECTOR_I2C0
-#define INTNO_I2C1             IRQ_VECTOR_I2C1
-#define INTNO_RESERVED3                IRQ_VECTOR_RESERVED3
-#define INTNO_ADC1             IRQ_VECTOR_ADC1
-#define INTNO_SSP0             IRQ_VECTOR_SSP0
-#define INTNO_SSP1             IRQ_VECTOR_SSP1
-#define INTNO_USART0           IRQ_VECTOR_USART0
-#define INTNO_UART1            IRQ_VECTOR_UART1
-#define INTNO_USART2           IRQ_VECTOR_USART2
-#define INTNO_USART3           IRQ_VECTOR_USART3
-#define INTNO_I2S0             IRQ_VECTOR_I2S0
-#define INTNO_I2S1             IRQ_VECTOR_I2S1
-#define INTNO_RESERVED4                IRQ_VECTOR_RESERVED4
-#define INTNO_RESERVED5                IRQ_VECTOR_RESERVED5
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_PIN              IRQ_VECTOR_PIN
-#define INTNO_GINT0            IRQ_VECTOR_GINT0
-#define INTNO_GINT1            IRQ_VECTOR_GINT1
-#define INTNO_EVENTROUTER              IRQ_VECTOR_EVENTROUTER
-#define INTNO_C                IRQ_VECTOR_C
-#define INTNO_RESERVED6                IRQ_VECTOR_RESERVED6
-#define INTNO_RESERVED7                IRQ_VECTOR_RESERVED7
-#define INTNO_ATIMER           IRQ_VECTOR_ATIMER
-#define INTNO_RTC              IRQ_VECTOR_RTC
-#define INTNO_RESERVED8                IRQ_VECTOR_RESERVED8
-#define INTNO_WWDT             IRQ_VECTOR_WWDT
-#define INTNO_RESERVED9                IRQ_VECTOR_RESERVED9
-#define INTNO_C                IRQ_VECTOR_C
-#define INTNO_QEI              IRQ_VECTOR_QEI
+
+#define INTNO_DAC       IRQ_VECTOR_DAC
+#define INTNO_M0CORE        IRQ_VECTOR_M0CORE
+#define INTNO_DMA       IRQ_VECTOR_DMA
+#define INTNO_RESERVED1     IRQ_VECTOR_RESERVED1
+#define INTNO_RESERVED2     IRQ_VECTOR_RESERVED2
+#define INTNO_ETHERNET      IRQ_VECTOR_ETHERNET
+#define INTNO_SDIO      IRQ_VECTOR_SDIO
+#define INTNO_LCD       IRQ_VECTOR_LCD
+#define INTNO_USB0      IRQ_VECTOR_USB0
+#define INTNO_USB1      IRQ_VECTOR_USB1
+#define INTNO_SCT       IRQ_VECTOR_SCT
+#define INTNO_RITIMER       IRQ_VECTOR_RITIMER
+#define INTNO_TIMER0        IRQ_VECTOR_TIMER0
+#define INTNO_TIMER1        IRQ_VECTOR_TIMER1
+#define INTNO_TIMER2        IRQ_VECTOR_TIMER2
+#define INTNO_TIMER3        IRQ_VECTOR_TIMER3
+#define INTNO_MCPWM     IRQ_VECTOR_MCPWM
+#define INTNO_ADC0      IRQ_VECTOR_ADC0
+#define INTNO_I2C0      IRQ_VECTOR_I2C0
+#define INTNO_I2C1      IRQ_VECTOR_I2C1
+#define INTNO_SPI_INT       IRQ_VECTOR_SPI_INT
+#define INTNO_ADC1      IRQ_VECTOR_ADC1
+#define INTNO_SSP0      IRQ_VECTOR_SSP0
+#define INTNO_SSP1      IRQ_VECTOR_SSP1
+#define INTNO_USART0        IRQ_VECTOR_USART0
+#define INTNO_UART1     IRQ_VECTOR_UART1
+#define INTNO_USART2        IRQ_VECTOR_USART2
+#define INTNO_USART3        IRQ_VECTOR_USART3
+#define INTNO_I2S0      IRQ_VECTOR_I2S0
+#define INTNO_I2S1      IRQ_VECTOR_I2S1
+#define INTNO_RESERVED4     IRQ_VECTOR_RESERVED4
+#define INTNO_SGPIO_IINT        IRQ_VECTOR_SGPIO_IINT
+#define INTNO_PIN_INT0      IRQ_VECTOR_PIN_INT0
+#define INTNO_PIN_INT1      IRQ_VECTOR_PIN_INT1
+#define INTNO_PIN_INT2      IRQ_VECTOR_PIN_INT2
+#define INTNO_PIN_INT3      IRQ_VECTOR_PIN_INT3
+#define INTNO_PIN_INT4      IRQ_VECTOR_PIN_INT4
+#define INTNO_PIN_INT5      IRQ_VECTOR_PIN_INT5
+#define INTNO_PIN_INT6      IRQ_VECTOR_PIN_INT6
+#define INTNO_PIN_INT7      IRQ_VECTOR_PIN_INT7
+#define INTNO_GINT0     IRQ_VECTOR_GINT0
+#define INTNO_GINT1     IRQ_VECTOR_GINT1
+#define INTNO_EVENTROUTER       IRQ_VECTOR_EVENTROUTER
+#define INTNO_C_CAN1        IRQ_VECTOR_C_CAN1
+#define INTNO_RESERVED6     IRQ_VECTOR_RESERVED6
+#define INTNO_RESERVED7     IRQ_VECTOR_RESERVED7
+#define INTNO_ATIMER        IRQ_VECTOR_ATIMER
+#define INTNO_RTC       IRQ_VECTOR_RTC
+#define INTNO_RESERVED8     IRQ_VECTOR_RESERVED8
+#define INTNO_WWDT      IRQ_VECTOR_WWDT
+#define INTNO_RESERVED9     IRQ_VECTOR_RESERVED9
+#define INTNO_C_CAN0        IRQ_VECTOR_C_CAN0
+#define INTNO_QEI       IRQ_VECTOR_QEI
+
+
 
 #ifndef TOPPERS_MACRO_ONLY
 
index 3daef6f..cf2d55f 100644 (file)
@@ -1,5 +1,5 @@
 $ 
-$     パス2のターゲット依存テンプレート(NXP LPC1768用)
+$     パス2のターゲット依存テンプレート(NXP LPC1830用)
 $ 
 
 $ 
index a65aad5..a36eadf 100644 (file)
@@ -4,5 +4,5 @@ VERSION %date
 INCLUDE ../../MANIFEST
 INCLUDE ../../cfg/MANIFEST
 INCLUDE ../../arch/arm_m_gcc/MANIFEST
-INCLUDE ../../arch/arm_m_gcc/lpc1800_gcc/MANIFEST
-INCLUDE ../../target/lpc1830_generic_gcc/MANIFEST
+INCLUDE ../../arch/arm_m_gcc/lpc4300_gcc/MANIFEST
+INCLUDE ../../target/lpc4330_generic_gcc/MANIFEST
index b33925d..dabca2c 100644 (file)
@@ -5,8 +5,8 @@ doxygen.css
 E_PACKAGE
 MANIFEST
 Makefile.target
-lpc1830_generic.h
-lpc1830_sram.ld
+lpc4330_generic.h
+lpc4330_sram.ld
 target.tf
 target_cfg1_out.h
 target_check.tf
index 7c7c1be..2e35bf8 100644 (file)
 #ifndef TOPPERS_MACRO_ONLY
 
 #endif /* TOPPERS_MACRO_ONLY */
-#endif /* TOPPERS_LPC1830_GENERIC_H */
+#endif /* TOPPERS_LPC4330_GENERIC_H */
 /* \} */
index 3daef6f..2645d44 100644 (file)
@@ -1,5 +1,5 @@
 $ 
-$     パス2のターゲット依存テンプレート(NXP LPC1768用)
+$     パス2のターゲット依存テンプレート(NXP LPC4330用)
 $ 
 
 $ 
index 245d023..4e70b6d 100644 (file)
@@ -1,5 +1,5 @@
 $ 
-$     パス3のターゲット依存テンプレート(NXP LPC18XX汎用)
+$     パス3のターゲット依存テンプレート(NXP LPC43XX汎用)
 $ 
 
 $ 
index 57a5ad5..da38d4b 100644 (file)
@@ -47,7 +47,7 @@
 
 /**
  * \file target_config.c
- * \brief カーネル実装のターゲット依存モジュール(NXP LPC1830用)
+ * \brief カーネル実装のターゲット依存モジュール(NXP LPC4330用)
  * \details
  * カーネル構築に必要でターゲットに依存する定義をこのファイルで行う。
  */
@@ -88,9 +88,10 @@ void target_initialize(void)
         );
 
 */
+
+    // USART0ピン割り当て
     LPC_SCU->SFSP6_4 = 2;                       // TXD0 : Mode 2
     LPC_SCU->SFSP6_5 = 2 | (1<<4) | (1<<6) ;    // RXD0 : Mode 2, EPUN, EZI
-    // USART0は自動的にリセットにピンが割り当てられるので、何もしない。
 
     /*
      *  バナー出力用のシリアル初期化
index 971860e..c53647f 100644 (file)
@@ -46,7 +46,7 @@
 
 /**
  * \file target_kernel.h
- * \brief kernel.hのターゲット依存部(NXP LPC18XX汎用)
+ * \brief kernel.hのターゲット依存部(NXP LPC43XX汎用)
  * \details
  *
  * porting.txtの5章で解説されるターゲット依存部のカーネル定義ファイル。
index e9efd02..78a8141 100644 (file)
@@ -1,5 +1,5 @@
 $
-$       オフセットファイル生成用テンプレートファイル(LPC1830用)
+$       オフセットファイル生成用テンプレートファイル(LPC4330用)
 $
 
 $
index a60736a..47bbdd1 100644 (file)
@@ -45,7 +45,7 @@
 
 /**
  * \file target_sil.h
- *  \brief sil.hのチップ依存部(NXP LPC1830汎用)
+ *  \brief sil.hのチップ依存部(NXP LPC4330汎用)
  *  \details
  *
  * porting.txtの4章で説明されているsil.hのターゲット依存部。
index 96c456b..1a5c887 100644 (file)
@@ -46,7 +46,7 @@
 
 /**
  * \file target_syssvc.h
- * \brief システムサービスのターゲット依存部(LPC1830用)
+ * \brief システムサービスのターゲット依存部(LPC4330用)
  * \details
  * porting.txt8章で示される、システムサービスのターゲット依存部。
  *
@@ -72,7 +72,7 @@
 /**
  * \brief 起動メッセージのターゲットシステム名
  */
-#define TARGET_NAME    "LPC1830 Generic"
+#define TARGET_NAME    "LPC4330 Generic"
 
 /*
  *  起動メッセージにターゲット依存部の著作権表示を
index 9665148..61931ed 100644 (file)
@@ -45,7 +45,7 @@
 
 /**
  * \file target_test.h
- *     \brief  テストプログラムのターゲット依存定義(NXP LPC1830用)
+ *     \brief  テストプログラムのターゲット依存定義(NXP LPC4330用)
  */
 
 #ifndef TOPPERS_TARGET_TEST_H