From b1dfa1ca8a73a2045df430b9beb122a37236282d Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 19 May 2011 18:29:40 +0000 Subject: [PATCH] Add PIC32 interrupt controls and timer initialization git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3628 42af7a65-404d-4744-a932-0658087f49c3 --- configs/pcblogic-pic32mx/README.txt | 60 ++++++++++++++++++++++-- configs/pcblogic-pic32mx/include/board.h | 21 +++++---- 2 files changed, 68 insertions(+), 13 deletions(-) diff --git a/configs/pcblogic-pic32mx/README.txt b/configs/pcblogic-pic32mx/README.txt index d9c4a8588db..f36fd2ee898 100644 --- a/configs/pcblogic-pic32mx/README.txt +++ b/configs/pcblogic-pic32mx/README.txt @@ -144,15 +144,18 @@ PIC32MX Configuration Options the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until the delay actually is 100 seconds. + PIC32MX Configuration + + CONFIG_PIC32MX_MVEC - Select muli- vs. single-vectored interrupts + Individual subsystems can be enabled: CONFIG_PIC32MX_WDT CONFIG_PIC32MX_RTCC - CONFIG_PIC32MX_TIMER1 - CONFIG_PIC32MX_TIMER2 - CONFIG_PIC32MX_TIMER3 - CONFIG_PIC32MX_TIMER4 - CONFIG_PIC32MX_TIMER5 + CONFIG_PIC32MX_T2 /* Timer 1 is the system time and always enabled */ + CONFIG_PIC32MX_T3 + CONFIG_PIC32MX_T4 + CONFIG_PIC32MX_T5 CONFIG_PIC32MX_IC1 CONFIG_PIC32MX_IC2 CONFIG_PIC32MX_IC3 @@ -189,6 +192,53 @@ PIC32MX Configuration Options CONFIG_PIC32MX_IOPORTF CONFIG_PIC32MX_IOPORTG + The priority of interrupts may be specified. The value ranage of + priority is 4-31. The default (16) will be used if these any of these + are undefined. + + CONFIG_PIC32MX_WDTPRIO + CONFIG_PIC32MX_RTCCPRIO + CONFIG_PIC32MX_T1PRIO /* System timer priority */ + CONFIG_PIC32MX_T2PRIO + CONFIG_PIC32MX_T3PRIO + CONFIG_PIC32MX_T4PRIO + CONFIG_PIC32MX_T5PRIO + CONFIG_PIC32MX_IC1PRIO + CONFIG_PIC32MX_IC2PRIO + CONFIG_PIC32MX_IC3PRIO + CONFIG_PIC32MX_IC4PRIO + CONFIG_PIC32MX_IC5PRIO + CONFIG_PIC32MX_OC1PRIO + CONFIG_PIC32MX_OC2PRIO + CONFIG_PIC32MX_OC3PRIO + CONFIG_PIC32MX_OC4PRIO + CONFIG_PIC32MX_OC5PRIO + CONFIG_PIC32MX_I2C1PRIO + CONFIG_PIC32MX_I2C2PRIO + CONFIG_PIC32MX_SPI1PRIO + CONFIG_PIC32MX_SPI2PRIO + CONFIG_PIC32MX_UART1PRIO + CONFIG_PIC32MX_UART2PRIO + CONFIG_PIC32MX_PMPPRIO + CONFIG_PIC32MX_ADCPRIO + CONFIG_PIC32MX_CVRPRIO + CONFIG_PIC32MX_CM1PRIO + CONFIG_PIC32MX_CM2PRIO + CONFIG_PIC32MX_OSCPRIO + CONFIG_PIC32MX_DDPPRIO + CONFIG_PIC32MX_FLASHPRIO + CONFIG_PIC32MX_BMXPRIO + CONFIG_PIC32MX_DMAPRIO + CONFIG_PIC32MX_CHEPRIO + CONFIG_PIC32MX_USBPRIO + CONFIG_PIC32MX_IOPORTAPRIO + CONFIG_PIC32MX_IOPORTBPRIO + CONFIG_PIC32MX_IOPORTCPRIO + CONFIG_PIC32MX_IOPORTDPRIO + CONFIG_PIC32MX_IOPORTEPRIO + CONFIG_PIC32MX_IOPORTFPRIO + CONFIG_PIC32MX_IOPORTGPRIO + PIC32MXx specific device driver settings CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the diff --git a/configs/pcblogic-pic32mx/include/board.h b/configs/pcblogic-pic32mx/include/board.h index 92102fda396..00fa2f585c3 100755 --- a/configs/pcblogic-pic32mx/include/board.h +++ b/configs/pcblogic-pic32mx/include/board.h @@ -48,16 +48,21 @@ ****************************************************************************/ /* Configuration ************************************************************/ +/* Clocking *****************************************************************/ + +#define BOARD_CPU_CLOCK 80000000 +#define BOARD_PERIPHERAL_CLOCK 40000000 + /* LED definitions **********************************************************/ -#define LED_STARTED 0 -#define LED_HEAPALLOCATE 1 -#define LED_IRQSENABLED 2 -#define LED_STACKCREATED 3 -#define LED_INIRQ 4 -#define LED_SIGNAL 5 -#define LED_ASSERTION 6 -#define LED_PANIC 7 +#define LED_STARTED 0 +#define LED_HEAPALLOCATE 1 +#define LED_IRQSENABLED 2 +#define LED_STACKCREATED 3 +#define LED_INIRQ 4 +#define LED_SIGNAL 5 +#define LED_ASSERTION 6 +#define LED_PANIC 7 /**************************************************************************** * Public Types