PIC32 Serial Console fixes

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4221 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2011-12-23 23:36:34 +00:00
parent f1ee90fa13
commit bb1782336c
2 changed files with 146 additions and 7 deletions

View File

@ -391,7 +391,7 @@ static void up_shutdown(struct uart_dev_s *dev)
* the setup() method is called, however, the serial console may operate in
* a non-interrupt driven mode during the boot phase.
*
* RX and TX interrupts are not enabled when by the attach method (unless the
* RX and TX interrupts are not enabled by the attach method (unless the
* hardware supports multiple levels of interrupt enabling). The RX and TX
* interrupts are not enabled until the txint() and rxint() methods are called.
*
@ -491,7 +491,7 @@ static int up_interrupt(int irq, void *context)
up_clrpend_irq(priv->irqe);
lldbg("ERROR: interrrupt STA: %08x\n",
up_serialin(priv, PIC32MX_UART1_STA_OFFSET)
up_serialin(priv, PIC32MX_UART_STA_OFFSET)
handled = true;
}
#endif
@ -619,7 +619,7 @@ static void up_rxint(struct uart_dev_s *dev, bool enable)
#ifdef CONFIG_DEBUG
up_enable_irq(priv->irqe);
#endif
up_enable_irq(priv->irqtx);
up_enable_irq(priv->irqrx);
ENABLE_RX(im);
#endif
}
@ -628,7 +628,7 @@ static void up_rxint(struct uart_dev_s *dev, bool enable)
#ifdef CONFIG_DEBUG
up_disable_irq(priv->irqe);
#endif
up_disable_irq(priv->irqtx);
up_disable_irq(priv->irqrx);
DISABLE_RX(im);
}
priv->im = im;

View File

@ -49,8 +49,10 @@ Contents
PIC32MX795F512L Pin Out
MEB Connector
PICtail
Toolchains
Loading NuttX with PICkit2
Serial Console
PIC32MX Configuration Options
Configurations
@ -227,6 +229,11 @@ PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNE
MEB Connector
=============
The following table summarizes how the pins brought the the MEB through the
J2 on the Ethernet Starter Kit are mapped. This connect is J2 on the Ethernet
Starter Kit and J3 on the MEB.
J3
PIC32 SIGNAL PIN CONNECTION
-------------------------- ------- ----------------------------------
PMPD0 pin 23 Graphics Controller (SSD1926)
@ -320,6 +327,46 @@ U2TX pin 112 (see CPLD)
~U2RTS pin 106 (see CPLD)
~U2CTS pin 108 (see CPLD)
PICtail
=======
The MEB brings many of the signals out via the PICtail (J5). J5 is
a 28 pin connector bringing out signals as summarized here (J3 is the
designation of the connection to the Ethernet starter kit on the
MEB side):
--- --- ------------------------
J3 J5 Table 2-1
PIN PIN Description
--- --- ------------------------
1 3.3V
2 I/O_4 (Test Point)
76 3 SCL2
84 4 SCL1
74 5 SDA2
86 6 SDA1
47 7 SDI2/SDI2A/CN9/RG7
97 8 SS1, WFI_SDO
49 9 SDO2/SDO2A
10 WFI_SDI
45 11 SCK2/SCK2A
12 WFI_SCK
51 13 SS2/SS2A/RG9
14 SS1/RB2
88 15 U1RX/SDI1A
110 16 U2RX/SDI3A
90 17 U1TX/RA10
112 18 U2TX/SDO3A
92 19 U1RTS/C2OUT/AN9
106 20 U2RTS/SCK3A
94 21 U1CTS/SDO1A
108 22 U2CTS/SS3A/RF12
73 23 RB9/INT1/RE8
115 25 RA10/SCK1A
26 3.3V
85 27 INT1/SS1/RD14
28 GND
Toolchains
==========
@ -424,6 +471,97 @@ Loading NuttX with PICkit2
# to the top-level build directory. It is the only
# required input to mkpichex.
Serial Console
==============
A serial console is not required to use NuttX. However, all of the
Nuttx example code in the apps/examples assumes that you have a
serial console. The Ethernet Starter Kit(even with the MEB) does not
have any RS-232 connector needed to drive the serial console.
Raw UART signals are available at the MEB's PICtail connector, however,
and can be connected to an external MAX2232 board to get a serial console.
The defconfig files are set up to use UART2. So the proper connections
would be:
PICtail
PIN FUNCTION
-------- -----------
1 3.3V
16 U2RX
18 U2TX
28 GND
UART1 is also brought out on the PICtail and would be connected as:
PICtail
PIN FUNCTION
-------- -----------
1 3.3V
15 U1RX
17 U1TX
28 GND
Here is a summary of the tortuous routes taken by the PIC32MX UART pins:
--- ---------------------------------- -------------------------- -------------------------
PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNECTIONS
(Family Data Sheet Table 1-1) (Starter Kit User Guide)
--- ---------------------------------- -------------------------- -------------------------
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)
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)
52 RF2/SDA3/SDI3/U1RX SCM1A/RF2 J2 pin 88 (UART1)
53 RF8/SCL3/SDO3/U1TX SCM1B/RF8 J2 pin 90 (UART1)
J2 is the connector at the bottom of the Ethernet start kit that
mates the Ethernet Starter kit to the MEB. The MEB then makes the
following signals available on the PICtail (J5):
MEB Connector:
-------------------------- ------- ----------------------------------
Signal J3
-------------------------- -------
U1RX pin 88
U1TX pin 90
~U1RTS pin 92
~U1CTS pin 94
U2RX pin 110
U2TX pin 112
~U2RTS pin 106
~U2CTS pin 108
-------------------------- -------
PICtail:
The pins are labeled differently in Table 2-1 and in the schematic. This is
confusing. I will trust Table 2-1.
--- --- ------- --- --- -----------------
Table 2-1 Schematic
J3 J5 J3 J5
PIN PIN NAME PIN PIN Description
--- --- ------- ---- --- ------------
1 3.3V
88 15 U1RX 88 15 SDI1A
110 16 U2RX 110 16 SDI3A
90 17 U1TX 17 RA10
90 SD01A
112 18 U2TX 113 18 SDO3A
92 19 U1RTS 19 C2OUT/AN9
92 SCK1A
106 20 U2RTS 106 20 SCK3A
94 21 U1CTS 21 SDO1A
94 SS1/RD14
108 22 U2CTS 108 22 SS3A/RF12
26 3.3V
28 GND
PIC32MX Configuration Options
=============================
@ -625,9 +763,10 @@ PIC32MX Configuration Options
CONFIG_PIC32MX_FCEPRIO - Flash Control Event
CONFIG_PIC32MX_USBPRIO - USB
PIC32MXx specific device driver settings. NOTE: For the Sure board,
UART2 is brought out to the DB9 connector and serves as the serial
console.
PIC32MXx specific device driver settings. NOTE: For the Ethernet
starter kit, there is no RS-232 connector (even with the MEB). See
discussion above ("") for information about how you can configure
an external MAX2232 board to get a serial console.
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
console and ttys0 (default is the UART0).