summaryrefslogtreecommitdiff
path: root/nuttx/configs
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-05-08 03:51:47 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-05-08 03:51:47 +0000
commit3d47d9562abc195fe053de6cac29a59076b4881b (patch)
treebbbc6164144a662c080bf320176e1a4c8d7b1ebf /nuttx/configs
parent50b7bdacbd6d4af3bb3128c038e4e0e2cd0d50df (diff)
downloadpx4-nuttx-3d47d9562abc195fe053de6cac29a59076b4881b.tar.gz
px4-nuttx-3d47d9562abc195fe053de6cac29a59076b4881b.tar.bz2
px4-nuttx-3d47d9562abc195fe053de6cac29a59076b4881b.zip
Add some lm3s6965 board specifics
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2657 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs')
-rwxr-xr-xnuttx/configs/lm3s6965-ek/README.txt147
-rwxr-xr-xnuttx/configs/lm3s6965-ek/include/board.h2
-rwxr-xr-xnuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h28
3 files changed, 123 insertions, 54 deletions
diff --git a/nuttx/configs/lm3s6965-ek/README.txt b/nuttx/configs/lm3s6965-ek/README.txt
index ddaaab2ad..744b416cb 100755
--- a/nuttx/configs/lm3s6965-ek/README.txt
+++ b/nuttx/configs/lm3s6965-ek/README.txt
@@ -3,6 +3,80 @@ README
README for NuttX port to the Stellaris LMS36965 Evaluation Kit
+Contents
+^^^^^^^^
+
+ Stellaris LMS36965 Evaluation Kit
+ Development Environment
+ GNU Toolchain Options
+ IDEs
+ NuttX buildroot Toolchain
+ USB Device Controller Functions
+ Stellaris LM3S6965 Evaluation Kit Configuration Options
+ Configurations
+
+Stellaris LMS36965 Evaluation Kit
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The Stellaris LM3S6965 Evaluation Board includes the following features:
+
+ o Stellaris LM3S6965 microcontroller with fully-integrated 10/100 embedded
+ Ethernet controller
+ o Simple setup; USB cable provides serial communication, debugging, and
+ power
+ o OLED graphics display with 128 x 96 pixel resolution
+ o User LED, navigation switches, and select pushbuttons
+ o Magnetic speaker
+ o LM3S6965 I/O available on labeled break-out pads
+ o Standard ARM® 20-pin JTAG debug connector with input and output modes
+ o USB interface for debugging and power supply
+ o MicroSD card slot
+
+Features of the LM3S6965 Microcontroller
+
+ o 32-bit RISC performance using ARM® Cortex™-M3 v7M architecture
+ – 50-MHz operation
+ – Hardware-division and single-cycle-multiplication
+ – Integrated Nested Vectored Interrupt Controller (NVIC)
+ – 42 interrupt channels with eight priority levels
+ o 256 KB single-cycle flash
+ o 64 KB single-cycle SRAM
+ o Four general-purpose 32-bit timers
+ o Integrated Ethernet MAC and PHY
+ o Three fully programmable 16C550-type UARTs
+ o Four 10-bit channels (inputs) when used as single-ended inputs
+ o Two independent integrated analog comparators
+ o Two I2C modules
+ o Three PWM generator blocks
+ – One 16-bit counter
+ – Two comparators
+ – Produces two independent PWM signals
+ – One dead-band generator
+ o Two QEI modules with position integrator for tracking encoder position
+ o 0 to 42 GPIOs, depending on user configuration
+ o On-chip low drop-out (LDO) voltage regulator
+
+GPIO Usage
+
+PIN SIGNAL EVB Function
+--- ----------- ---------------------------------------
+ 26 PA0/U0RX Virtual COM port receive
+ 27 PA1/U0TX Virtual COM port transmit
+ 10 PD0/IDX0 SD card chip select
+ 11 PD1/PWM1 Sound
+ 30 PA4/SSI0RX SD card data out
+ 31 PA5/SSI0TX SD card and OLED display data in
+ 28 PA2/SSI0CLK SD card and OLED display clock
+ 22 PC7/PHB0 OLED display data/control select
+ 29 PA3/SSI0FSS OLED display chip select
+ 73 PE1/PWM5 Down switch
+ 74 PE2/PHB1 Left switch
+ 72 PE0/PWM4 Up switch
+ 75 PE3/PHA1 Right switch
+ 61 PF1/IDX1 Select switch
+ 47 PF0/PWM0 User LED
+ 23 PC6/CCP3 Enable +15 V
+
Development Environment
^^^^^^^^^^^^^^^^^^^^^^^
@@ -139,63 +213,36 @@ NuttX buildroot Toolchain
detailed PLUS some special instructions that you will need to follow if you are
building a Cortex-M3 toolchain for Cygwin under Windows.
-Ethernet-Bootloader
-^^^^^^^^^^^^^^^^^^^
-
- Here are some notes about using the Luminary Ethernet boot-loader built
- into the Stellaris LM3S6965 Evaluation Kit.
-
- Built-In Application:
-
- - The board has no fixed IP address but uses DHCP to get an address.
- I used a D-link router; I can use a web browser to surf to the D-link
- web page to get the address assigned by DHCP.
-
- - Then you can use this IP address in your browser to surf to the evaluation
- board. It presents several interesting pages -- the most important is
- the page called "Firmware Update". That page includes instructions on
- how to download code to the evaluation board.
-
- - After you burn the first program, you lose this application. Then you
- will probably be better off connected directly to the Stellaris LM3S6965
- Evaluation Kit or through a switch (The router caused problems for me
- during downloads).
-
- Using the Ethernet Bootloader:
+ NOTE: This is an OABI toolchain.
- - You will need the "LM Flash Programmer application". You can get that
- program from the Luminary web site. There is a link on the LM3S6918 page.
+USB Device Controller Functions
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ Device Overview
- - Is there any documentation for using the bootloader? Yes and No: There
- is an application note covering the bootloader on the Luminary site, but
- it is not very informative.
+ An FT2232 device from Future Technology Devices International Ltd manages
+ USB-to-serial conversion. The FT2232 is factory configured by Luminary
+ Micro to implement a JTAG/SWD port (synchronous serial) on channel A and
+ a Virtual COM Port (VCP) on channel B. This feature allows two simultaneous
+ communications links between the host computer and the target device using
+ a single USB cable. Separate Windows drivers for each function are provided
+ on the Documentation and Software CD.
- - Are there any special things I have to do in my code, other than setting
- the origin to 0x0000:2000 (APP_START_ADDRESS)? No. The bootloader assumes
- that you have a vector table at that address . The bootloader does the
- following each time it boots (after you have downloaded the first valid
- application):
+ A small serial EEPROM holds the FT2232 configuration data. The EEPROM is not
+ accessible by the LM3S6965 microcontroller. For full details on FT2232
+ operation, go to www.ftdichip.com.
- o The bootloader sets the vector table register to the APP_START_ADDRESS,
- o It sets the stack pointer to the address at APP_START_ADDRESS, and then
- o Jumps to the address at APP_START_ADDRESS+4.
+ USB to JTAG/SWD
- - You can force the bootloader to skip starting the application and stay
- in the update mode. You will need to do this in order to download a new
- application. You force the update mode by holding the user button on the
- Stellaris LM3S6965 Evaluation Kit while resetting the board. The user
- button is GPIOA, pin 6 (call FORCED_UPDATE_PIN in the bootloader code).
+ The FT2232 USB device performs JTAG/SWD serial operations under the control
+ of the debugger. A CPLD (U2) multiplexes SWD and JTAG functions and, when
+ working in SWD mode, provides direction control for the bidirectional data
+ line.
- - Note 1: I had to remove my D-Link router from the configuration in order
- to use the LM Flash Programmer (the Bootloader issues BOOTP requests to
- communicate with the LM Flash Programmer, my router was responding to
- these BOOTP requests and hosing the download). It is safer to connect
- via a switch or via an Ethernet switch.
+ Virtual COM Port
- - Note 2: You don't need the router's DHCPD server in the download
- configuration; the Luminary Flash Programmer has the capability of
- temporarily assigning the IP address to the Stellaris LM3S6965 Evaluation
- Kit via BOOTP.
+ The Virtual COM Port (VCP) allows Windows applications (such as HyperTerminal)
+ to communicate with UART0 on the LM3S6965 over USB. Once the FT2232 VCP
+ driver is installed, Windows assigns a COM port number to the VCP channel.
Stellaris LM3S6965 Evaluation Kit Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/nuttx/configs/lm3s6965-ek/include/board.h b/nuttx/configs/lm3s6965-ek/include/board.h
index a7062099c..eeb6c6f8c 100755
--- a/nuttx/configs/lm3s6965-ek/include/board.h
+++ b/nuttx/configs/lm3s6965-ek/include/board.h
@@ -89,7 +89,7 @@
/* LED definitions ******************************************************************/
-/* The Eagle-100 has only one user LED: Port E, Bit 1. Below is the mapping of this
+/* The LMS36965 Eval Kit has only one user LED: Port F, Bit 0. Below is the mapping of this
* single LED. From this single LED, we can get the following information:
*
* OFF Steady: The system has failed to boot to the point of enabling interrupts
diff --git a/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h b/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h
index 78f2358a4..d83a6228d 100755
--- a/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h
+++ b/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h
@@ -65,11 +65,33 @@
/* LM3S6965 Eval Kit ***************************************************************/
-/* GPIO for microSD card chip select */
+/* GPIO Usage
+ *
+ * PIN SIGNAL EVB Function
+ * --- ----------- ---------------------------------------
+ * 26 PA0/U0RX Virtual COM port receive
+ * 27 PA1/U0TX Virtual COM port transmit
+ * 10 PD0/IDX0 SD card chip select
+ * 11 PD1/PWM1 Sound
+ * 30 PA4/SSI0RX SD card data out
+ * 31 PA5/SSI0TX SD card and OLED display data in
+ * 28 PA2/SSI0CLK SD card and OLED display clock
+ * 22 PC7/PHB0 OLED display data/control select
+ * 29 PA3/SSI0FSS OLED display chip select
+ * 73 PE1/PWM5 Down switch
+ * 74 PE2/PHB1 Left switch
+ * 72 PE0/PWM4 Up switch
+ * 75 PE3/PHA1 Right switch
+ * 61 PF1/IDX1 Select switch
+ * 47 PF0/PWM0 User LED
+ * 23 PC6/CCP3 Enable +15 V
+ */
+
+ /* GPIO for microSD card chip select */
#define SDCCS_GPIO (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STDWPU | GPIO_STRENGTH_4MA | \
- GPIO_VALUE_ONE | GPIO_PORTG | 1)
-#define LED_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTE | 1)
+ GPIO_VALUE_ONE | GPIO_PORTD | 0)
+#define LED_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTF | 0)
/************************************************************************************
* Public Functions