diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2010-05-08 03:51:47 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2010-05-08 03:51:47 +0000 |
commit | 3d47d9562abc195fe053de6cac29a59076b4881b (patch) | |
tree | bbbc6164144a662c080bf320176e1a4c8d7b1ebf /nuttx | |
parent | 50b7bdacbd6d4af3bb3128c038e4e0e2cd0d50df (diff) | |
download | px4-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')
-rw-r--r-- | nuttx/arch/arm/src/lm3s/chip.h | 4 | ||||
-rwxr-xr-x | nuttx/configs/lm3s6965-ek/README.txt | 147 | ||||
-rwxr-xr-x | nuttx/configs/lm3s6965-ek/include/board.h | 2 | ||||
-rwxr-xr-x | nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h | 28 |
4 files changed, 125 insertions, 56 deletions
diff --git a/nuttx/arch/arm/src/lm3s/chip.h b/nuttx/arch/arm/src/lm3s/chip.h index d7ed6bb13..1fe701c71 100644 --- a/nuttx/arch/arm/src/lm3s/chip.h +++ b/nuttx/arch/arm/src/lm3s/chip.h @@ -55,7 +55,7 @@ # define LM3S_NUARTS 2 /* Two UART modules */ # define LM3S_NI2C 2 /* Two I2C modules */ # define LM3S_NADC 1 /* One ADC module */ -# define LM2S_NPWM 0 /* No PWM modules */ +# define LM2S_NPWM 0 /* No PWM generator modules */ # define LM3S_NQEI 0 /* No quadrature encoders */ # define LC3S_NGPIOS 38 /* 5-38 GPIOs, depending on configuration */ #elif defined(CONFIG_ARCH_CHIP_LM3S6965) @@ -65,7 +65,7 @@ # define LM3S_NUARTS 3 /* Three UART modules */ # define LM3S_NI2C 2 /* Two I2C modules */ # define LM3S_NADC 1 /* One ADC module */ -# define LM2S_NPWM 3 /* Three PWM modules */ +# define LM2S_NPWM 3 /* Three PWM generator modules */ # define LM3S_NQEI 2 /* Two quadrature encoders */ # define LC3S_NGPIOS 42 /* 0-42 GPIOs */ #else 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
|