From 36f6db8e66d29cc177dce666768ca1d4af6ec7bb Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 22 Apr 2012 23:29:38 +0000 Subject: Fleshed out board definitions for the Mikroelectronika PIC32MX7 MMB board git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4642 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/configs/pic32mx7mmb/README.txt | 260 ++++++++------------- nuttx/configs/pic32mx7mmb/include/board.h | 51 ++-- .../configs/pic32mx7mmb/src/pic32mx7mmb_internal.h | 33 +-- nuttx/configs/pic32mx7mmb/src/up_leds.c | 42 ++-- 4 files changed, 164 insertions(+), 222 deletions(-) (limited to 'nuttx/configs') diff --git a/nuttx/configs/pic32mx7mmb/README.txt b/nuttx/configs/pic32mx7mmb/README.txt index 6d8ba05b5..ac829ab31 100644 --- a/nuttx/configs/pic32mx7mmb/README.txt +++ b/nuttx/configs/pic32mx7mmb/README.txt @@ -18,175 +18,133 @@ Contents PIC32MX795F512L Pin Out ======================= - [This current pin-out is for the PIC32 Starter Kit and still needs to be - updated for the Mikroelektronika PIC32MX7 MMB] - LEFT SIDE, TOP-TO-BOTTOM (if pin 1 is in upper left) --- ---------------------------------- -------------------------- ----------------------------------------------- PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNECTIONS - (Family Data Sheet Table 1-1) (Starter Kit User Guide) + (Family Data Sheet Table 1-1) (PIC32MX7 Schematic) --- ---------------------------------- -------------------------- ----------------------------------------------- - 1 RG15/AERXERR ERXERR Ethernet RX_ER/MDIX_IN - 2 VDD P32_VDD --- - 3 PMD5/RE5 PMPD5/RE5 J2 pin 13 - 4 PMD6/RE6 PMPD6/RE6 J2 pin 9 - 5 PMD7/RE7 PMPD7/RE7 J2 pin 7 - 6 RC1/T2CK T2CLK/RC1 J2 pin 35 (timer) - 7 RC2/AC2TX/T3CK T3CLK/RC2 J2 pin 37 (timer) - 8 RC3/AC2RX/T4CK T4CLK/RC3 J2 pin 39 (timer) - 9 RC4/SDI1/T5CK SDI1/T4CLK/RC4 J2 pin 41 (timer) - J2 pin 93 (SPI1) - 10 PMA5/CN8/ECOL/RG6/SCK2/U3RTS/U6TX PMPA5/SCM2C/CN8/RG6 J2 pin 45 (SPI2) - J2 pin 117 (PMP address) - 11 PMA4/CN9/ECRS/RG7/SDA4/SDI2/U3RX PMPA4/SCM2A/CN9/RG7 J2 pin 47 (SPI2) - J2 pin 119 (PMP address) - 12 PMA3/AECRSDV/AERXDV/CN10/ECRSDV/ ECRS_DV Ethernet CRS/CRS_DV/LED_CFG + 1 RG15/AERXERR AERXERR LAN8720A RXERR + 2 VDD VCC3 --- + 3 PMD5/RE5 PMPD5 TFT display, HDR1 pin 13 + 4 PMD6/RE6 PMPD6 TFT display, HDR1 pin 12 + 5 PMD7/RE7 PMPD7 TFT display, HDR1 pin 11 + 6 RC1/T2CK LCD_RST TFT display + 7 RC2/AC2TX/T3CK EE_CS# M25P80 CS + 8 RC3/AC2RX/T4CK ACL_CS# ADXL345 CS and VCC + 9 RC4/SDI1/T5CK SDI1 SPI1 data IN + 10 PMA5/CN8/ECOL/RG6/SCK2/U3RTS/U6TX RG6 ? + 11 PMA4/CN9/ECRS/RG7/SDA4/SDI2/U3RX SD_CD# SD Connector + 12 PMA3/AECRSDV/AERXDV/CN10/ECRSDV/ AECRSDV LAN8720A SRS_DIV ERXDV/RG8/SCL4/SDO2/U3TX - 13 MCLR PIC32_MCLR (pulled up) - PIC32MX440F512H debug processor - J2 pin 130 (ICSP) - 14 PMA2/AEREFCLK/AERXCLK/CN11/ EREF_CLK 50MHz clock, Ethernet X1 + 13 MCLR MCLR Debug connector + 14 PMA2/AEREFCLK/AERXCLK/CN11/ AEREFCLK LAN8720A INT EREFCLK/ERXCLK/RG9/SS2/U3CTS/ U6RX 15 VSS (grounded) --- - 16 VDD P32_VDD --- - 17 RA0/TMS TMS/RA0 J2 pin 126 (JTAG/GPIO) - 18 AERXD0/INT1/RE8 ERXD0(2) Ethernet RXD_0/PHYAD1 - 19 AERXD1/INT2/RE9 ERXD1(2) Ethernet RXD_1/PHYAD2 - 20 AN5/C1IN+/CN7/RB5/VBUSON VBUSON/C1IN+/AN5/CN7/RB5 USB host power supply, TPS20x1B ~EN, - Low enables power to host port (J4) - USB OTG power supply, MCP1253_MSOP ~SHDN - Enables power to device/OTG port (J5) - J2 pin 63 (comparator 1) - J2 pin 62 (A/D) - 21 AN4/C1IN-/CN6/RB4 USBOEN/C1IN-/AN4/CN6/RB4 J2 pin 65 (comparator 1) - J2 pin 64 (A/D) - 22 AN3/C2IN+/CN5/RB3 C2IN+/AN3/CN5/RB3 TPS20x1B ~OC, sense host port power - MCP1253_MSOP PGOOD, sense device/OTG port power - J2 pin 67 (comparator 2) - J2 pin 66 (A/D) - 23 AN2/C2IN-/CN4/RB2 C2IN-/AN2/CN4/RB2 J2 pin 69 (comparator 2) - J2 pin 101 - J2 pin 68 (A/D) - 24 AN1/CN3/PGEC1/RB1 PGC1/AN1/CN3/RB1 J2 pin 70 (A/D) - 25 AN0/CN2/PGED1/RB0 PGD1/AN0/CN2/RB0 J2 pin 72 (A/D) + 16 VDD VCC3 --- + 17 RA0/TMS LED-0 LED0 (pulled up), HDR2 pin 26 + 18 AERXD0/INT1/RE8 AERXD0 LAN8720A RXD0 + 19 AERXD1/INT2/RE9 AERXD1 LAN8720A RXD1 + 20 AN5/C1IN+/CN7/RB5/VBUSON RB5 HDR1 pin 28 + 21 AN4/C1IN-/CN6/RB4 CDC_CS# ? + 22 AN3/C2IN+/CN5/RB3 JOY-D Joystick D, HDR1 pin 21 + 23 AN2/C2IN-/CN4/RB2 JOY-C Joystick C, HDR1 pin 22 + 24 AN1/CN3/PGEC1/RB1 JOY-B Joystick B, HDR1 pin 23 + 25 AN0/CN2/PGED1/RB0 JOY-A Joystick A, HDR1 pin 24 BOTTOM SIDE, LEFT-TO-RIGHT (if pin 1 is in upper left) --- ---------------------------------- -------------------------- ----------------------------------------------- PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNECTIONS - (Family Data Sheet Table 1-1) (Starter Kit User Guide) + (Family Data Sheet Table 1-1) (PIC32MX7 Schematic) --- ---------------------------------- -------------------------- ----------------------------------------------- - 26 AN6/OCFA/PGEC2/RB6 PIC32_PGC2 PIC32MX440F512H debug processor - J2 pin 128 (ICSP) - 27 AN7/PGED2/RB7 PIC32_PGD2/DBG_SD0 PIC32MX440F512H debug processor - J2 pin 132 (ICSP) - 28 PMA7/AERXD2/CVREF-/RA9 PMPA7/VREF-/RA9 J2 pin 113 (PMP address) - J2 pin 114 (A/D ref) - 29 PMA6/AERXD3/CVREF+/RA10/VREF+ PMPA6/VREF+/RA10 J2 pin 115 (PMP address) - J2 pin 116 (A/D ref) - 30 AVDD P32_VDD --- + 26 AN6/OCFA/PGEC2/RB6 PGC2 Debugger interface + 27 AN7/PGED2/RB7 PGD2 Debugger interface + 28 PMA7/AERXD2/CVREF-/RA9 SD_CD# SD Connector + 29 PMA6/AERXD3/CVREF+/RA10/VREF+ JOY-CP Joystick CP, HDR1 pin 25 + 30 AVDD VCC3 --- 31 AVSS (grounded) --- - 32 AN8/C1OUT/RB8 C1OUT/AN8/RB8 J2 pin 71 - 33 AN9/C2OUT/RB9 C2OUT/AN9/RB9 J2 pin 73 - 34 PMA13/AN10/RB10/CVREFOUT PMPA13/CVREF/AN10 J2 pin 101 (PMP address) - J2 pin 102 (Comparator ref) - 35 PMA12/AETXERR/AN11/ERXERR/RB11 PMPA12/AN11/RB11 J2 pin 103 (PMP address) + 32 AN8/C1OUT/RB8 TEMP MCP9700A VOUT + 33 AN9/C2OUT/RB9 USB-PSW USB soft-connect pull-up, HDR2 pin 3 + 34 PMA13/AN10/RB10/CVREFOUT LCD-YD TFT display + 35 PMA12/AETXERR/AN11/ERXERR/RB11 LCD-XR TFT display 36 VSS (grounded) --- 37 VDD P32_VDD --- - 38 RA1/TCK TCK/RA1 PIC32MX440F512H debug processor - J2 pin 124 (JTAG/GPIO) - 39 AC1TX/RF13/SCK4/U2RTS/U5TX SCM3D/BCLK2/RF13 J2 pin 106 (UART2) - 40 AC1RX/RF12/SS4/U2CTS/U5RX SCM3C/RF12 J2 pin 108 (UART2) - 41 PMA11/AECRS/AN12/ERXD0/RB12 PMPA11/AN12/RB12 J2 pin 105 (PMP address) - 42 PMA10/AECOL/AN13/ERXD1/RB13 PMPA10/AN13/RB13 J2 pin 107 (PMP address) - 43 PMA1/AETXD3/AN14/ERXD2/PMALH/RB14 PMPA1/AN14/RB14 J2 pin 127 (PMP address) - 44 PMA0/AETXD2/AN15/CN12/ERXD3/OCFB/ PMPA0/AN15/OCFB/CN12 J2 pin 129 (PMP address) - PMALL/RB15 J2 pin 36 + 38 RA1/TCK LED-1 LED1 (pulled up), HDR2 pin 27 + 39 AC1TX/RF13/SCK4/U2RTS/U5TX SCK3A WM873ASEDS BCLK, HDR2 pin 21 + 40 AC1RX/RF12/SS4/U2CTS/U5RX LRC WM873ASEDS DACLRC + 41 PMA11/AECRS/AN12/ERXD0/RB12 LCD-YU TFT display + 42 PMA10/AECOL/AN13/ERXD1/RB13 LCD-XL TFT display + 43 PMA1/AETXD3/AN14/ERXD2/PMALH/RB14 LCD-CS# TFT display, HDR2 pin 3 + 44 PMA0/AETXD2/AN15/CN12/ERXD3/OCFB/ PMPA0/AN15/OCFB/CN12 + PMALL/RB15 45 VSS (grounded) --- 46 VDD P32_VDD --- - 47 AETXD0/CN20/RD14/SS3/U1CTS/U4RX EXTD0(2) Ethernet TXD_0 - 48 AETXD1/CN21/RD15/SCK3/U1RTS/U4TX EXTD1(2) Ethernet TXD_1 - 49 PMA9/CN17/RF4/SDA5/SDI4/U2RX PMPA9/SCM3A/CN17/RF4 J2 pin 109 (PMP address) - J2 pin 110 (UART2) - 50 PMA8/CN18/RF5/SCL5/SDO4/U2TX PMPA8/SCM3B/CN18/RF5 J2 pin 111 (PMP address) - J2 pin 112 (UART2) + 47 AETXD0/CN20/RD14/SS3/U1CTS/U4RX AETXD0 LAN8720A TXD0 + 48 AETXD1/CN21/RD15/SCK3/U1RTS/U4TX AETXD1 LAN8720A TXD1 + 49 PMA9/CN17/RF4/SDA5/SDI4/U2RX SDI3A WM873ASEDS ADCDAT, HDR2 pin 19 + 50 PMA8/CN18/RF5/SCL5/SDO4/U2TX SDO3A WM873ASEDS DACDAT, HDR2 pin 20 RIGHT SIDE, TOP-TO-BOTTOM (if pin 1 is in upper left) --- ---------------------------------- -------------------------- ----------------------------------------------- PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNECTIONS - (Family Data Sheet Table 1-1) (Starter Kit User Guide) + (Family Data Sheet Table 1-1) (PIC32MX7 Schematic) --- ---------------------------------- -------------------------- ----------------------------------------------- 75 VSS (grounded) - 74 CN0/RC14/SOSCO/T1CK SOSC0/T1CK/CN0/RC14 32kHz Oscillator, J2 pin (timer) - J2 pin 32 (secondary OSC) - 73 CN1/RC13/SOSCI SOSC1/CN1/RC13 32kHz Oscillator - J2 pin 32 (secondary OSC) - 72 OC1/INT0/RD0/SDO1 SDO1/INT0/OC1/RD0 User LED D4 (high illuminates) - J2 pin 87 (EXT_INT) - J2 pin 95 (SPI1) - J2 pin 46 (OC/PWM) - 71 PMA14/AEMDC/EMDC/IC4/PMCS1/RD11 EMDC Ethernet MDC - 70 PMA15/IC3/PMCS2/RD10/SCK1 SCK1/IC3/PMPCS2/RD10 J2 pin 29 (PMP control) - J2 pin 91 (SPI1) - J2 pin 52 (input capture) - 69 IC2/RD9/SS1 SS1/IC2/RD9 J2 pin 54 (input capture) - 68 AEMDIO/EMDIO/IC1/RD8/RTCC EMDIO Ethernet MDIO - 67 AETXEN/INT4/RA15/SDA1 ETXEN(2) Ethernet TX_EN - 66 AETXCLK/INT3/RA14/SCL1 INT3/SCL1/RA14 Ethernet PWR_DOWN/INT + 74 CN0/RC14/SOSCO/T1CK SOSC0 32.768kHz Oscillator + 73 CN1/RC13/SOSCI SOSC1 32.768kHz Oscillator + 72 OC1/INT0/RD0/SDO1 SDO1M SPI1 data out + 71 PMA14/AEMDC/EMDC/IC4/PMCS1/RD11 AEMDC LAN8720A MDC + 70 PMA15/IC3/PMCS2/RD10/SCK1 SCK1M SPI1 clock + 69 IC2/RD9/SS1 LED-2 LED2 (pulled up), HDR2 pin 28 + 68 AEMDIO/EMDIO/IC1/RD8/RTCC AEMDIO LAN8720A MDIO + 67 AETXEN/INT4/RA15/SDA1 AETXN LAN8720A TXEN + 66 AETXCLK/INT3/RA14/SCL1 RA14 HDR2 pin 14 65 VSS (grounded) --- 64 CLKO/OSC2/RC15 8MHz crystal 63 CLKI/OSC1/RC12 8MHz crystal - 62 VDD P32_VDD --- - 61 RA5/TDO TDO/RA5 PIC32MX440F512H debug processor - J2 pin 118 (JTAG/GPIO) - 60 RA4/TDI TDI/RA4 PIC32MX440F512H debug processor - 59 RA3/SDA2 SDA2/RA3 J2 pin 74 (I2C2) - 58 RA2/SCL2 SCL2/RA2 J2 pin 76 (I2C2) - 57 D+/RG2 D+/RG2 Host port (J4), Device OTG port (J5) - 56 D-/RG3 D-/RG3 Host port (J4), Device OTG port (J5) - 55 VUSB P32_VDD --- - 54 VBUS P32_VBUS --- - 53 RF8/SCL3/SDO3/U1TX SCM1B/RF8 J2 pin 90 (UART1) - 52 RF2/SDA3/SDI3/U1RX SCM1A/RF2 J2 pin 88 (UART1) - 51 RF3/USBID USBID/RF3 Device OTG port (J5) + 62 VDD VCC3 --- + 61 RA5/TDO RA5 HDR2 pin 13 + 60 RA4/TDI RA4 HDR2 pin 12 + 59 RA3/SDA2 SDA2 I2C2 SDA, 24AA01 SDA + 58 RA2/SCL2 SCL2 I2C2 SCL, 24AA01 SCL + 57 D+/RG2 USBDP USB device + 56 D-/RG3 USBDM USB device + 55 VUSB VCC3 --- + 54 VBUS USB_DET USB device + 53 RF8/SCL3/SDO3/U1TX U1TX RS-232 + 52 RF2/SDA3/SDI3/U1RX U2RX RS-232 + 51 RF3/USBID USB-ID USB device TOP SIDE, LEFT-TO-RIGHT (if pin 1 is in upper left) --- ---------------------------------- -------------------------- ----------------------------------------------- PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNECTIONS - (Family Data Sheet Table 1-1) (Starter Kit User Guide) + (Family Data Sheet Table 1-1) (PIC32MX7 Schematic) --- ---------------------------------- -------------------------- ----------------------------------------------- -100 PMD4/RE4 PMPD4/RE4 J2 pin 15 (PMP data) - 99 PMD3/RE3 PMPD3/RE3 J2 pin 17 (PMP data) - 98 PMD2/RE2 PMPD2/RE2 J2 pin 19 (PMP data) - 97 RG13/TRD0 TRD0/RG13 J2 pin 8 (Trace/GPIO) - 96 RG12/TRD1 TRD1/RG12 J2 pin 5 - 95 RG14/TRD2 TRD2/RG14 J2 pin 3 - 94 PMD1/RE1 PMPD1/RE1 J2 pin 21 (PMP data) - 93 PMD0/RE0 PMPD0/RE0 J2 pin 23 (PMP data) - 92 RA7/TRD3 TRD3/RA7 J2 pin 6 (Trace/GPIO) - 91 RA6/TRCLK TRCLK/RA6 J2 pin 4 (Trace/GPIO) - 90 PMD8/C2RX/RG0 PMPD8/RG0 J2 pin 10 (PMP data) - 89 PMD9/C2TX/ETXERR/RG1 PMPD9/RG1 J2 pin 14 (PMP data) - 88 PMD10/C1TX/ETXD0/RF1 PMPD10/RF1 J2 pin 16 (PMP data) - 87 PMD11/C1RX/ETXD1/RF0 PMPD11/RF0 J2 pin 18 (PMP data) +100 PMD4/RE4 PMPD4 TFT display, HDR1 pin 14 + 99 PMD3/RE3 PMPD3 TFT display, HDR1 pin 15 + 98 PMD2/RE2 PMPD2 TFT display, HDR1 pin 16 + 97 RG13/TRD0 TRD0 HDR2 pin 7 + 96 RG12/TRD1 TRD1 HDR2 pin 8 + 95 RG14/TRD2 TRD2 HDR2 pin 9 + 94 PMD1/RE1 PMPD1 TFT display, HDR1 pin 17 + 93 PMD0/RE0 PMPD0 TFT display, HDR1 pin 18 + 92 RA7/TRD3 TRD3 HDR2 pin 10 + 91 RA6/TRCLK TRCLK HDR2 pin 6 + 90 PMD8/C2RX/RG0 PMPD8 TFT display, HDR1 pin 10 + 89 PMD9/C2TX/ETXERR/RG1 PMPD9 TFT display, HDR1 pin 9 + 88 PMD10/C1TX/ETXD0/RF1 PMPD10 TFT display, HDR1 pin 8 + 87 PMD11/C1RX/ETXD1/RF0 PMPD11 TFT display, HDR1 pin 7 86 VDD P32_VDD --- 85 VCAP/VCORE (capacitor to ground) --- - 84 PMD15/CN16/ETXCLK/RD7 PMPD15/CN16/RD7 Switch SW2 (low when closed) - J2 pin 26 (PMP data) - 83 PMD14/CN15/ETXEN/RD6 PMPD14/CN15/RD6 Switch SW1 (low when closed) - J2 pin 24 (PMP data) - 82 CN14/PMRD/RD5 PMPRD/CN14/RD5 J2 pin 25 - 81 CN13/OC5/PMWR/RD4 PMPWR/OC5/C13/RD4 J2 pin 28 (PMP control) - J2 pin 38 - 80 PMD13/CN19/ETXD3/RD13 CN19/PMPD13/RD13 Switch SW3 (low when closed) - J2 pin 22 (PMP data) - 79 PMD12/ETXD2/IC5/RD12 IC5/PMPD12/RD12 J2 pin 20 (PMP data) - J2 pin 48 - 78 OC4/RD3 OC4/RD3 J2 pin 40 (OC/PWM) - 77 OC3/RD2 OC3/RD2 User LED D5 (high illuminates) - J2 pin 42 (OC/PWM) - 76 OC2/RD1 OC1/RD1 User LED D6 (high illuminates) - J2 pin 44 (OC/PWM) + 84 PMD15/CN16/ETXCLK/RD7 PMPD15 TFT display, HDR1 pin 3 + 83 PMD14/CN15/ETXEN/RD6 PMPD14 TFT display, HDR1 pin 4 + 82 CN14/PMRD/RD5 PMPRD + 81 CN13/OC5/PMWR/RD4 PMPWR + 80 PMD13/CN19/ETXD3/RD13 PMPD13 TFT display, HDR1 pin 5 + 79 PMD12/ETXD2/IC5/RD12 PMPD12 TFT display, HDR1 pin 6 + 78 OC4/RD3 RD3 HDR2 pin 5 + 77 OC3/RD2 LCD_BLED LCD backlight LED + 76 OC2/RD1 RD1 HDR2 pin 11 Toolchains ========== @@ -291,28 +249,25 @@ Creating Compatible NuttX HEX files Serial Console ============== - [To be provided] + UART1 is connected to the on-board RS-232 connector LEDs ==== - [This needs to be updated. This test currently addresses the PIC32 starter kit] - - The PIC32MX Ethernet Starter kit has 3 user LEDs labeled LED1-3 on the - board graphics (but referred to as LED4-6 in the schematic): + The Mikroelektronika PIC32MX7 MMB has 3 user LEDs labeled LED0-2 in the + schematics: - PIN User's Guide Board Stencil Notes - --- ------------- -------------- ------------------------- - RD0 "User LED D4" "LED1 (RD0") High illuminates (RED) - RD2 "User LED D5" "LED3 (RD2)" High illuminates (YELLOW) - RD1 "User LED D6" "LED2 (RD1)" High illuminates (GREEN) + PIN Board Notes + --- ----- -------------------------------- + RA0 LED0 Pulled-up, low value illuminates + RA1 LED1 Pulled-up, low value illuminates + RD9 LED2 Pulled-up, low value illuminates - We will use the labels on the board to identify LEDs. If CONFIG_ARCH_LEDS - is defined, then NuttX will control these LEDs as follows: + If CONFIG_ARCH_LEDS is defined, then NuttX will control these LEDs as follows: ON OFF ------------------------- ---- ---- ---- ---- ---- ---- - LED1 LED2 LED3 LED1 LED2 LED3 + LED0 LED1 LED2 LED0 LED1 LED2 ------------------------- ---- ---- ---- ---- ---- ---- LED_STARTED 0 OFF OFF OFF --- --- --- LED_HEAPALLOCATE 1 ON OFF N/C --- --- --- @@ -323,15 +278,6 @@ LEDs LED_ASSERTION 4 N/C N/C ON N/C N/C OFF LED_PANIC 5 ON N/C N/C OFF N/C N/C - There are 5 additional LEDs available on the MEB. These are not - used by NuttX. - - RD1 LED1 - RD2 LED2 - RD3 LED3 - RC1 LED4 - RC2 LED5 - PIC32MX Configuration Options ============================= diff --git a/nuttx/configs/pic32mx7mmb/include/board.h b/nuttx/configs/pic32mx7mmb/include/board.h index e4a91507c..91c767e5b 100644 --- a/nuttx/configs/pic32mx7mmb/include/board.h +++ b/nuttx/configs/pic32mx7mmb/include/board.h @@ -99,38 +99,28 @@ /* LED definitions **********************************************************/ /* LED Configuration ********************************************************/ -/* The Mikroelektronika PIC32MX7 MMB has 3 user LEDs labeled LED1-3 on the - * board graphics (but referred to as LED4-6 in the schematic): +/* The Mikroelektronika PIC32MX7 MMB has 3 user LEDs labeled LED0-2 in the + * schematics: * - * PIN User's Guide Board Stencil Notes - * --- ------------- -------------- ------------------------- - * RD0 "User LED D4" "LED1 (RD0") High illuminates (RED) - * RD2 "User LED D5" "LED3 (RD2)" High illuminates (YELLOW) - * RD1 "User LED D6" "LED2 (RD1)" High illuminates (GREEN) - * - * We will use the labels on the board to identify LEDs - * - * There are 5 additional LEDs available on the MEB (but not used by NuttX): - * - * RD1 LED1 - * RD2 LED2 - * RD3 LED3 - * RC1 LED4 - * RC2 LED5 + * PIN Board Notes + * --- ----- -------------------------------- + * RA0 LED0 Pulled-up, low value illuminates + * RA1 LED1 Pulled-up, low value illuminates + * RD9 LED2 Pulled-up, low value illuminates */ /* LED index values for use with pic32mx_setled() */ -#define PIC32MX_PIC32MX7MMB_LED1 0 -#define PIC32MX_PIC32MX7MMB_LED2 1 -#define PIC32MX_PIC32MX7MMB_LED3 2 +#define PIC32MX_PIC32MX7MMB_LED0 0 +#define PIC32MX_PIC32MX7MMB_LED1 1 +#define PIC32MX_PIC32MX7MMB_LED2 2 #define PIC32MX_PIC32MX7MMB_NLEDS 3 /* LED bits for use with pic32mx_setleds() */ -#define PIC32MX_PIC32MX7MMB_LED1_BIT (1 << PIC32MX_PIC32MX7MMB_LED1) -#define PIC32MX_PIC32MX7MMB_LED2_BIT (1 << PIC32MX_PIC32MX7MMB_LED2) -#define PIC32MX_PIC32MX7MMB_LED3_BIT (1 << PIC32MX_PIC32MX7MMB_LED3) +#define PIC32MX_PIC32MX7MMB_LED0_BIT (1 << PIC32MX_PIC32MX7MMB_LED0) +#define PIC32MX_PIC32MX7MMB_LED1_BIT (1 << PIC32MX_PIC32MX7MMB_LED2) +#define PIC32MX_PIC32MX7MMB_LED2_BIT (1 << PIC32MX_PIC32MX7MMB_LED3) /* If CONFIG_ARCH_LEDs is defined, then NuttX will control the 3 LEDs * on board the Mikroelektronika PIC32MX7 MMB. The following definitions @@ -138,7 +128,7 @@ * * ON OFF * ------------------------- ---- ---- ---- ---- ---- ---- - * LED1 LED2 LED3 LED1 LED2 LED3 + * LED0 LED1 LED2 LED0 LED1 LED2 * ------------------------- ---- ---- ---- ---- ---- ---- * LED_STARTED 0 OFF OFF OFF --- --- --- * LED_HEAPALLOCATE 1 ON OFF N/C --- --- --- @@ -162,11 +152,16 @@ #define LED_NVALUES 6 /* Switch definitions *******************************************************/ -/* The PIC32 start kit has 3 switches: +/* The Mikroelektronika PIC32MX7 MMB has a joystick: * - * RD7 Switch SW2 (low when closed) - * RD6 Switch SW1 (low when closed) - * RD13 Switch SW3 (low when closed) + * ------ -------- -------------------------- + * GPIO SIGNAL BOARD CONNECTION + * ------ -------- -------------------------- + * RB0 JOY-A Joystick A, HDR1 pin 24 + * RB2 JOY-C Joystick C, HDR1 pin 22 + * RB1 JOY-B Joystick B, HDR1 pin 23 + * RB3 JOY-D Joystick D, HDR1 pin 21 + * RA10 JOY-CP Joystick CP, HDR1 pin 25 */ /**************************************************************************** diff --git a/nuttx/configs/pic32mx7mmb/src/pic32mx7mmb_internal.h b/nuttx/configs/pic32mx7mmb/src/pic32mx7mmb_internal.h index 9d5c55e36..fceee92f7 100644 --- a/nuttx/configs/pic32mx7mmb/src/pic32mx7mmb_internal.h +++ b/nuttx/configs/pic32mx7mmb/src/pic32mx7mmb_internal.h @@ -46,26 +46,27 @@ * Pre-Processor Definitions ****************************************************************************/ /* Configuration ************************************************************/ -/* The Mikroelektronika PIC32MX7 MMB has 3 user LEDs +/* The Mikroelektronika PIC32MX7 MMB has 3 user LEDs labeled LED0-2 in the + * schematics: * - * RD0 User LED D4 (high illuminates) - * RD2 User LED D5 (high illuminates) - * RD1 User LED D6 (high illuminates) - * - * There are 5 LEDs available on the MEB: - * - * RD1 LED1 - * RD2 LED2 - * RD3 LED3 - * RC1 LED4 - * RC2 LED5 + * --- ----- -------------------------------- + * PIN BOARD NOTES + * --- ----- -------------------------------- + * RA0 LED0 Pulled-up, low value illuminates + * RA1 LED1 Pulled-up, low value illuminates + * RD9 LED2 Pulled-up, low value illuminates */ -/* The PIC32 start kit has 3 switches: +/* The Mikroelektronika PIC32MX7 MMB has a joystick: * - * RD7 Switch SW2 (low when closed) - * RD6 Switch SW1 (low when closed) - * RD13 Switch SW3 (low when closed) + * ------ -------- ------------------------- -------------------------------- + * GPIO SIGNAL BOARD CONNECTION NOTES + * ------ -------- ------------------------- -------------------------------- + * RB0 JOY-A Joystick A, HDR1 pin 24 Pulled up, low value when closed + * RB2 JOY-C Joystick C, HDR1 pin 22 Pulled up, low value when closed + * RB1 JOY-B Joystick B, HDR1 pin 23 Pulled up, low value when closed + * RB3 JOY-D Joystick D, HDR1 pin 21 Pulled up, low value when closed + * RA10 JOY-CP Joystick CP, HDR1 pin 25 Pulled up, low value when closed */ /**************************************************************************** diff --git a/nuttx/configs/pic32mx7mmb/src/up_leds.c b/nuttx/configs/pic32mx7mmb/src/up_leds.c index f2692dd5c..6424994c1 100644 --- a/nuttx/configs/pic32mx7mmb/src/up_leds.c +++ b/nuttx/configs/pic32mx7mmb/src/up_leds.c @@ -58,20 +58,20 @@ * Definitions ****************************************************************************/ /* LED Configuration ********************************************************/ -/* The Mikroelektronika PIC32MX7 MMB has 3 user LEDs labeled LED1-3 on the - * board graphics (but referred to as LED4-6 in the schematic): +/* The Mikroelektronika PIC32MX7 MMB has 3 user LEDs labeled LED0-2 in the + * schematics: * - * PIN User's Guide Board Stencil Notes - * --- ------------- -------------- ------------------------- - * RD0 "User LED D4" "LED1 (RD0") High illuminates (RED) - * RD2 "User LED D5" "LED3 (RD2)" High illuminates (YELLOW) - * RD1 "User LED D6" "LED2 (RD1)" High illuminates (GREEN) + * PIN Board Notes + * --- ----- -------------------------------- + * RA0 LED0 Pulled-up, low value illuminates + * RA1 LED1 Pulled-up, low value illuminates + * RD9 LED2 Pulled-up, low value illuminates * - * We will use the labels on the board to identify LEDs + * If CONFIG_ARCH_LEDS is defined, then NuttX will control these LEDs as follows: * * ON OFF * ------------------------- ---- ---- ---- ---- ---- ---- - * LED1 LED2 LED3 LED1 LED2 LED3 + * LED0 LED1 LED2 LED0 LED1 LED2 * ------------------------- ---- ---- ---- ---- ---- ---- * LED_STARTED 0 OFF OFF OFF --- --- --- * LED_HEAPALLOCATE 1 ON OFF N/C --- --- --- @@ -83,9 +83,9 @@ * LED_PANIC 5 ON N/C N/C OFF N/C N/C */ -#define GPIO_LED_1 (GPIO_OUTPUT|GPIO_VALUE_ZERO|GPIO_PORTD|GPIO_PIN0) -#define GPIO_LED_2 (GPIO_OUTPUT|GPIO_VALUE_ZERO|GPIO_PORTD|GPIO_PIN1) -#define GPIO_LED_3 (GPIO_OUTPUT|GPIO_VALUE_ZERO|GPIO_PORTD|GPIO_PIN2) +#define GPIO_LED_0 (GPIO_OUTPUT|GPIO_VALUE_ZERO|GPIO_PORTA|GPIO_PIN0) +#define GPIO_LED_1 (GPIO_OUTPUT|GPIO_VALUE_ZERO|GPIO_PORTA|GPIO_PIN1) +#define GPIO_LED_2 (GPIO_OUTPUT|GPIO_VALUE_ZERO|GPIO_PORTD|GPIO_PIN9) /* LED Management Definitions ***********************************************/ @@ -118,9 +118,9 @@ #ifdef CONFIG_ARCH_LEDS struct led_setting_s { + uint8_t led0 : 2; uint8_t led1 : 2; uint8_t led2 : 2; - uint8_t led3 : 2; uint8_t unused : 2; }; #endif @@ -161,7 +161,7 @@ static const struct led_setting_s g_ledoffvalues[LED_NVALUES] = #else static const uint16_t g_ledpincfg[PIC32MX_PIC32MX7MMB_NLEDS] = { - GPIO_LED_1, GPIO_LED_2, GPIO_LED_3 + GPIO_LED_0, GPIO_LED_1, GPIO_LED_2 }; #endif @@ -176,6 +176,11 @@ static const uint16_t g_ledpincfg[PIC32MX_PIC32MX7MMB_NLEDS] = #ifdef CONFIG_ARCH_LEDS void up_setleds(FAR const struct led_setting_s *setting) { + if (setting->led0 != LED_NC) + { + pic32mx_gpiowrite(GPIO_LED_0, setting->led0 == LED_ON); + } + if (setting->led1 != LED_NC) { pic32mx_gpiowrite(GPIO_LED_1, setting->led1 == LED_ON); @@ -185,11 +190,6 @@ void up_setleds(FAR const struct led_setting_s *setting) { pic32mx_gpiowrite(GPIO_LED_2, setting->led2 == LED_ON); } - - if (setting->led3 != LED_NC) - { - pic32mx_gpiowrite(GPIO_LED_3, setting->led3 == LED_ON); - } } #endif @@ -205,9 +205,9 @@ void pic32mx_ledinit(void) { /* Configure output pins */ + pic32mx_configgpio(GPIO_LED_0); pic32mx_configgpio(GPIO_LED_1); pic32mx_configgpio(GPIO_LED_2); - pic32mx_configgpio(GPIO_LED_3); } /**************************************************************************** @@ -231,9 +231,9 @@ void pic32mx_setled(int led, bool ledon) #ifndef CONFIG_ARCH_LEDS void pic32mx_setleds(uint8_t ledset) { + pic32mx_setled(PIC32MX_PIC32MX7MMB_LED0, (ledset & PIC32MX_PIC32MX7MMB_LED0_BIT) != 0); pic32mx_setled(PIC32MX_PIC32MX7MMB_LED1, (ledset & PIC32MX_PIC32MX7MMB_LED1_BIT) != 0); pic32mx_setled(PIC32MX_PIC32MX7MMB_LED2, (ledset & PIC32MX_PIC32MX7MMB_LED2_BIT) != 0); - pic32mx_setled(PIC32MX_PIC32MX7MMB_LED3, (ledset & PIC32MX_PIC32MX7MMB_LED3_BIT) != 0); } #endif -- cgit v1.2.3