README.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. README
  2. ======
  3. README for NuttX port to the Tiva TM4C123G LaunchPad. The Tiva TM4C123G
  4. LaunchPad Evaluation Board is a low-cost evaluation platform for ARM®
  5. Cortex™-M4F-based microcontrollers from Texas Instruments.
  6. Contents
  7. ========
  8. On-Board GPIO Usage
  9. LEDs
  10. Serial Console
  11. USB Device Controller Functions
  12. AT24 Serial EEPROM
  13. I2C Tool
  14. Using OpenOCD and GDB with an FT2232 JTAG emulator
  15. TM4C123G LaunchPad Configuration Options
  16. Configurations
  17. On-Board GPIO Usage
  18. ===================
  19. PIN SIGNAL(S) LanchPad Function
  20. --- ---------------------------------------- ---------------------------------------
  21. 17 PA0/U0RX DEBUG/VCOM, Virtual COM port receive
  22. 18 PA1/U0TX DEBUG/VCOM, Virtual COM port transmit
  23. 19 PA2/SSIOCLK GPIO, J2 pin 10
  24. 20 PA3/SSIOFSS GPIO, J2 pin 9
  25. 21 PA4/SSIORX GPIO, J2 pin 8
  26. 22 PA5/SSIOTX GPIO, J1 pin 8
  27. 23 PA6/I2CLSCL GPIO, J1 pin 9
  28. 24 PA7/I2CLSDA GPIO, J1 pin 10
  29. 45 PB0/T2CCP0/U1Rx GPIO, J1 pin 3
  30. 46 PB1/T2CCP1/U1Tx GPIO, J1 pin 4
  31. 47 PB2/I2C0SCL/T3CCP0 GPIO, J2 pin 2
  32. 48 PB3/I2C0SDA/T3CCP1 GPIO, J4 pin 3
  33. 58 PB4/AIN10/CAN0Rx/SSI2CLK/T1CCP0 GPIO, J1 pin 7
  34. 57 PB5/AIN11/CAN0Tx/SSI2FSS/T1CCP1 GPIO, J1 pin 2
  35. 01 PB6/SSI2RX/T0CCP0 Connects to PD0 via resistor, GPIO, J2 pin 7
  36. 04 PB7/SSI2TX/T0CCP1 Connects to PD1 via resistor, GPIO, J2 pin 6
  37. 52 PC0/SWCLK/T4CCP0/TCK DEBUG/VCOM
  38. 51 PC1/SWDIO/T4CCP1/TMS DEBUG/VCOM
  39. 50 PC2/T5CCP0/TDI DEBUG/VCOM
  40. 49 PC3/SWO/T5CCP1/TDO DEBUG/VCOM
  41. 16 PC4/C1-/U1RTS/U1RX/U4RX/WT0CCP0 GPIO, J4 pin 4
  42. 15 PC5/C1+/U1CTS/U1TX/U4TX/WT0CCP1 GPIO, J4 pin 5
  43. 14 PC6/C0+/U3RX/WT1CCP0 GPIO, J4 pin 6
  44. 13 PC7/C0-/U3TX/WT1CCP1 GPIO, J4 pin 7
  45. 61 PD0/AIN7/I2C3SCL/SSI1CLK/SSI3CLKWT2CCP0 Connects to PB6 via resistor, GPIO, J3 pin 3
  46. 62 PD1/AIN6/I2C3SDA/SSI1Fss/SSI3Fss/WT2CCP1 Connects to PB7 via resistor, GPIO, J3 Pin 4
  47. 63 PD2/AIN5/SSI1RX/SSI3RX/WT3CCP0 GPIO, J3 pin 5
  48. 64 PD3/AIN4/SSI1TX/SSI3TX/WT3CCP1 GPIO, J3 pin 6
  49. 43 PD4/U6RX/USB0DM/WT4CCP0 USB_DM
  50. 44 PD5/U6TX/USB0DP/WT4CCP1 USB_DP
  51. 53 PD6/U2RX/WT5CCP0 GPIO, J4 pin 8
  52. 10 PD7/NMI/U2TX/WT5CCP1 +USB_VBUS, GPIO, J4 pin 9
  53. Used for VBUS detection when
  54. configured as a self-powered USB
  55. Device
  56. 09 PE0/AIN3/U7RX GPIO, J2 pin 3
  57. 08 PE1/AIN2/U7TX GPIO, J3 pin 7
  58. 07 PE2/AIN1 GPIO, J3 pin 8
  59. 06 PE3/AIN0 GPIO, J3 pin 9
  60. 59 PE4/AIN9/CAN0RX/I2C2SCL/U5RX GPIO, J1 pin 5
  61. 60 PE5/AIN8/CAN0TX/I2C2SDA/U5TX GPIO, J1 pin 6
  62. 28 PF0/C0O/CAN0RX/NMI/SSI1RX/T0CCP0/U1RTS USR_SW2 (Low when pressed), GPIO, J2 pin 4
  63. 29 PF1/C1O/SSI1TX/T0CCP1/TRD1/U1CTS LED_R, GPIO, J3 pin 10
  64. 30 PF2/SSI1CLK/T1CCP0/TRD0 LED_B, GPIO, J4 pin 1
  65. 31 PF3/CAN0TX/SSI1FSS/T1CCP1/TRCLK LED_G, GPIO, J4 pin 2
  66. 05 PF4/T2CCP0 USR_SW1 (Low when pressed), GPIO, J4 pin 10
  67. AT24 Serial EEPROM
  68. ==================
  69. AT24 Connections
  70. ----------------
  71. A AT24C512 Serial EEPPROM was used for tested I2C. There are no I2C
  72. devices on-board the Launchpad, but an external serial EEPROM module
  73. module was used.
  74. The Serial EEPROM was mounted on an external adaptor board and connected
  75. to the LaunchPad thusly:
  76. - VCC J1 pin 1 3.3V
  77. J3 pin 1 5.0V
  78. - GND J2 pin 1 GND
  79. J3 pin 2 GND
  80. - PB2 J2 pin 2 SCL
  81. - PB3 J4 pin 3 SDA
  82. Configuration Settings
  83. ----------------------
  84. The following configuration settings were used:
  85. System Type -> Tiva/Stellaris Peripheral Support
  86. CONFIG_TIVA_I2C0=y : Enable I2C
  87. System Type -> I2C device driver options
  88. TIVA_I2C_FREQUENCY=100000 : Select an I2C frequency
  89. Device Drivers -> I2C Driver Support
  90. CONFIG_I2C=y : Enable I2C support
  91. Device Drivers -> Memory Technology Device (MTD) Support
  92. CONFIG_MTD=y : Enable MTD support
  93. CONFIG_MTD_AT24XX=y : Enable the AT24 driver
  94. CONFIG_AT24XX_SIZE=512 : Specifies the AT 24C512 part
  95. CONFIG_AT24XX_ADDR=0x53 : AT24 I2C address
  96. Application Configuration -> NSH Library
  97. CONFIG_NSH_ARCHINIT=y : NSH board-initialization
  98. File systems
  99. CONFIG_NXFFS=y : Enables the NXFFS file system
  100. CONFIG_NXFFS_PREALLOCATED=y : Required
  101. : Other defaults are probably OK
  102. Board Selection
  103. CONFIG_TM4C123G_LAUNCHPAD_AT24_BLOCKMOUNT=y : Mounts AT24 for NSH
  104. CONFIG_TM4C123G_LAUNCHPAD_AT24_NXFFS=y : Mount the AT24 using NXFFS
  105. You can then format the AT24 EEPROM for a FAT file system and mount the
  106. file system at /mnt/at24 using these NSH commands:
  107. nsh> mkfatfs /dev/mtdblock0
  108. nsh> mount -t vfat /dev/mtdblock0 /mnt/at24
  109. Then you an use the FLASH as a normal FAT file system:
  110. nsh> echo "This is a test" >/mnt/at24/atest.txt
  111. nsh> ls -l /mnt/at24
  112. /mnt/at24:
  113. -rw-rw-rw- 16 atest.txt
  114. nsh> cat /mnt/at24/atest.txt
  115. This is a test
  116. STATUS:
  117. 2014-12-12: I was unsuccessful getting my AT24 module to work on the TM4C123G
  118. LaunchPad. I was unable to successuflly communication with the AT24 via
  119. I2C. I did verify I2C using the I2C tool and other I2C devices and I now
  120. belive that my AT24 module is not fully functional.
  121. I2C Tool
  122. ========
  123. I2C Tool. NuttX supports an I2C tool at apps/system/i2c that can be used
  124. to peek and poke I2C devices. That tool can be enabled by setting the
  125. following:
  126. System Type -> TIVA Peripheral Support
  127. CONFIG_TIVA_I2C0=y : Enable I2C0
  128. CONFIG_TIVA_I2C1=y : Enable I2C1
  129. CONFIG_TIVA_I2C2=y : Enable I2C2
  130. ...
  131. System Type -> I2C device driver options
  132. CONFIG_TIVA_I2C0_FREQUENCY=100000 : Select an I2C0 frequency
  133. CONFIG_TIVA_I2C1_FREQUENCY=100000 : Select an I2C1 frequency
  134. CONFIG_TIVA_I2C2_FREQUENCY=100000 : Select an I2C2 frequency
  135. ...
  136. Device Drivers -> I2C Driver Support
  137. CONFIG_I2C=y : Enable I2C support
  138. Application Configuration -> NSH Library
  139. CONFIG_SYSTEM_I2CTOOL=y : Enable the I2C tool
  140. CONFIG_I2CTOOL_MINBUS=0 : I2C0 has the minimum bus number 0
  141. CONFIG_I2CTOOL_MAXBUS=2 : I2C2 has the maximum bus number 2
  142. CONFIG_I2CTOOL_DEFFREQ=100000 : Pick a consistent frequency
  143. The I2C tool has extensive help that can be accessed as follows:
  144. nsh> i2c help
  145. Usage: i2c <cmd> [arguments]
  146. Where <cmd> is one of:
  147. Show help : ?
  148. List busses : bus
  149. List devices : dev [OPTIONS] <first> <last>
  150. Read register : get [OPTIONS] [<repititions>]
  151. Show help : help
  152. Write register: set [OPTIONS] <value> [<repititions>]
  153. Verify access : verf [OPTIONS] [<value>] [<repititions>]
  154. Where common "sticky" OPTIONS include:
  155. [-a addr] is the I2C device address (hex). Default: 03 Current: 03
  156. [-b bus] is the I2C bus number (decimal). Default: 0 Current: 0
  157. [-r regaddr] is the I2C device register address (hex). Default: 00 Current: 00
  158. [-w width] is the data width (8 or 16 decimal). Default: 8 Current: 8
  159. [-s|n], send/don't send start between command and data. Default: -n Current: -n
  160. [-i|j], Auto increment|don't increment regaddr on repititions. Default: NO Current: NO
  161. [-f freq] I2C frequency. Default: 100000 Current: 100000
  162. NOTES:
  163. o Arguments are "sticky". For example, once the I2C address is
  164. specified, that address will be re-used until it is changed.
  165. WARNING:
  166. o The I2C dev command may have bad side effects on your I2C devices.
  167. Use only at your own risk.
  168. As an example, the I2C dev command can be used to list all devices
  169. responding on I2C0 (the default) like this:
  170. nsh> i2c dev 0x03 0x77
  171. 0 1 2 3 4 5 6 7 8 9 a b c d e f
  172. 00: -- -- -- -- -- -- -- -- -- -- -- -- --
  173. 10: -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- --
  174. 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  175. 30: -- -- -- -- -- -- -- -- -- 39 -- -- -- 3d -- --
  176. 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  177. 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  178. 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  179. 70: -- -- -- -- -- -- -- --
  180. nsh>
  181. NOTE: This is output from a different board and shows I2C
  182. devices responding at addresses 0x1a, 0x39, 0x3d, and 0x60.
  183. Using OpenOCD and GDB with an FT2232 JTAG emulator
  184. ==================================================
  185. Building OpenOCD under Cygwin:
  186. Refer to configs/olimex-lpc1766stk/README.txt
  187. Installing OpenOCD in Linux:
  188. sudo apt-get install openocd
  189. As of this writing, there is no support for the tm4c123g in the package
  190. above. You will have to build openocd from its source (as of this writing
  191. the latest commit was b9b4bd1a6410ff1b2885d9c2abe16a4ae7cb885f):
  192. git clone http://git.code.sf.net/p/openocd/code openocd
  193. cd openocd
  194. Then, add the patches provided by http://openocd.zylin.com/922:
  195. git fetch http://openocd.zylin.com/openocd refs/changes/22/922/14 && git checkout FETCH_HEAD
  196. ./bootstrap
  197. ./configure --enable-maintainer-mode --enable-ti-icdi
  198. make
  199. sudo make install
  200. For additional help, see http://processors.wiki.ti.com/index.php/Tiva_Launchpad_with_OpenOCD_and_Linux
  201. Helper Scripts.
  202. I have been using the on-board In-Circuit Debug Interface (ICDI) interface.
  203. OpenOCD requires a configuration file. I keep the one I used last here:
  204. configs/tm4c123g-launchpad/tools/tm4c123g-launchpad.cfg
  205. However, the "correct" configuration script to use with OpenOCD may
  206. change as the features of OpenOCD evolve. So you should at least
  207. compare that tm4c123g-launchpad.cfg file with configuration files in
  208. /usr/share/openocd/scripts. As of this writing, the configuration
  209. files of interest were:
  210. /usr/local/share/openocd/scripts/board/ek-tm4c123gxl.cfg
  211. /usr/local/share/openocd/scripts/interface/ti-icdi.cfg
  212. /usr/local/share/openocd/scripts/target/stellaris_icdi.cfg
  213. There is also a script on the tools/ directory that I use to start
  214. the OpenOCD daemon on my system called oocd.sh. That script will
  215. probably require some modifications to work in another environment:
  216. - Possibly the value of OPENOCD_PATH and TARGET_PATH
  217. - It assumes that the correct script to use is the one at
  218. configs/tm4c123g-launchpad/tools/tm4c123g-launchpad.cfg
  219. Starting OpenOCD
  220. If you are in the top-level NuttX build directlory then you should
  221. be able to start the OpenOCD daemon like:
  222. oocd.sh $PWD
  223. The relative path to the oocd.sh script is configs/tm4c123g-launchpad/tools.
  224. You may want to add that path to you PATH variable.
  225. Note that OpenOCD needs to be run with administrator privileges in
  226. some environments (sudo).
  227. Connecting GDB
  228. Once the OpenOCD daemon has been started, you can connect to it via
  229. GDB using the following GDB command:
  230. arm-nuttx-elf-gdb
  231. (gdb) target remote localhost:3333
  232. NOTE: The name of your GDB program may differ. For example, with the
  233. CodeSourcery toolchain, the ARM GDB would be called arm-none-eabi-gdb.
  234. After starting GDB, you can load the NuttX ELF file:
  235. (gdb) symbol-file nuttx
  236. (gdb) monitor reset
  237. (gdb) monitor halt
  238. (gdb) load nuttx
  239. NOTES:
  240. 1. Loading the symbol-file is only useful if you have built NuttX to
  241. include debug symbols (by setting CONFIG_DEBUG_SYMBOLS=y in the
  242. .config file).
  243. 2. The MCU must be halted prior to loading code using 'mon reset'
  244. as described below.
  245. OpenOCD will support several special 'monitor' commands. These
  246. GDB commands will send comments to the OpenOCD monitor. Here
  247. are a couple that you will need to use:
  248. (gdb) monitor reset
  249. (gdb) monitor halt
  250. NOTES:
  251. 1. The MCU must be halted using 'mon halt' prior to loading code.
  252. 2. Reset will restart the processor after loading code.
  253. 3. The 'monitor' command can be abbreviated as just 'mon'.
  254. LEDs
  255. ====
  256. The TM4C123G has a single RGB LED. If CONFIG_ARCH_LEDS is defined, then
  257. support for the LaunchPad LEDs will be included in the build. See:
  258. - configs/tm4c123g-launchpad/include/board.h - Defines LED constants, types and
  259. prototypes the LED interface functions.
  260. - configs/tm4c123g-launchpad/src/tm4c123g-launchpad.h - GPIO settings for the LEDs.
  261. - configs/tm4c123g-launchpad/src/up_leds.c - LED control logic.
  262. OFF:
  263. - OFF means that the OS is still initializing. Initialization is very fast so
  264. if you see this at all, it probably means that the system is hanging up
  265. somewhere in the initialization phases.
  266. GREEN or GREEN-ish
  267. - This means that the OS completed initialization.
  268. Bluish:
  269. - Whenever and interrupt or signal handler is entered, the BLUE LED is
  270. illuminated and extinguished when the interrupt or signal handler exits.
  271. This will add a BLUE-ish tinge to the LED.
  272. Redish:
  273. - If a recovered assertion occurs, the RED component will be illuminated
  274. briefly while the assertion is handled. You will probably never see this.
  275. Flashing RED:
  276. - In the event of a fatal crash, the BLUE and GREEN components will be
  277. extinguished and the RED component will FLASH at a 2Hz rate.
  278. Serial Console
  279. ==============
  280. By default, all configurations use UART0 which connects to the USB VCOM
  281. on the DEBUG port on the TM4C123G LaunchPad:
  282. UART0 RX - PA.0
  283. UART0 TX - PA.1
  284. However, if you use an external RS232 driver, then other options are
  285. available. UART1 has option pin settings and flow control capabilities
  286. that are not available with the other UARTS::
  287. UART1 RX - PB.0 or PC.4 (Need disambiguation in board.h)
  288. UART1 TX - PB.1 or PC.5 (" " " " "" " ")
  289. UART1_RTS - PF.0 or PC.4
  290. UART1_CTS - PF.1 or PC.5
  291. NOTE: board.h currently selects PB.0, PB.1, PF.0 and PF.1 for UART1, but
  292. that can be changed by editting board.h
  293. UART2-5, 7 are also available, UART2 is not recommended because it shares
  294. some pin usage with USB device mode. UART6 is not available because its
  295. only RX/TX pin options are dedicated to USB support.
  296. UART2 RX - PD.6
  297. UART2 TX - PD.7 (Also used for USB VBUS detection)
  298. UART3 RX - PC.6
  299. UART3 TX - PC.7
  300. UART4 RX - PC.4
  301. UART4 TX - PC.5
  302. UART5 RX - PE.4
  303. UART5 TX - PE.5
  304. UART6 RX - PD.4, Not available. Dedicated for USB_DM
  305. UART6 TX - PD.5, Not available. Dedicated for USB_DP
  306. UART7 RX - PE.0
  307. UART7 TX - PE.1
  308. USB Device Controller Functions
  309. ===============================
  310. Device Overview
  311. An FT2232 device from Future Technology Devices International Ltd manages
  312. USB-to-serial conversion. The FT2232 is factory configured by Luminary
  313. Micro to implement a JTAG/SWD port (synchronous serial) on channel A and
  314. a Virtual COM Port (VCP) on channel B. This feature allows two simultaneous
  315. communications links between the host computer and the target device using
  316. a single USB cable. Separate Windows drivers for each function are provided
  317. on the Documentation and Software CD.
  318. Debugging with JTAG/SWD
  319. The FT2232 USB device performs JTAG/SWD serial operations under the control
  320. of the debugger or the Luminary Flash Programmer. It also operate as an
  321. In-Circuit Debugger Interface (ICDI), allowing debugging of any external
  322. target board. Debugging modes:
  323. MODE DEBUG FUNCTION USE SELECTED BY
  324. 1 Internal ICDI Debug on-board TM4C123G Default Mode
  325. microcontroller over USB
  326. interface.
  327. 2 ICDI out to JTAG/SWD The EVB is used as a USB Connecting to an external
  328. header to SWD/JTAG interface to target and starting debug
  329. an external target. software. The red Debug Out
  330. LED will be ON.
  331. 3 In from JTAG/SWD For users who prefer an Connecting an external
  332. header external debug interface debugger to the JTAG/SWD
  333. (ULINK, JLINK, etc.) with header.
  334. the EVB.
  335. Virtual COM Port
  336. The Virtual COM Port (VCP) allows Windows applications (such as HyperTerminal)
  337. to communicate with UART0 on the TM4C123G over USB. Once the FT2232 VCP
  338. driver is installed, Windows assigns a COM port number to the VCP channel.
  339. TM4C123G LaunchPad Configuration Options
  340. =======================================================
  341. CONFIG_ARCH - Identifies the arch/ subdirectory. This should
  342. be set to:
  343. CONFIG_ARCH=arm
  344. CONFIG_ARCH_family - For use in C code:
  345. CONFIG_ARCH_ARM=y
  346. CONFIG_ARCH_architecture - For use in C code:
  347. CONFIG_ARCH_CORTEXM4=y
  348. CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
  349. CONFIG_ARCH_CHIP="tiva"
  350. CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
  351. chip:
  352. CONFIG_ARCH_CHIP_TM4C123GH6PMI
  353. CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
  354. hence, the board that supports the particular chip or SoC.
  355. CONFIG_ARCH_BOARD=tm4c123g-launchpad (for the TM4C123G LaunchPad)
  356. CONFIG_ARCH_BOARD_name - For use in C code
  357. CONFIG_ARCH_BOARD_TM4C123G_LAUNCHPAD
  358. CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
  359. of delay loops
  360. CONFIG_ENDIAN_BIG - define if big endian (default is little
  361. endian)
  362. CONFIG_RAM_SIZE - Describes the installed DRAM (SRAM in this case):
  363. CONFIG_RAM_SIZE=0x00008000 (32Kb)
  364. CONFIG_RAM_START - The start address of installed DRAM
  365. CONFIG_RAM_START=0x20000000
  366. CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
  367. have LEDs
  368. CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
  369. stack. If defined, this symbol is the size of the interrupt
  370. stack in bytes. If not defined, the user task stacks will be
  371. used during interrupt handling.
  372. CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
  373. CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
  374. There are configurations for disabling support for interrupts GPIO ports.
  375. Only GPIOP and GPIOQ pins can be used as interrupting sources on the
  376. TM4C129x. Additional interrupt support can be disabled if desired to
  377. reduce memory footprint.
  378. CONFIG_TIVA_GPIOP_IRQS=y
  379. CONFIG_TIVA_GPIOQ_IRQS=y
  380. TM4C123G specific device driver settings
  381. CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
  382. console and ttys0 (default is the UART0).
  383. CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
  384. This specific the size of the receive buffer
  385. CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
  386. being sent. This specific the size of the transmit buffer
  387. CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
  388. CONFIG_UARTn_BITS - The number of bits. Must be either 7 or 8.
  389. CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
  390. CONFIG_UARTn_2STOP - Two stop bits
  391. CONFIG_TIVA_SSI0 - Select to enable support for SSI0
  392. CONFIG_TIVA_SSI1 - Select to enable support for SSI1
  393. CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
  394. Poll-waiting is recommended if the interrupt rate would be to
  395. high in the interrupt driven case.
  396. CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
  397. emptying the Rx FIFO. If the SPI frequency is high and this
  398. value is large, then larger values of this setting may cause
  399. Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
  400. CONFIG_TIVA_ETHERNET - This must be set (along with CONFIG_NET)
  401. to build the Tiva Ethernet driver
  402. CONFIG_TIVA_ETHLEDS - Enable to use Ethernet LEDs on the board.
  403. CONFIG_TIVA_BOARDMAC - If the board-specific logic can provide
  404. a MAC address (via tiva_ethernetmac()), then this should be selected.
  405. CONFIG_TIVA_ETHHDUPLEX - Set to force half duplex operation
  406. CONFIG_TIVA_ETHNOAUTOCRC - Set to suppress auto-CRC generation
  407. CONFIG_TIVA_ETHNOPAD - Set to suppress Tx padding
  408. CONFIG_TIVA_MULTICAST - Set to enable multicast frames
  409. CONFIG_TIVA_PROMISCUOUS - Set to enable promiscuous mode
  410. CONFIG_TIVA_BADCRC - Set to enable bad CRC rejection.
  411. CONFIG_TIVA_DUMPPACKET - Dump each packet received/sent to the console.
  412. Configurations
  413. ==============
  414. Each TM4C123G LaunchPad configuration is maintained in a
  415. sub-directory and can be selected as follow:
  416. tools/configure.sh tm4c123g-launchpad/<subdir>
  417. Where <subdir> is one of the following:
  418. nsh:
  419. ---
  420. Configures the NuttShell (nsh) located at apps/examples/nsh. The
  421. configuration enables the serial VCOM interfaces on UART0. Support for
  422. builtin applications is enabled, but in the base configuration no
  423. builtin applications are selected.
  424. NOTES:
  425. 1. This configuration uses the mconf-based configuration tool. To
  426. change this configuration using that tool, you should:
  427. a. Build and install the kconfig-mconf tool. See nuttx/README.txt
  428. see additional README.txt files in the NuttX tools repository.
  429. b. Execute 'make menuconfig' in nuttx/ in order to start the
  430. reconfiguration process.
  431. 2. By default, this configuration uses the CodeSourcery toolchain
  432. for Windows and builds under Cygwin (or probably MSYS). That
  433. can easily be reconfigured, of course.
  434. CONFIG_HOST_LINUX=y : Linux (Cygwin under Windows okay too).
  435. CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : Buildroot (arm-nuttx-elf-gcc)
  436. CONFIG_RAW_BINARY=y : Output formats: ELF and raw binary