A few NuTiny-SDK-NUC120 fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5667 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
5515b31748
commit
2c9d402ad4
@ -127,7 +127,7 @@ void nuc_clockconfig(void)
|
|||||||
|
|
||||||
/* Enable External 4~24 mhz high speed crystal */
|
/* Enable External 4~24 mhz high speed crystal */
|
||||||
|
|
||||||
regval = getreg32(NUC_CLK_PWRCON);
|
regval = getreg32(NUC_CLK_PWRCON);
|
||||||
regval |= CLK_PWRCON_XTL12M_EN;
|
regval |= CLK_PWRCON_XTL12M_EN;
|
||||||
putreg32(regval, NUC_CLK_PWRCON);
|
putreg32(regval, NUC_CLK_PWRCON);
|
||||||
|
|
||||||
|
@ -276,7 +276,7 @@ void nuc_lowputc(uint32_t ch)
|
|||||||
#ifdef HAVE_SERIAL_CONSOLE
|
#ifdef HAVE_SERIAL_CONSOLE
|
||||||
/* Wait for the TX FIFO to be empty (excessive!) */
|
/* Wait for the TX FIFO to be empty (excessive!) */
|
||||||
|
|
||||||
while ((getreg32(NUC_CONSOLE_BASE + NUC_UART_FSR_OFFSET) & UART_FSR_TX_EMPTY) != 0);
|
while ((getreg32(NUC_CONSOLE_BASE + NUC_UART_FSR_OFFSET) & UART_FSR_TX_EMPTY) == 0);
|
||||||
|
|
||||||
/* Then write the character to to the TX FIFO */
|
/* Then write the character to to the TX FIFO */
|
||||||
|
|
||||||
@ -331,15 +331,15 @@ void nuc_setbaud(uintptr_t base, uint32_t baud)
|
|||||||
|
|
||||||
/* Check if the divxider exceeds the range */
|
/* Check if the divxider exceeds the range */
|
||||||
|
|
||||||
if (clksperbit > 0xffff)
|
if (brd > 0xffff)
|
||||||
{
|
{
|
||||||
/* Try to Set Divider X up 10 (MODE#1) */
|
/* Try to Set Divider X up 10 (MODE#1) */
|
||||||
|
|
||||||
regval &= ~UART_BAUD_DIV_X_ONE;
|
regval &= ~UART_BAUD_DIV_X_ONE;
|
||||||
|
|
||||||
for (divx = 8; divx <16; divx++)
|
for (divx = 8; divx < 16; divx++)
|
||||||
{
|
{
|
||||||
brd = (clksperbit % (divx+1));
|
brd = (clksperbit % (divx + 1));
|
||||||
if (brd < 3)
|
if (brd < 3)
|
||||||
{
|
{
|
||||||
regval &= ~UART_BAUD_DIVIDER_X_MASK;
|
regval &= ~UART_BAUD_DIVIDER_X_MASK;
|
||||||
|
@ -95,19 +95,39 @@ LEDs
|
|||||||
Serial Console
|
Serial Console
|
||||||
==============
|
==============
|
||||||
|
|
||||||
To be provided
|
By default UART1 is used as the serial console on these boards. NUC120LE3AN
|
||||||
|
is provided as an LQFP48 package and, for this case, the UART1 RX signal
|
||||||
|
(RXD1) is on PB.4, pin 8, and the TX signal (TXD1) is on PB.5, pin 9.
|
||||||
|
These pins are available on the NuTiny-SDC-NUC120 JP5.
|
||||||
|
|
||||||
|
NOTE: The TX vs RX terminology is confusing. On my RS-232 driver board,
|
||||||
|
I need to connect the NUC120 TXD0 pin to the driver boards RXD pin. How
|
||||||
|
confusing!
|
||||||
|
|
||||||
|
UART0 is an alternative that can be selected by modifying the default
|
||||||
|
configuation. UART0 RX (RXD0) is on PB.0, pin 17, and the TX signal (TXD0)
|
||||||
|
is on PB.1, pin 18. These pins are available on the NuTiny-SDC-NUC120 JP1.
|
||||||
|
|
||||||
|
NOTE: PB.0, pin 17, is also used to control the user LED on board (labeled
|
||||||
|
"IO"). CONFIG_ARCH_LED should not be selected if UART0 is used.
|
||||||
|
|
||||||
|
The NUC120LE3AN does not support UART2.
|
||||||
|
|
||||||
Debugging
|
Debugging
|
||||||
=========
|
=========
|
||||||
|
|
||||||
The NuTiny-SDK-NUC120 includes a built-in NuLink debugger. Unfortunately,
|
The NuTiny-SDK-NUC120 includes a built-in NuLink debugger. Unfortunately,
|
||||||
full debug support is available only with the Keil and IAR toolchains.
|
full debug support is available only with the Keil and IAR toolchains.
|
||||||
There is, however, a free program call call ICP (In-Circuit Programmer).
|
There is, however, a free program called ICP (In-Circuit Programmer). It
|
||||||
It can be used to burn programs into FLASH (aka APROM).
|
can be used to burn programs into FLASH (aka APROM).
|
||||||
|
|
||||||
The ICP program can also be used to burn an ISP program into LDROM. The
|
The ICP program can also be used to burn an ISP program into LDROM. The
|
||||||
ISP (In-System Programmer) is available free from the Nuvton website.
|
ISP (In-System Programmer) is available free from the Nuvton website.
|
||||||
|
|
||||||
|
Then NuttX build does not set the configuration words at 0x0030000-0x00300004.
|
||||||
|
You should uncheck the Config box when burning APROM or the previous contents
|
||||||
|
of the configuration words will be erased.
|
||||||
|
|
||||||
NuTiny-specific Configuration Options
|
NuTiny-specific Configuration Options
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
@ -179,7 +199,9 @@ NuTiny-specific Configuration Options
|
|||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled as follows. These settings are for
|
||||||
|
all of the NUC100/120 line and may not be available for the NUC120LE3AN
|
||||||
|
in particular:
|
||||||
|
|
||||||
AHB
|
AHB
|
||||||
---
|
---
|
||||||
@ -226,13 +248,14 @@ NuTiny-specific Configuration Options
|
|||||||
|
|
||||||
NUC1XX specific device driver settings
|
NUC1XX specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn (n=0,1,2) for the
|
CONFIG_UARTn_SERIAL_CONSOLE - Selects the UARTn (n=0,1,2) for the
|
||||||
console and ttys0 (default is the USART0).
|
console and ttys0.
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer for UARTn.
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
for UARTn.
|
||||||
|
CONFIG_UARTn_BAUD - The configure BAUD of UARTn,
|
||||||
CONFIG_UARTn_BITS - The number of bits. Must be 5, 6, 7, or 8.
|
CONFIG_UARTn_BITS - The number of bits. Must be 5, 6, 7, or 8.
|
||||||
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
@ -277,12 +300,17 @@ Where <subdir> is one of the following:
|
|||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
||||||
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
||||||
|
|
||||||
|
3. Serial Console. The serial console is on UART1 which is available
|
||||||
|
on JP5:
|
||||||
|
|
||||||
|
UART1 RX signal (RXD1) is on PB.4, pin 8, and
|
||||||
|
UART1 TX signal (TXD1) is on PB.5, pin 9.
|
||||||
|
|
||||||
nsh:
|
nsh:
|
||||||
---
|
---
|
||||||
Configures the NuttShell (nsh) located at apps/examples/nsh. The
|
Configures the NuttShell (nsh) located at apps/examples/nsh. The
|
||||||
Configuration enables the serial interfaces on UART0. Support for
|
Configuration enables the serial interfaces on UART1. Support for
|
||||||
builtin applications is enabled, but in the base configuration no
|
builtin applications is disabled.
|
||||||
builtin applications are selected (see NOTES below).
|
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
@ -303,7 +331,13 @@ Where <subdir> is one of the following:
|
|||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
||||||
|
|
||||||
3. This configuration includes USB Support (CDC/ACM device)
|
3. Serial Console. The serial console is on UART1 which is available
|
||||||
|
on JP5:
|
||||||
|
|
||||||
|
UART1 RX signal (RXD1) is on PB.4, pin 8, and
|
||||||
|
UART1 TX signal (TXD1) is on PB.5, pin 9.
|
||||||
|
|
||||||
|
4. This configuration includes USB Support (CDC/ACM device)
|
||||||
|
|
||||||
CONFIG_STM32_USB=y : STM32 USB device support
|
CONFIG_STM32_USB=y : STM32 USB device support
|
||||||
CONFIG_USBDEV=y : USB device support must be enabled
|
CONFIG_USBDEV=y : USB device support must be enabled
|
||||||
@ -311,7 +345,7 @@ Where <subdir> is one of the following:
|
|||||||
CONFIG_NSH_BUILTIN_APPS=y : NSH built-in application support must be enabled
|
CONFIG_NSH_BUILTIN_APPS=y : NSH built-in application support must be enabled
|
||||||
CONFIG_NSH_ARCHINIT=y : To perform USB initialization
|
CONFIG_NSH_ARCHINIT=y : To perform USB initialization
|
||||||
|
|
||||||
The CDC/ACM example is included as two NSH "built-in" commands.\
|
The CDC/ACM example is included as two NSH "built-in" commands.
|
||||||
|
|
||||||
CONFIG_EXAMPLES_CDCACM=y : Enable apps/examples/cdcacm
|
CONFIG_EXAMPLES_CDCACM=y : Enable apps/examples/cdcacm
|
||||||
|
|
||||||
|
@ -85,13 +85,13 @@
|
|||||||
|
|
||||||
/* HCLK. FOUT is the HCLK source clock. */
|
/* HCLK. FOUT is the HCLK source clock. */
|
||||||
|
|
||||||
#define BOARD_HCLK_N 0
|
#define BOARD_HCLK_N 1
|
||||||
#define BOARD_HCLK_FREQUENCY (BOARD_PLL_FOUT / (BOARD_HCLK_N + 1))
|
#define BOARD_HCLK_FREQUENCY (BOARD_PLL_FOUT / BOARD_HCLK_N)
|
||||||
|
|
||||||
/* USB. FOUT is the source. The USB CLK must be 48MHz */
|
/* USB. FOUT is the source. The USB CLK must be 48MHz */
|
||||||
|
|
||||||
#define BOARD_USB_N 0
|
#define BOARD_USB_N 1
|
||||||
#define BOARD_USB_FREQUENCY (BOARD_PLL_FOUT / (BOARD_USB_N + 1))
|
#define BOARD_USB_FREQUENCY (BOARD_PLL_FOUT / BOARD_USB_N)
|
||||||
|
|
||||||
/* LED definitions ******************************************************************/
|
/* LED definitions ******************************************************************/
|
||||||
/* The NuTiny has a single green LED that can be controlled from sofware. This LED
|
/* The NuTiny has a single green LED that can be controlled from sofware. This LED
|
||||||
|
@ -156,8 +156,8 @@ CONFIG_ARCH_NUC_MEDIUMDENSITY=y
|
|||||||
# CONFIG_NUC_PWM5 is not set
|
# CONFIG_NUC_PWM5 is not set
|
||||||
# CONFIG_NUC_PWM6 is not set
|
# CONFIG_NUC_PWM6 is not set
|
||||||
# CONFIG_NUC_PWM7 is not set
|
# CONFIG_NUC_PWM7 is not set
|
||||||
CONFIG_NUC_UART0=y
|
# CONFIG_NUC_UART0 is not set
|
||||||
# CONFIG_NUC_UART1 is not set
|
CONFIG_NUC_UART1=y
|
||||||
# CONFIG_NUC_USBD is not set
|
# CONFIG_NUC_USBD is not set
|
||||||
# CONFIG_NUC_ACMP is not set
|
# CONFIG_NUC_ACMP is not set
|
||||||
# CONFIG_NUC_ADC is not set
|
# CONFIG_NUC_ADC is not set
|
||||||
@ -311,20 +311,20 @@ CONFIG_DEV_NULL=y
|
|||||||
CONFIG_SERIAL=y
|
CONFIG_SERIAL=y
|
||||||
CONFIG_DEV_LOWCONSOLE=y
|
CONFIG_DEV_LOWCONSOLE=y
|
||||||
# CONFIG_16550_UART is not set
|
# CONFIG_16550_UART is not set
|
||||||
CONFIG_ARCH_HAVE_UART0=y
|
CONFIG_ARCH_HAVE_UART1=y
|
||||||
CONFIG_MCU_SERIAL=y
|
CONFIG_MCU_SERIAL=y
|
||||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
CONFIG_UART1_SERIAL_CONSOLE=y
|
||||||
# CONFIG_NO_SERIAL_CONSOLE is not set
|
# CONFIG_NO_SERIAL_CONSOLE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# UART0 Configuration
|
# UART1 Configuration
|
||||||
#
|
#
|
||||||
CONFIG_UART0_RXBUFSIZE=256
|
CONFIG_UART1_RXBUFSIZE=256
|
||||||
CONFIG_UART0_TXBUFSIZE=256
|
CONFIG_UART1_TXBUFSIZE=256
|
||||||
CONFIG_UART0_BAUD=115200
|
CONFIG_UART1_BAUD=115200
|
||||||
CONFIG_UART0_BITS=8
|
CONFIG_UART1_BITS=8
|
||||||
CONFIG_UART0_PARITY=0
|
CONFIG_UART1_PARITY=0
|
||||||
CONFIG_UART0_2STOP=0
|
CONFIG_UART1_2STOP=0
|
||||||
# CONFIG_USBDEV is not set
|
# CONFIG_USBDEV is not set
|
||||||
# CONFIG_USBHOST is not set
|
# CONFIG_USBHOST is not set
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# see misc/tools/kconfig-language.txt.
|
# see misc/tools/kconfig-language.txt.
|
||||||
#
|
#
|
||||||
|
|
||||||
menu "Device Controller Driver Options"
|
comment "USB Device Controller Driver Options"
|
||||||
|
|
||||||
config USBDEV_ISOCHRONOUS
|
config USBDEV_ISOCHRONOUS
|
||||||
bool "Enable isochronous"
|
bool "Enable isochronous"
|
||||||
@ -98,9 +98,9 @@ bool "Decode device controller events"
|
|||||||
extern const struct trace_msg_t g_usb_trace_strings_intdecode[];
|
extern const struct trace_msg_t g_usb_trace_strings_intdecode[];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
endmenu
|
comment "USB Device Class Driver Options"
|
||||||
|
|
||||||
menuconfig USBDEV_COMPOSITE
|
config USBDEV_COMPOSITE
|
||||||
bool "USB composite device support"
|
bool "USB composite device support"
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
@ -162,7 +162,7 @@ config COMPOSITE_VERSIONNO
|
|||||||
Interface version number.
|
Interface version number.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
menuconfig PL2303
|
config PL2303
|
||||||
bool "Prolific PL2303 serial/USB converter emulation"
|
bool "Prolific PL2303 serial/USB converter emulation"
|
||||||
default n
|
default n
|
||||||
select SERIAL_REMOVABLE
|
select SERIAL_REMOVABLE
|
||||||
@ -235,7 +235,7 @@ config PL2303_PRODUCTSTR
|
|||||||
default "PL2303 Emulation"
|
default "PL2303 Emulation"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
menuconfig CDCACM
|
config CDCACM
|
||||||
bool "USB Modem (CDC ACM) support"
|
bool "USB Modem (CDC ACM) support"
|
||||||
default n
|
default n
|
||||||
select SERIAL_REMOVABLE
|
select SERIAL_REMOVABLE
|
||||||
@ -400,7 +400,7 @@ config CDCACM_PRODUCTSTR
|
|||||||
default "CDC/ACM Serial"
|
default "CDC/ACM Serial"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
menuconfig USBMSC
|
config USBMSC
|
||||||
bool "USB Mass storage class device"
|
bool "USB Mass storage class device"
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
|
Loading…
Reference in New Issue
Block a user