mirror of
https://github.com/apache/nuttx.git
synced 2025-12-15 00:41:51 +08:00
Compare commits
122 Commits
nuttx-5.16
...
nuttx-5.19
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ea1e6bceb | ||
|
|
0f7afd2932 | ||
|
|
f0d143ee29 | ||
|
|
1ead79b6d5 | ||
|
|
78e999dff1 | ||
|
|
93cf78af8b | ||
|
|
f69bf78abb | ||
|
|
20821d6f75 | ||
|
|
2d69ae5530 | ||
|
|
0aaf5df60d | ||
|
|
21757e7349 | ||
|
|
7380b9b062 | ||
|
|
f5e796e604 | ||
|
|
b95aee0348 | ||
|
|
8b26af1f4f | ||
|
|
a3c96a8df6 | ||
|
|
046aa70b2a | ||
|
|
91f3674d8f | ||
|
|
1b91975e30 | ||
|
|
a60051cb30 | ||
|
|
8c4356ac9d | ||
|
|
0e185156e6 | ||
|
|
78f93cf4c7 | ||
|
|
1b8399445b | ||
|
|
3794cea45d | ||
|
|
a24491d9a5 | ||
|
|
11fcce1db9 | ||
|
|
40a804582e | ||
|
|
22b6b6cbc2 | ||
|
|
9f28177d4d | ||
|
|
0443335a11 | ||
|
|
aa147f7c1d | ||
|
|
2f5a41f8c7 | ||
|
|
9165a6a89f | ||
|
|
6cf4b94339 | ||
|
|
70ae64270f | ||
|
|
9be29027de | ||
|
|
7caab4ea49 | ||
|
|
3debf5b8dc | ||
|
|
f81d416b37 | ||
|
|
99a0f819cd | ||
|
|
14394b5eb6 | ||
|
|
21dc6172b5 | ||
|
|
e97118d258 | ||
|
|
b046262a87 | ||
|
|
998f4e2dea | ||
|
|
fefe839818 | ||
|
|
8e96987058 | ||
|
|
5672afedbd | ||
|
|
5251124755 | ||
|
|
c615c62e94 | ||
|
|
2bd446832b | ||
|
|
2586abc3b4 | ||
|
|
dfae1ba93e | ||
|
|
8025153209 | ||
|
|
9682eb05dd | ||
|
|
97806609b4 | ||
|
|
807c807b6b | ||
|
|
ab227a8ef6 | ||
|
|
6ac240a7eb | ||
|
|
89e4925a46 | ||
|
|
5e523ebd93 | ||
|
|
7ff5349649 | ||
|
|
ab9715b9c6 | ||
|
|
2805c4beab | ||
|
|
69e0c0ebe6 | ||
|
|
b88f6027d2 | ||
|
|
5a52fca179 | ||
|
|
2814d4dd8c | ||
|
|
a86934e351 | ||
|
|
9f1ae482d9 | ||
|
|
a253691821 | ||
|
|
2a570434fc | ||
|
|
1e7890b0f8 | ||
|
|
5e1e70fdbb | ||
|
|
4ca1ea2ac8 | ||
|
|
087e4132af | ||
|
|
4ca8d86e71 | ||
|
|
c9d81576a8 | ||
|
|
1dcd585613 | ||
|
|
ba5c6d3b18 | ||
|
|
99ca8d4b1a | ||
|
|
b661b6c012 | ||
|
|
16508e595b | ||
|
|
19e95c9430 | ||
|
|
c01814cdad | ||
|
|
5c36894300 | ||
|
|
6a0bbafc1e | ||
|
|
193f16e076 | ||
|
|
499badf219 | ||
|
|
a29dac240e | ||
|
|
cfc0c0dedc | ||
|
|
9b6a2bacda | ||
|
|
1ea9ea801d | ||
|
|
d9ffd2c411 | ||
|
|
11404da9af | ||
|
|
2ae6b79306 | ||
|
|
bc5634d2ad | ||
|
|
c38d1c1ec9 | ||
|
|
78d6af1190 | ||
|
|
7d12e1fd04 | ||
|
|
fb15f94d5e | ||
|
|
60c0de010a | ||
|
|
f389facd71 | ||
|
|
09107aa9ff | ||
|
|
9a698e429d | ||
|
|
57ca7d1157 | ||
|
|
f0f2c61a53 | ||
|
|
2270d885e9 | ||
|
|
258009c392 | ||
|
|
dc81d843a3 | ||
|
|
f8d480b8fa | ||
|
|
0514d8c187 | ||
|
|
dc51943c54 | ||
|
|
c95ceda9b2 | ||
|
|
93a0f80729 | ||
|
|
eaab19221f | ||
|
|
01af046747 | ||
|
|
155d12d968 | ||
|
|
40471f14d2 | ||
|
|
fa8015b26e | ||
|
|
aaedc7b617 |
26
COPYING
26
COPYING
@@ -61,6 +61,32 @@ IGMP support, if enabled in uIP, adds additional logic by Steve Reynolds:
|
||||
Copyright (c) 2002 CITEL Technologies Ltd.
|
||||
All rights reserved.
|
||||
|
||||
The HID Parser in drivers/usbhost
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Adapted from the LUFA Library (MIT license):
|
||||
|
||||
Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
|
||||
dean [at] fourwalledcubicle [dot] com, www.lufa-lib.org
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this
|
||||
software and its documentation for any purpose is hereby granted
|
||||
without fee, provided that the above copyright notice appear in
|
||||
all copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the name of the author not be used in
|
||||
advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
The author disclaim all warranties with regard to this
|
||||
software, including all implied warranties of merchantability
|
||||
and fitness. In no event shall the author be liable for any
|
||||
special, indirect or consequential damages or any damages
|
||||
whatsoever resulting from loss of use, data or profits, whether
|
||||
in an action of contract, negligence or other tortious action,
|
||||
arising out of or in connection with the use or performance of
|
||||
this software.
|
||||
|
||||
Certain functions in the NuttX C-library derive from other BSD-compatible
|
||||
sources:
|
||||
|
||||
|
||||
138
ChangeLog
138
ChangeLog
@@ -1418,4 +1418,140 @@
|
||||
* drivers/usbhost -- Add a USB host class driver for the (Bulk-Only) USB
|
||||
Mass Storage Class.
|
||||
|
||||
5.17 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
5.17 2011-01-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* include/nuttx/usb -- rename usb_storage.h to storage.h.
|
||||
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices.
|
||||
* drivers/usbhost/usbhost_skeleton.c -- Template for new class drivers
|
||||
* include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c -- New
|
||||
files for HID keyboard support.
|
||||
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Will now handle multiple
|
||||
concurrent transfers on different endpoints (still only one TD per
|
||||
endpoint). All methods are protected from re-entrancy; lots of re-
|
||||
structuring in preparation for interrupt endpoint support.
|
||||
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for periodic
|
||||
interrupt transfers.
|
||||
* examples/hidkbd - Added a simple test for the USB host HID keyboard
|
||||
class driver.
|
||||
* configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the
|
||||
USB host HID keyboard class driver test for the LPC17xx.
|
||||
* Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
|
||||
fixed several errors in the code identified by the tool.
|
||||
|
||||
5.18 2011-02-27 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
|
||||
- Lost SYNACK causes connection reset
|
||||
- Fix missing UDP stats for sent/received packets
|
||||
- Added support for Cygwin as development/test platform.
|
||||
* configs/demo9s12ne64 - Integrate new buildroot-1.9 m8s12x toolchain.
|
||||
* 'uname -o' is used throughout the build logic in bash scripts and also in
|
||||
Make.defs files in order to distinguish between Cygwin and Linux. However,
|
||||
the -o option is not standard and is not supported under, for example, OS-X or
|
||||
Solaris. This was solved by changing all 'uname -o' references to the more
|
||||
complex: 'uname -o 2>/dev/null || echo "Other"'
|
||||
* drivers/usbhost/usbhost_enumerate.c -- Add logic to get the VID and PID. This
|
||||
is necessary in order to support vendor-specific USB devices.
|
||||
* examplex/wlan, configs/olimex-lpc1766stk/wlan, drivers/usbhost/usbhost_rtl8187.c,
|
||||
Add infrastructure to support RTL18187 wireless USB.
|
||||
* configs/nucleus2g -- backed out USB host changes... wrong board.
|
||||
* Renamed arc/hc/include/mc9s12ne64 and src/mc9s12ne64 -- m9s12. That name is
|
||||
shorter and more general.
|
||||
* The NuttX repository has been converted to SVN and can now be found here
|
||||
http://nuttx.svn.sourceforge.net/viewvc/nuttx/
|
||||
* configs/mbed/hidkbd -- Added USB host support for the mbed LPC1768 board; add
|
||||
a USB host HID keyboard configuraion.
|
||||
* drivers/usbhost/hid_parser.c -- Leverages the LUFA HID parser written by
|
||||
Dean Camera.
|
||||
* examples/nsh -- Correct an usage of getopt(): If you stop calling getopt()
|
||||
before all parameters are parsed, you can leave getopt() in a strange state.
|
||||
* include/nuttx/fb.h -- Restore missing RGB type that was accidentally removed
|
||||
when Nokia 6100 support was added.
|
||||
* Rename arch/pjrc-8051 to arch/8051
|
||||
* configs/ne64badge -- Add a configuration for the Future Electronics Group
|
||||
NE64 Badge development board (Freescale MC9S12NE64)
|
||||
* Changes contributed by Uros Platise:
|
||||
- Add support for the STM32F103RET6
|
||||
- configs/vsn - Support for the ISOTEL NetClamps VSN V1.2 ready2go sensor
|
||||
network platform
|
||||
* arch/hc, configs/ne64badge -- Development is complete for the Freescale
|
||||
mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
|
||||
this port remains untested until I figure out this BDM / Code Warrior
|
||||
and paged build thing
|
||||
* Added a new 'kill' command to NSH that will support sending signals to
|
||||
running NuttX tasks.
|
||||
|
||||
5.19 2011-03-12 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* arch/arm/stm32/stm32_idle.c -- During idle times, the STM32 now uses the
|
||||
WFI instruction to sleep in a reduced power mode until the next interrupt
|
||||
occurs (Contributed by Uros Platise).
|
||||
* NSH: 'mem' command renamed to 'free'. Output is now more similar to the
|
||||
Linux 'free' command.
|
||||
* NSH: Correct a redirection bug in NSH. The following would not work; it
|
||||
resulted in a hang after the 'cat /dev/fifo':
|
||||
|
||||
nsh> mkfile /dev/fifo
|
||||
nsh> cd /tmp # /tmp is a mounted RAM disk
|
||||
nsh> cat /dev/fifo > test.txt &
|
||||
nsh> echo "This is a test" > /dev/fifo
|
||||
|
||||
The error was caused because (1) there was a path that resulted in stdout
|
||||
being closed (the "hang") and also (2) the 'cat' command was always outputting
|
||||
to stdout, not to the redirected file descriptor. Now:
|
||||
|
||||
nsh> cat test.txt
|
||||
This is a test
|
||||
|
||||
* drivers/pipes/pipe_common.c: Driver open method was not returning an EINTR
|
||||
error when it received a signal. Instead, it just re-started the wait. This
|
||||
makes it impossible to kill a background pipe operation from NSH.
|
||||
* include/stdint.h -- Correct some errors in conditional compilation (submitted
|
||||
by Johannes Hampel).
|
||||
* arch/arm/lpc17xx/lp17_idle.c -- Uses the same logic as the STM32: uses the
|
||||
WFI instruction to sleep in a reduced power mode until the next interrupt
|
||||
occurs.
|
||||
* configs/olimex-lpc1766stk -- Added an LED encoded to indicate if the LPC1766
|
||||
is in sleeping.
|
||||
* examples/mm -- This is a simplified version of the "built-in" memory manager
|
||||
test of mm/mm_test.c. It is simplified because it does not have access to
|
||||
the internals of the memory manager as does mm/mm_test.c, but it has the
|
||||
advantage that it runs in the actual NuttX tasking environment (the
|
||||
mm/mm_test.c only runs in a PC simulation environment).
|
||||
* drivers/mmcsd_sdio.c/h -- Several corrections submitted by Uros Platise.
|
||||
* arch/x86 - Provide support for x86 architectures. Support for the i486
|
||||
architecture under QEMU is provided under arch/x86/include/i486,
|
||||
arch/x86/include/qemu, arch/x86/src/i486, and arch/x86/src/qemu.
|
||||
* configs/qemu-i486 - "Board" support configurations for verifying the QEME
|
||||
i486 port.
|
||||
* arch/arm/src/stm32/stm32_spi.c -- Correct base address of SPI3 (reported by
|
||||
Uros Platise).
|
||||
* drivers/mmcsd/mmcsd_sdio.c -- Correct a loop termination condition (also
|
||||
reported by Uros Platise).
|
||||
* drivers/mtd/ramtron.c - Driver for SPI-based RAMTRON NVRAM devices FM25V10
|
||||
(and others). Contributed by Uros Platise.
|
||||
* examples/nsh and tools/mkromfsimg.sh -- Add support for platform-specific
|
||||
ROMFS-based NSH start-up scripts.
|
||||
* drivers/uart_16550.c and include/nuttx/uart_16550.h - Support for a generic
|
||||
16550 UART.
|
||||
* configure/qemu-i486/nsh - QEMU NSH example.
|
||||
* ../apps - The apps directory add-on was created by Uros Platise. It
|
||||
supports a set of end-user applications than can be executed on top of
|
||||
NSH. Think of it this way: In a buckled-up embedded application, your
|
||||
end-user programs will probably have their own dedicated start-up logic.
|
||||
But, during development, you might want to have you applications
|
||||
available and executable from the NSH command line. This apps/ addon
|
||||
(and NSH hooks) was contributed by Uros to accomplish just that.
|
||||
* sched/sched_waitpid() and include/sys/wait.h - Provides a simple and
|
||||
very incomplete implementation of waitpid(). waitpid() is only available
|
||||
if CONFIG_SCHED_WAITPID is defined in your configuration file.
|
||||
* sched/atexit.c and sched/exit.c - The atexit function is not frequently
|
||||
used. In order to save a few bytes, it is now conditioned on
|
||||
CONFIG_SCHED_ATEXIT. It your application is currently using atexit(),
|
||||
you will need to add CONFIG_SCHED_ATEXT to your configuration file.
|
||||
* drivers/net/slip.c - Add a SLIP driver (untested on initial check-in).
|
||||
* configs/olimex-lpc1766stk/slip-httpd - An example that uses SLIP to
|
||||
provide a serial-port based THTTPD web server.
|
||||
|
||||
5.20 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -24,9 +24,9 @@
|
||||
<li><a href="http://tech.groups.yahoo.com/group/nuttx/" target="_top">Forum</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/nuttx/files/" target="_top">Downloads</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/nuttx/files/buildroot" target="_top">Toolchains</a></li>
|
||||
<li><a href="http://nuttx.cvs.sourceforge.net/nuttx/" target="_top">Browse CVS</a></li>
|
||||
<li><a href="http://dir.gmane.org/gmane.comp.embedded.nuttx" target="_top">gmane</a></li>
|
||||
<li><a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/" target="_top">Browse SVN</a></li>
|
||||
<li><a href="freeports.html" target="header">Free Ports</a></li>
|
||||
<li><a href="http://rss.groups.yahoo.com/group/nuttx/rss" target="_top"><img src="rss.gif" border="0"></a></li>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -57,10 +57,13 @@
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<td> </td>
|
||||
<td align="left" valign="top">
|
||||
<a href="http://rss.groups.yahoo.com/group/nuttx/rss" target="_top"><img src="rss.gif" border="0"></a></td>
|
||||
<tr>
|
||||
<td colspan="2" align="center" valign="top">
|
||||
<a href="http://www.fiberdownload.com/Download/26542/NuttX" target="_blank">
|
||||
<img src="editor_pick_2.png" alt="NuttX" style="border:0">
|
||||
<img src="award2_151_50.png" alt="NuttX" style="border:0">
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
@@ -151,14 +151,14 @@
|
||||
<ul>
|
||||
<li>
|
||||
A dynamic loader that is built into the NuttX core
|
||||
(See <a href="http://nuttx.cvs.sourceforge.net/viewvc/nuttx/nuttx/binfmt/">CVS</a>).
|
||||
(See <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/binfmt/">SVN</a>).
|
||||
</li>
|
||||
<li>
|
||||
Minor changes to RTOS to support position independent code, and
|
||||
</li>
|
||||
<li>
|
||||
A linker to bind ELF binaries to produce the NXFLAT binary format
|
||||
(See <a href="http://nuttx.cvs.sourceforge.net/viewvc/nuttx/misc/buildroot/toolchain/nxflat">CVS).
|
||||
(See <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/misc/buildroot/toolchain/nxflat/">SVN).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
The initial release of NXFLAT was made in NuttX version 0.4.9.
|
||||
Testing is limited to the tests found under <code>examples/nxflat</code> in the source tree.
|
||||
Some known problems exist
|
||||
(see the <a href="http://nuttx.cvs.sourceforge.net/*checkout*/nuttx/nuttx/TODO">TODO</a> list).
|
||||
(see the <a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/TODO?view=log">TODO</a> list).
|
||||
As such, NXFLAT is currently in an early alpha phase.
|
||||
</p>
|
||||
|
||||
@@ -366,7 +366,7 @@ any following arguments.
|
||||
|
||||
<p>
|
||||
Below is a snippet from an NXFLAT make file (simplified from NuttX
|
||||
<a href="http://nuttx.cvs.sourceforge.net/viewvc/*checkout*/nuttx/nuttx/examples/nxflat/tests/hello/Makefile?revision=1.6">
|
||||
<a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/examples/nxflat/tests/hello/Makefile?view=log">
|
||||
Hello, World!</a> example.
|
||||
<p>
|
||||
<ul><table width="50%">
|
||||
@@ -472,19 +472,19 @@ any following arguments.
|
||||
<ul>
|
||||
<li>
|
||||
The interface to the binary loader is described in the header file
|
||||
<a href="http://nuttx.cvs.sourceforge.net/viewvc/nuttx/nuttx/include/nuttx/binfmt.h?revision=1.5&view=markup">
|
||||
<a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/include/nuttx/binfmt.h?view=log">
|
||||
<code>include/nuttx/binfmt.h</code></a>.
|
||||
A brief summary of the APIs prototyped in that header file are listed below.
|
||||
</li>
|
||||
<li>
|
||||
NXFLAT APIs needed to register NXFLAT as a binary loader appear in the header file
|
||||
<a href="http://nuttx.cvs.sourceforge.net/viewvc/*checkout*/nuttx/nuttx/include/nuttx/nxflat.h?revision=1.9">
|
||||
<a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/include/nuttx/nxflat.h?view=log">
|
||||
<code>include/nuttx/nxflat.h</code></a>.
|
||||
</li>
|
||||
<li>
|
||||
The format of an NXFLAT object itself is described in the header file:
|
||||
<a href="http://nuttx.cvs.sourceforge.net/viewvc/*checkout*/nuttx/nuttx/include/nxflat.h?revision=1.12">
|
||||
<code>include/nxflat.h</code></a>.
|
||||
<a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/include/nuttx/nxflat.h?view=log">
|
||||
<code>include/nuttx/nxflat.h</code></a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<h1><big><font color="#3c34ec">
|
||||
<i>NuttX RTOS Porting Guide</i>
|
||||
</font></big></h1>
|
||||
<p>Last Updated: January 9, 2011</p>
|
||||
<p>Last Updated: March 12, 2011</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -468,7 +468,7 @@
|
||||
A work in progress.
|
||||
</li>
|
||||
|
||||
<li><code>arch/pjrc-8051</code>:
|
||||
<li><code>arch/8051</code>:
|
||||
8051 Microcontroller. This port is not quite ready for prime time.
|
||||
</li>
|
||||
|
||||
@@ -489,8 +489,8 @@
|
||||
<li><code>arch/z80/include/z80</code> and <code>arch/z80/src/z80</code>:
|
||||
The Z80 port was released in nuttx-0.3.6 has been verified using only a
|
||||
z80 instruction simulator.
|
||||
The set simulator can be found in the NuttX CVS at
|
||||
http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim.
|
||||
The set simulator can be found in the NuttX SVN at
|
||||
http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/misc/sims/z80sim.
|
||||
This port also uses the SDCC toolchain (http://sdcc.sourceforge.net/")
|
||||
(verified with version 2.6.0 and 2.7.0).
|
||||
</li>
|
||||
@@ -739,8 +739,8 @@
|
||||
|
||||
<li><code>configs/z80sim</code>:
|
||||
z80 Microcontroller. This port uses a Z80 instruction set simulator.
|
||||
That simulator can be found in the NuttX CVS
|
||||
<a href="http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim/">here</a>.
|
||||
That simulator can be found in the NuttX SVN
|
||||
<a href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/misc/sims/z80sim">here</a>.
|
||||
This port also the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain
|
||||
under Linux or Cygwin(verified with version 2.6.0).
|
||||
</li>
|
||||
@@ -970,7 +970,7 @@ tools/
|
||||
This could be done manually as follows:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Copy <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/]Make.def</code> to <code>${TOPDIR}/Make.defs</code>,<li>
|
||||
<li>Copy <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/]Make.defs</code> to <code>${TOPDIR}/Make.defs</code>,<li>
|
||||
<li>Copy <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/]setenv.sh</code> to <code>${TOPDIR}/setenv.sh</code>, and</li>
|
||||
<li>Copy <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/]defconfig</code> to <code>${TOPDIR}/.config</code></li>
|
||||
</ul>
|
||||
@@ -2457,6 +2457,13 @@ extern void up_ledoff(int led);
|
||||
All structures and APIs needed to work with USB device-side drivers are provided in this header file.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<b><code>include/nuttx/usb/usbdev_trace.h</code></b>.
|
||||
Declarations needed to work the the NuttX USB device driver trace capability.
|
||||
That USB trace capability is detailed in <a href="UsbTrace.html">separate document</a>.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<b><code>struct usbdev_s</code></b>.
|
||||
@@ -3296,6 +3303,19 @@ build
|
||||
<li>
|
||||
<code>CONFIG_NET</code>: Enable or disable all network features
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_NET_SLIP</code>: Selects the Serial Line Internet Protocol (SLIP) data link layer.
|
||||
The default data link layer for uIP is Ethernet.
|
||||
If <code>CONFIG_NET_SLIP</code> is defined in the NuttX header file, then SLIP will be supported.
|
||||
The basic differences between the SLIP and Ethernet configurations is that when SLIP is selected:
|
||||
<ul>
|
||||
<li>The link level header (that comes before the IP header) is omitted.</li>
|
||||
<li>All MAC address processing is suppressed.</li>
|
||||
<li>ARP is disabled.</li>
|
||||
</ul>
|
||||
If <code>CONFIG_NET_SLIP</code> is not supported, then Ethernet will be used
|
||||
(there is no need to define anything special in the configuration file to use Ethernet -- it is the default).
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_NET_IPv6</code>: Build in support for IPv6
|
||||
</li>
|
||||
@@ -3383,9 +3403,6 @@ build
|
||||
<li>
|
||||
<code>CONFIG_NET_MULTICAST</code>: Outgoing multi-cast address support
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_NET_LLH_LEN</code>: The link level header length
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_NET_FWCACHE_SIZE</code>: number of packets to remember when looking for duplicates
|
||||
</li>
|
||||
@@ -3612,7 +3629,52 @@ build
|
||||
<li>
|
||||
<code>CONFIG_USBHOST_NPREALLOC</code>: Number of pre-allocated class instances
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBHOST_BULK_DISABLE</code>: On some architectures, selecting this setting will reduce driver size by disabling bulk endpoint support
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBHOST_INT_DISABLE</code>: On some architectures, selecting this setting will reduce driver size by disabling interrupt endpoint support
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBHOST_ISOC_DISABLE</code>: On some architectures, selecting this setting will reduce driver size by disabling isochronous endpoint support
|
||||
</li>
|
||||
</ul>
|
||||
<h3>USB Host HID Class Driver</h3>
|
||||
<p>
|
||||
Requires <code>CONFIG_USBHOST=y</code>, <code>CONFIG_USBHOST_INT_DISABLE=n</code>, <code>CONFIG_NFILE_DESCRIPTORS > 0</code>,
|
||||
<code>CONFIG_SCHED_WORKQUEUE=y</code>, and <code>CONFIG_DISABLE_SIGNALS=n</code>.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_POLLUSEC</code>: Device poll rate in microseconds. Default: 100 milliseconds.
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_DEFPRIO</code>: Priority of the polling thread. Default: 50.
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_STACKSIZE</code>: Stack size for polling thread. Default: 1024
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_BUFSIZE</code>: Scancode buffer size. Default: 64.
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_NPOLLWAITERS</code>: If the poll() method is enabled, this defines the maximum number of threads that can be waiting for keyboard events. Default: 2.
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_RAWSCANCODES</code>: If set to <code>y</code> no conversion will be made on the raw keyboard scan codes. Default: ASCII conversion.
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_ALLSCANCODES</code>: If set to <code>y</code> all 231 possible scancodes will be converted to something. Default: 104 key US keyboard.
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_HIDKBD_NODEBOUNCE</code>: If set to <code>y</code> normal debouncing is disabled. Default: Debounce/No repeat keys.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>USB Host HID Mass Storage Class Driver</h3>
|
||||
<p>
|
||||
Requires <code>CONFIG_USBHOST=y</code>, <code>CONFIG_USBHOST_BULK_DISABLE=n</code>, <code>CONFIG_NFILE_DESCRIPTORS > 0</code>,
|
||||
and <code>CONFIG_SCHED_WORKQUEUE=y</code>.
|
||||
</p>
|
||||
|
||||
<h2>Graphics related configuration settings</h3>
|
||||
<ul>
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<title>README Files</title>
|
||||
</head>
|
||||
<body background="backgd.gif">
|
||||
<base href="http://nuttx.cvs.sourceforge.net/viewvc/*checkout*/nuttx/nuttx/" TARGET="_self">
|
||||
<base href="http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/nuttx/include/nuttx/" TARGET="_self">
|
||||
<hr><hr>
|
||||
<table width ="100%">
|
||||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX README Files</i></font></big></h1>
|
||||
<p>Last Updated: November 5, 2010</p>
|
||||
<p>Last Updated: March 6, 2010</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -27,136 +27,153 @@
|
||||
| |
|
||||
| |- arm
|
||||
| | `- src
|
||||
| | `- <a href="arch/arm/src/lpc214x/README.txt">lpc214x/README.txt</a>
|
||||
| | `- <a href="arch/arm/src/lpc214x/README.txt?view=log">lpc214x/README.txt</a>
|
||||
| |- sh/
|
||||
| | |- include/
|
||||
| | | |-<a href="arch/sh/include/m16c/README.txt">m16c/README.txt</a>
|
||||
| | | |-<a href="arch/sh/include/sh1/README.txt">sh1/README.txt</a>
|
||||
| | | `-<a href="arch/sh/include/README.txt">README.txt</a>
|
||||
| | | |-<a href="arch/sh/include/m16c/README.txt?view=log">m16c/README.txt</a>
|
||||
| | | |-<a href="arch/sh/include/sh1/README.txt?view=log">sh1/README.txt</a>
|
||||
| | | `-<a href="arch/sh/include/README.txt?view=log">README.txt</a>
|
||||
| | |- src/
|
||||
| | | |-<a href="arch/sh/src/common/README.txt">common/README.txt</a>
|
||||
| | | |-<a href="arch/sh/src/m16c/README.txt">m16c/README.txt</a>
|
||||
| | | |-<a href="arch/sh/src/sh1/README.txt">sh1/README.txt</a>
|
||||
| | | `-<a href="arch/sh/src/README.txt">README.txt</a>
|
||||
| | | |-<a href="arch/sh/src/common/README.txt?view=log">common/README.txt</a>
|
||||
| | | |-<a href="arch/sh/src/m16c/README.txt?view=log">m16c/README.txt</a>
|
||||
| | | |-<a href="arch/sh/src/sh1/README.txt?view=log">sh1/README.txt</a>
|
||||
| | | `-<a href="arch/sh/src/README.txt?view=log">README.txt</a>
|
||||
| |- x86/
|
||||
| | |- include/
|
||||
| | | `-<a href="arch/x86/include/README.txt?view=log">README.txt</a>
|
||||
| | `- src/
|
||||
| | `-<a href="arch/x86/src/README.txt?view=log">README.txt</a>
|
||||
| `- z80/
|
||||
| | `- src/
|
||||
| | `- <a href="arch/z80/src/z80/README.txt">z80/README.txt</a>
|
||||
| `- <a href="arch/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="arch/z80/src/z80/README.txt?view=log">z80/README.txt</a>
|
||||
| `- <a href="arch/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
|- configs/
|
||||
| |- avr32dev1/
|
||||
| | `- <a href="configs/avr32dev1/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/avr32dev1/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- c5471evm/
|
||||
| | |- <a href="configs/c5471evm/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/c5471evm/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/c5471evm/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/c5471evm/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/c5471evm/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/c5471evm/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- demo9s12ne64/
|
||||
| | `- <a href="configs/demo9s12ne64/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/demo9s12ne64/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- ea3131/
|
||||
| | `- <a href="configs/ea3131/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/ea3131/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- eagle100/
|
||||
| | |- <a href="configs/eagle100/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/eagle100/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/eagle100/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/eagle100/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/eagle100/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/eagle100/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- ez80f910200kitg/
|
||||
| | |- <a href="configs/ez80f910200kitg/ostest/README.txt">ostest/README.txt</a>
|
||||
| | `- <a href="configs/ez80f910200kitg/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/ez80f910200kitg/ostest/README.txt?view=log">ostest/README.txt</a>
|
||||
| | `- <a href="configs/ez80f910200kitg/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- ez80f910200zco/
|
||||
| | |- <a href="configs/ez80f910200zco/ostest/README.txt">dhcpd/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/httpd/README.txt">httpd/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/nettest/README.txt">nettest/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/nsh/README.txt">nsh/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/ostest/README.txt">ostest/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/poll/README.txt">poll/README.txt</a>
|
||||
| | `- <a href="configs/ez80f910200zco/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/ez80f910200zco/ostest/README.txt?view=log">dhcpd/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/httpd/README.txt?view=log">httpd/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/nettest/README.txt?view=log">nettest/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/nsh/README.txt?view=log">nsh/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/ostest/README.txt?view=log">ostest/README.txt</a>
|
||||
| | |- <a href="configs/ez80f910200zco/poll/README.txt?view=log">poll/README.txt</a>
|
||||
| | `- <a href="configs/ez80f910200zco/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- lm3s6965-ek/
|
||||
| | |- <a href="configs/lm3s6965-ek/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/lm3s6965-ek/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/lm3s6965-ek/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/lm3s6965-ek/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/lm3s6965-ek/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/lm3s6965-ek/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- lm3s8962
|
||||
| | |- <a href="configs/lm3s8962-ek/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/lm3s8962-ek/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/lm3s8962-ek/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- m68332evb/
|
||||
| | |- <a href="configs/m68332evb/include/README.txt">include/README.txt</a>
|
||||
| | `- <a href="configs/m68332evb/src/README.txt">src/README.txt</a>
|
||||
| | |- <a href="configs/m68332evb/include/README.txt?view=log">include/README.txt</a>
|
||||
| | `- <a href="configs/m68332evb/src/README.txt?view=log">src/README.txt</a>
|
||||
| |- mbed/
|
||||
| | `- <a href="configs/mbed/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/mbed/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- mcu123-lpc214x/
|
||||
| | |- <a href="configs/mcu123-lpc214x/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/mcu123-lpc214x/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/mcu123-lpc214x/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/mcu123-lpc214x/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/mcu123-lpc214x/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/mcu123-lpc214x/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- mx1ads/
|
||||
| | |- <a href="configs/mx1ads/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/mx1ads/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/mx1ads/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/mx1ads/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/mx1ads/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/mx1ads/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- ne64badge/
|
||||
| | `- <a href="configs/ne64badge/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- ntosd-dm320/
|
||||
| | |- <a href="configs/ntosd-dm320/doc/README.txt">doc/README.txt</a>
|
||||
| | |- <a href="configs/ntosd-dm320/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/ntosd-dm320/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/ntosd-dm320/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/ntosd-dm320/doc/README.txt?view=log">doc/README.txt</a>
|
||||
| | |- <a href="configs/ntosd-dm320/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/ntosd-dm320/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/ntosd-dm320/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- nucleus2g/
|
||||
| | `- <a href="configs/nucleus2g/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/nucleus2g/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- olimex-lpc1766stk/
|
||||
| | `- <a href="configs/olimex-lpc1766stk/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/olimex-lpc1766stk/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- olimex-lpc2378/
|
||||
| | |- <a href="configs/olimex-lpc2378/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/olimex-lpc2378/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/olimex-lpc2378/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/olimex-lpc2378/include/README.txt?view=log">include/README.txt</a>
|
||||
| | `- <a href="configs/olimex-lpc2378/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- olimex-strp711/
|
||||
| | |- <a href="configs/olimex-strp711/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/olimex-strp711/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/olimex-strp711/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/olimex-strp711/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/olimex-strp711/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/olimex-strp711/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- pjrc-8051/
|
||||
| | |- <a href="configs/pjrc-8051/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/pjrc-8051/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/pjrc-8051/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/pjrc-8051/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/pjrc-8051/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/pjrc-8051/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- qemu-i486/
|
||||
| | |- <a href="configs/qemu-i486/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/qemu-i486/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/qemu-i486/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- sam3u-ek/
|
||||
| | `- <a href="configs/sam3u-ek/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | `- <a href="configs/sam3u-ek/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- sim/
|
||||
| | |- <a href="configs/sim/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/sim/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/sim/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/sim/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/sim/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/sim/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- skp16c26/
|
||||
| | |- <a href="configs/skp16c26/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/skp16c26/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/skp16c26/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/skp16c26/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/skp16c26/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/skp16c26/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- stm3210e-eval/
|
||||
| | |- <a href="configs/stm3210e-eval/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/stm3210e-eval/RIDE/README.txt">RIDE/README.txt</a>
|
||||
| | |- <a href="configs/stm3210e-eval/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/stm3210e-eval/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/stm3210e-eval/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/stm3210e-eval/RIDE/README.txt?view=log">RIDE/README.txt</a>
|
||||
| | |- <a href="configs/stm3210e-eval/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/stm3210e-eval/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- us7032evb1/
|
||||
| | |- <a href="configs/us7032evb1/bin/README.txt">bin/README.txt</a>
|
||||
| | |- <a href="configs/us7032evb1/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/us7032evb1/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/us7032evb1/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/us7032evb1/bin/README.txt?view=log">bin/README.txt</a>
|
||||
| | |- <a href="configs/us7032evb1/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/us7032evb1/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/us7032evb1/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- vsn/
|
||||
| | |- <a href="configs/vsn/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/vsn/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- xtrs/
|
||||
| | |- <a href="configs/xtrs/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/xtrs/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/xtrs/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/xtrs/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/xtrs/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/xtrs/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- z16f2800100zcog/
|
||||
| | |- <a href="configs/xtrs/ostest/README.txt">ostest/README.txt</a>
|
||||
| | |- <a href="configs/xtrs/pashello/README.txt">pashello/README.txt</a>
|
||||
| | `- <a href="configs/xtrs/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/xtrs/ostest/README.txt?view=log">ostest/README.txt</a>
|
||||
| | |- <a href="configs/xtrs/pashello/README.txt?view=log">pashello/README.txt</a>
|
||||
| | `- <a href="configs/xtrs/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- z80sim/
|
||||
| | |- <a href="configs/z80sim/include/README.txt">include/README.txt</a>
|
||||
| | |- <a href="configs/z80sim/src/README.txt">src/README.txt</a>
|
||||
| | `- <a href="configs/z80sim/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/z80sim/include/README.txt?view=log">include/README.txt</a>
|
||||
| | |- <a href="configs/z80sim/src/README.txt?view=log">src/README.txt</a>
|
||||
| | `- <a href="configs/z80sim/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- z8encore000zco/
|
||||
| | |- <a href="configs/z8encore000zco/ostest/README.txt">ostest/README.txt</a>
|
||||
| | `- <a href="configs/z8encore000zco/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/z8encore000zco/ostest/README.txt?view=log">ostest/README.txt</a>
|
||||
| | `- <a href="configs/z8encore000zco/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| |- z8f64200100kit/
|
||||
| | |- <a href="configs/z8f64200100kit/ostest/README.txt">ostest/README.txt</a>
|
||||
| | `- <a href="configs/z8f64200100kit/README.txt"><b><i>README.txt</i></b></a>
|
||||
| `- <a href="configs/README.txt"><b><i>README.txt</i></b></a>
|
||||
| | |- <a href="configs/z8f64200100kit/ostest/README.txt?view=log">ostest/README.txt</a>
|
||||
| | `- <a href="configs/z8f64200100kit/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
| `- <a href="configs/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
|- drivers/
|
||||
| `- <a href="drivers/README.txt"><b><i>README.txt</i></b></a>
|
||||
| `- <a href="drivers/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
|- examples/
|
||||
| |- <a href="examples/nsh/README.txt"><b><i>nsh/README.txt</i></b></a>
|
||||
| |- <a href="examples/pashello/README.txt">pashello/README.txt</a>
|
||||
| `- <a href="examples/README.txt"><b><i>README.txt</i></b></a>
|
||||
| |- <a href="examples/nsh/README.txt?view=log"><b><i>nsh/README.txt</i></b></a>
|
||||
| |- <a href="examples/pashello/README.txt?view=log">pashello/README.txt</a>
|
||||
| `- <a href="examples/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
|- graphics/
|
||||
| `- <a href="graphics/README.txt"><b><i>README.txt</i></b></a>
|
||||
| `- <a href="graphics/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
|- libxx/
|
||||
| `- <a href="libxx/README.txt"><b><i>README.txt</i></b></a>
|
||||
| `- <a href="libxx/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
|- netutils/
|
||||
| |- <a href="netutils/telnetd/README.txt">telnetd/README.txt</a>
|
||||
| `- <a href="netutils/README"><b><i>README</i></b></a>
|
||||
| |- <a href="netutils/telnetd/README.txt?view=log">telnetd/README.txt</a>
|
||||
| `- <a href="netutils/README?view=log"><b><i>README</i></b></a>
|
||||
`- tools/
|
||||
`- <a href="tols/README.txt"><b><i>README.txt</i></b></a>
|
||||
`- <a href="tols/README.txt?view=log"><b><i>README.txt</i></b></a>
|
||||
332
Documentation/UsbTrace.html
Executable file
332
Documentation/UsbTrace.html
Executable file
@@ -0,0 +1,332 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>README Files</title>
|
||||
</head>
|
||||
|
||||
<body background="backgd.gif">
|
||||
<hr><hr>
|
||||
<table width ="100%">
|
||||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX USB Device Trace</i></font></big></h1>
|
||||
<p>Last Updated: February 25, 2010</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr><hr>
|
||||
<p><b>USB Device Tracing Controls</b>.
|
||||
The NuttX USB device subsystem supports a fairly sophisticated tracing facility.
|
||||
The basic trace cabability is controlled by these NuttX configuration settings:
|
||||
</p>
|
||||
<ul>
|
||||
<li><code>CONFIG_USBDEV_TRACE</code>: Enables USB tracing</li>
|
||||
<li><code>CONFIG_USBDEV_TRACE_NRECORDS</code>: Number of trace entries to remember</li>
|
||||
</ul>
|
||||
<p><b>Trace IDs</b>.
|
||||
The trace facility works like this:
|
||||
When enabled, USB events that occur in either the USB device driver or in the USB class driver are logged.
|
||||
These events are described in <code>include/nuttx/usb/usbdev_trace.h</code>.
|
||||
The logged events are identified by a set of event IDs:
|
||||
</p>
|
||||
<ul><table>
|
||||
<tr>
|
||||
<td><code>TRACE_INIT_ID</code></td>
|
||||
<td>Initialization events</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_EP_ID</code></td>
|
||||
<td>Endpoint API calls</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_DEV_ID</code></td>
|
||||
<td>USB device API calls</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_CLASS_ID</code></td>
|
||||
<td>USB class driver API calls</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_CLASSAPI_ID</code></td>
|
||||
<td>Other class driver system API calls</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_CLASSSTATE_ID</code></td>
|
||||
<td>Track class driver state changes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_INTENTRY_ID</code></td>
|
||||
<td>Interrupt handler entry</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_INTDECODE_ID</code></td>
|
||||
<td>Decoded interrupt event</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_INTEXIT_ID</code></td>
|
||||
<td>Interrupt handler exit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_OUTREQQUEUED_ID</code></td>
|
||||
<td>Request queued for OUT endpoint</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_INREQQUEUED_ID</code></td>
|
||||
<td>Request queued for IN endpoint</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_READ_ID</code></td>
|
||||
<td>Read (OUT) action</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_WRITE_ID</code></td>
|
||||
<td>Write (IN) action</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_COMPLETE_ID</code></td>
|
||||
<td>Request completed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_DEVERROR_ID</code></td>
|
||||
<td>USB controller driver error event</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACE_CLSERROR_ID</code></td>
|
||||
<td>USB class driver error event</td>
|
||||
</tr>
|
||||
</table></ul>
|
||||
<p><b>Logged Events</b>.
|
||||
Each logged event is 32-bits in size and includes
|
||||
</p>
|
||||
<ol>
|
||||
<li>8-bits of the trace ID (values associated with the above)</li>
|
||||
<li>8-bits of additional trace ID data, and</li>
|
||||
<li>16-bits of additonal data.</li>
|
||||
</ol>
|
||||
<p><b>8-bit Trace Data</b>
|
||||
The 8-bit trace data depends on the specific event ID. As examples,
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
For the USB serial and mass storage class, the 8-bit event data is provided in <code>include/nuttx/usb/usbdev_trace.h</code>.
|
||||
</li>
|
||||
<li>
|
||||
For the USB device driver, that 8-bit event data is provided within the USB device driver itself.
|
||||
So, for example, the 8-bit event data for the LPC1768 USB device driver is found in <code>arch/arm/src/lpc17xx/lpc17_usbdev.c</code>.
|
||||
</li>
|
||||
</ul>
|
||||
<p><b>16-bit Trace Data</b>.
|
||||
The 16-bit trace data provided additional context data relevant to the specific logged event.
|
||||
</p>
|
||||
<p><b>Trace Control Interfaces</b>.
|
||||
Logging of each of these kinds events can be enabled or disabled using the interfaces described in <code>include/nuttx/usb/usbdev_trace.h</code>.
|
||||
</p>
|
||||
<p><b>Enabling USB Device Tracing</b>.
|
||||
USB device tracing will be configured if <code>CONFIG_USBDEV</code> and either of the following are set in the NuttX configuration file:
|
||||
</p>
|
||||
<ul>
|
||||
<li><code>CONFIG_USBDEV_TRACE</code>, or</li>
|
||||
<li><code>CONFIG_DEBUG and CONFIG_DEBUG_USB</code></li>
|
||||
</ul>
|
||||
<p><b>Log Data Sink</b>.
|
||||
The logged data itself may go to either (1) an internal circular buffer, or (2) may be provided on the console.
|
||||
If <code>CONFIG_USBDEV_TRACE</code> is defined, then the trace data will go to the circular buffer.
|
||||
The size of the circular buffer is determined by <code>CONFIG_USBDEV_TRACE_NRECORDS</code>.
|
||||
Otherwise, the trace data goes to console.
|
||||
<p>
|
||||
<p><b>Example</b>.
|
||||
Here is an example of USB trace output using <code>examples/usbserial</code> for an LPC1768 platform with the following NuttX configuration settings:
|
||||
</p>
|
||||
<ul>
|
||||
<li><code>CONFIG_DEBUG</code>, <code>CONFIG_DEBUG_VERBOSE</code>, <code>CONFIG_USB</code>
|
||||
<li><code>CONFIG_EXAMPLES_USBSERIAL_TRACEINIT</code>, <code>CONFIG_EXAMPLES_USBSERIAL_TRACECLASS</code>,
|
||||
<code>CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS</code>, <code>CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER</code>,
|
||||
<code>CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS</code>
|
||||
</ul>
|
||||
<p>Console Output:</p>
|
||||
<ul><table>
|
||||
<tr>
|
||||
<td align="center"> </td>
|
||||
<td align="left"><code>ABDE</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"> </td>
|
||||
<td align="left"><code>user_start: Registering USB serial driver</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"> </td>
|
||||
<td align="left"><code>uart_register: Registering /dev/ttyUSB0</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"> </td>
|
||||
<td align="left"><code>user_start: Successfully registered the serial driver</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">1</td>
|
||||
<td align="left"><code>Class API call 1: 0000</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">2</td>
|
||||
<td align="left"><code>Class error: 19:0000</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"> </td>
|
||||
<td align="left"><code>user_start: ERROR: Failed to open /dev/ttyUSB0 for reading: 107</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"> </td>
|
||||
<td align="left"><code>user_start: Not connected. Wait and try again.</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">3</td>
|
||||
<td align="left"><code>Interrupt 1 entry: 0039</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">4</td>
|
||||
<td align="left"><code>Interrupt decode 7: 0019</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">5</td>
|
||||
<td align="left"><code>Interrupt decode 32: 0019</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">6</td>
|
||||
<td align="left"><code>Interrupt decode 6: 0019</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">7</td>
|
||||
<td align="left"><code>Class disconnect(): 0000</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">8</td>
|
||||
<td align="left"><code>Device pullup(): 0001</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">9</td>
|
||||
<td align="left"><code>Interrupt 1 exit: 0000</code></td>
|
||||
</tr>
|
||||
</table></ul>
|
||||
<p>
|
||||
The numbered items are USB USB trace output.
|
||||
You can look in the file <code>drivers/usbdev/usbdev_trprintf.c</code> to see examctly how each output line is formatted.
|
||||
Here is how each line should be interpreted:
|
||||
</p>
|
||||
<ul><table>
|
||||
<tr>
|
||||
<th align="center"> </th>
|
||||
<td align="left">USB EVENT ID</td>
|
||||
<td align="right">8-bit<br>EVENT<br>DATA</td>
|
||||
<td align="left">MEANING</td>
|
||||
<td align="left">16-bit<br>EVENT<br>DATA</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">1</td>
|
||||
<td align="left"><code>TRACE_CLASSAPI_ID</code><sup>1</sup></td>
|
||||
<td align="right">1</td>
|
||||
<td align="left"><code>USBSER_TRACECLASSAPI_SETUP</code><sup>1</sup></td>
|
||||
<td align="left">0000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">2</td>
|
||||
<td align="left"><code>TRACE_CLSERROR_ID</code><sup>1</sup></td>
|
||||
<td align="right">19</td>
|
||||
<td align="left"><code>USBSER_TRACEERR_SETUPNOTCONNECTED</code><sup>1</sup></td>
|
||||
<td align="left">0000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">3</td>
|
||||
<td align="left"><code>TRACE_INTENTRY_ID</code><sup>1</sup></td>
|
||||
<td align="right">1</td>
|
||||
<td align="left"><code>LPC17_TRACEINTID_USB</code><sup>2</sup></td>
|
||||
<td align="left">0039</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">4</td>
|
||||
<td align="left"><code>TRACE_INTDECODE_ID</code><sup>2</sup></td>
|
||||
<td align="right">7</td>
|
||||
<td align="left"><code>LPC17_TRACEINTID_DEVSTAT</code><sup>2</sup></td>
|
||||
<td align="left">0019</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">5</td>
|
||||
<td align="left"><code>TRACE_INTDECODE_ID</code><sup>2</sup></td>
|
||||
<td align="right">32</td>
|
||||
<td align="left"><code>LPC17_TRACEINTID_SUSPENDCHG</code><sup>2</sup></td>
|
||||
<td align="left">0019</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">6</td>
|
||||
<td align="left"><code>TRACE_INTDECODE_ID</code><sup>2</sup></td>
|
||||
<td align="right">6</td>
|
||||
<td align="left"><code>LPC17_TRACEINTID_DEVRESET</code><sup>2</sup></td>
|
||||
<td align="left">0019</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">7</td>
|
||||
<td align="left"><code>TRACE_CLASS_ID</code><sup>1</sup></td>
|
||||
<td align="right">3</td>
|
||||
<td align="left"><code>(See TRACE_CLASSDISCONNECT</code><sup>1</sup>)</td>
|
||||
<td align="left">0000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">8</td>
|
||||
<td align="left"><code>TRACE_DEV_ID</code><sup>1</sup></td>
|
||||
<td align="right">6</td>
|
||||
<td align="left"><code>(See TRACE_DEVPULLUP</code><sup>1</sup>)</td>
|
||||
<td align="left">0001</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">9</td>
|
||||
<td align="left"><code>TRACE_INTEXIT_ID</code><sup>1</sup></td>
|
||||
<td align="right">1</td>
|
||||
<td align="left"><code>LPC17_TRACEINTID_USB</code><sup>2</sup></td>
|
||||
<td align="left">0000</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p><small><b>NOTES</b>:<br>
|
||||
<sup>1</sup>See <code>include/nuttx/usb/usbdev_trace.h</code><br>
|
||||
<sup>2</sup><code>See arch/arm/src/lpc17xx/lpc17_usbdev.c</code>
|
||||
</small></p>
|
||||
</ul>
|
||||
<p>
|
||||
In the above example you can see that:
|
||||
</p>
|
||||
<ul>
|
||||
<li><b>1</b>.
|
||||
The serial class USB setup method was called for the USB serial class.
|
||||
This is the corresponds to the following logic in <code>drivers/usbdev/usbdev_serial.c</code>:
|
||||
<ul><pre>
|
||||
static int usbser_setup(FAR struct uart_dev_s *dev)
|
||||
{
|
||||
...
|
||||
usbtrace(USBSER_CLASSAPI_SETUP, 0);
|
||||
...
|
||||
</pre></ul>
|
||||
</li>
|
||||
<li><b>2</b>.
|
||||
An error occurred while processing the setup command because no configuration has yet been selected by the host.
|
||||
This corresponds to the following logic in <code>drivers/usbdev/usbdev_serial.c</code>:
|
||||
<ul><pre>
|
||||
static int usbser_setup(FAR struct uart_dev_s *dev)
|
||||
{
|
||||
...
|
||||
/* Check if we have been configured */
|
||||
|
||||
if (priv->config == USBSER_CONFIGIDNONE)
|
||||
{
|
||||
usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_SETUPNOTCONNECTED), 0);
|
||||
return -ENOTCONN;
|
||||
}
|
||||
...
|
||||
</pre></ul>
|
||||
<li><b>3-6</b>.
|
||||
Here is a USB interrupt that suspends and resets the device.
|
||||
</li>
|
||||
<li><b>7-8</b>.
|
||||
During the interrupt processing the serial class is disconnected
|
||||
</li>
|
||||
<li><b>9</b>.
|
||||
And the interrupt returns
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
BIN
Documentation/award2_151_50.png
Normal file
BIN
Documentation/award2_151_50.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
BIN
Documentation/editor_pick_2.png
Normal file
BIN
Documentation/editor_pick_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
33
Makefile
33
Makefile
@@ -1,7 +1,7 @@
|
||||
############################################################################
|
||||
# Makefile
|
||||
#
|
||||
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
|
||||
# Copyright (C) 2007-2011 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@@ -61,9 +61,16 @@ BOARD_DIR = configs/$(CONFIG_ARCH_BOARD)
|
||||
|
||||
# Add-on directories. These may or may not be in place in the
|
||||
# NuttX source tree (they must be specifically installed)
|
||||
#
|
||||
# APPS_LOC can be over-ridden from the command line:
|
||||
|
||||
ifeq ($(CONFIG_BUILTIN_APPS_NUTTX),y)
|
||||
APPS_LOC = ../apps
|
||||
APPS_DIR := ${shell if [ -r $(APPS_LOC)/Makefile ]; then echo "$(APPS_LOC)"; fi}
|
||||
endif
|
||||
|
||||
PCODE_DIR := ${shell if [ -r pcode/Makefile ]; then echo "pcode"; fi}
|
||||
ADDON_DIRS := $(PCODE_DIR) $(NX_DIR)
|
||||
ADDON_DIRS := $(PCODE_DIR) $(NX_DIR) $(APPS_DIR)
|
||||
|
||||
# FSDIRS depend on file descriptor support; NONFSDIRS do not
|
||||
# (except for parts of FSDIRS). We will exclude FSDIRS
|
||||
@@ -127,6 +134,18 @@ ifeq ($(CONFIG_HAVE_CXX),y)
|
||||
LINKLIBS += libxx/liblibxx$(LIBEXT)
|
||||
endif
|
||||
|
||||
# Add library for application support
|
||||
# Always compile the framework which includes exec_nuttapp if users
|
||||
# or nuttX applications are to be included.
|
||||
|
||||
ifeq ($(CONFIG_BUILTIN_APPS_NUTTX),y)
|
||||
LINKLIBS += $(APPS_DIR)/libapps$(LIBEXT)
|
||||
else
|
||||
ifeq ($(CONFIG_BUILTIN_APPS_USER),y)
|
||||
LINKLIBS += $(APPS_DIR)/libapps$(LIBEXT)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add libraries for network support
|
||||
|
||||
ifeq ($(CONFIG_NET),y)
|
||||
@@ -249,6 +268,9 @@ fs/libfs$(LIBEXT): context
|
||||
drivers/libdrivers$(LIBEXT): context
|
||||
@$(MAKE) -C drivers TOPDIR="$(TOPDIR)" libdrivers$(LIBEXT)
|
||||
|
||||
$(APPS_DIR)/libapps$(LIBEXT): context
|
||||
@$(MAKE) -C $(APPS_DIR) TOPDIR="$(TOPDIR)" libapps$(LIBEXT)
|
||||
|
||||
binfmt/libbinfmt$(LIBEXT): context
|
||||
@$(MAKE) -C binfmt TOPDIR="$(TOPDIR)" libbinfmt$(LIBEXT)
|
||||
|
||||
@@ -309,6 +331,13 @@ ifeq ($(CONFIG_RAW_BINARY),y)
|
||||
@$(OBJCOPY) $(OBJCOPYARGS) -O binary $(NUTTX)$(EXEEXT) $(NUTTX)$(EXEEXT).bin
|
||||
endif
|
||||
|
||||
# This is a helper target that will rebuild NuttX and download it to the
|
||||
# target system in one step. It will generate an error an error if the
|
||||
# DOWNLOAD command is not defined in platform Make.defs file.
|
||||
|
||||
download: $(BIN)
|
||||
$(call DOWNLOAD, $<)
|
||||
|
||||
depend:
|
||||
@for dir in $(MAKEDIRS) ; do \
|
||||
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" depend ; \
|
||||
|
||||
23
README.txt
23
README.txt
@@ -251,6 +251,11 @@ Below is a guide to the available README files in the NuttX source tree:
|
||||
| | | |-m16c/README.txt
|
||||
| | | |-sh1/README.txt
|
||||
| | | `-README.txt
|
||||
| |- x86/
|
||||
| | |- include/
|
||||
| | | `-README.txt
|
||||
| | `- src/
|
||||
| | `-README.txt
|
||||
| `- z80/
|
||||
| | `- src/
|
||||
| | `- z80/README.txt
|
||||
@@ -281,7 +286,11 @@ Below is a guide to the available README files in the NuttX source tree:
|
||||
| | |- ostest/README.txt
|
||||
| | |- poll/README.txt
|
||||
| | `- README.txt
|
||||
| |- lm3s5965-ek/
|
||||
| |- lm3s6965-ek/
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- lm3s8962-ek/
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
@@ -298,6 +307,8 @@ Below is a guide to the available README files in the NuttX source tree:
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- ne63badge/
|
||||
| | `- README.txt
|
||||
| |- ntosd-dm320/
|
||||
| | |- doc/README.txt
|
||||
| | |- include/README.txt
|
||||
@@ -305,11 +316,10 @@ Below is a guide to the available README files in the NuttX source tree:
|
||||
| | `- README.txt
|
||||
| |- nucleus1g/
|
||||
| | `- README.txt
|
||||
| |- olimex-lpc17xx/
|
||||
| |- olimex-lpc1766stk/
|
||||
| | `- README.txt
|
||||
| |- olimex-lpc2378/
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- olimex-strp711/
|
||||
| | |- include/README.txt
|
||||
@@ -319,6 +329,10 @@ Below is a guide to the available README files in the NuttX source tree:
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- qemu-i486/
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- sam3u-ek/
|
||||
| | `- README.txt
|
||||
| |- sim/
|
||||
@@ -339,6 +353,9 @@ Below is a guide to the available README files in the NuttX source tree:
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- vsn/
|
||||
| | |- src/README.txt
|
||||
| | `- README.txt
|
||||
| |- xtrs/
|
||||
| | |- include/README.txt
|
||||
| | |- src/README.txt
|
||||
|
||||
480
ReleaseNotes
480
ReleaseNotes
File diff suppressed because it is too large
Load Diff
177
TODO
177
TODO
@@ -1,5 +1,5 @@
|
||||
NuttX TODO List (Last updated November 30, 2010)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
NuttX TODO List (Last updated March 8, 2011)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(5) Task/Scheduler (sched/)
|
||||
(1) On-demand paging (sched/)
|
||||
@@ -10,27 +10,27 @@ NuttX TODO List (Last updated November 30, 2010)
|
||||
(5) Binary loaders (binfmt/)
|
||||
(16) Network (net/, drivers/net)
|
||||
(5) Network Utilities (netutils/)
|
||||
(1) USB (drivers/usbdev)
|
||||
(2) USB (drivers/usbdev, drivers/usbhost)
|
||||
(5) Libraries (lib/)
|
||||
(12) File system/Generic drivers (fs/, drivers/)
|
||||
(13) File system/Generic drivers (fs/, drivers/)
|
||||
(2) Graphics subystem (graphics/)
|
||||
(1) Pascal add-on (pcode/)
|
||||
(1) Documentation (Documentation/)
|
||||
(6) Build system / Toolchains
|
||||
(5) Build system / Toolchains
|
||||
(4) NuttShell (NSH) (examples/nsh)
|
||||
(3) Other Applications & Tests (examples/)
|
||||
(5) Linux/Cywgin simulation (arch/sim)
|
||||
(7) Linux/Cywgin simulation (arch/sim)
|
||||
(3) ARM (arch/arm/)
|
||||
(1) ARM/C5471 (arch/arm/src/c5471/)
|
||||
(3) ARM/DM320 (arch/arm/src/dm320/)
|
||||
(2) ARM/i.MX (arch/arm/src/imx/)
|
||||
(4) ARM/LPC17xx (arch/arm/src/lpc17xx/)
|
||||
(3) ARM/LPC17xx (arch/arm/src/lpc17xx/)
|
||||
(7) ARM/LPC214x (arch/arm/src/lpc214x/)
|
||||
(2) ARM/LPC313x (arch/arm/src/lpc313x/)
|
||||
(3) ARM/STR71x (arch/arm/src/str71x/)
|
||||
(4) ARM/LM3S6918 (arch/arm/src/lm3s/)
|
||||
(5) ARM/STM32 (arch/arm/src/stm32/)
|
||||
(4) pjrc-8052 / MCS51 (arch/pjrc-8051/)
|
||||
(4) ARM/STM32 (arch/arm/src/stm32/)
|
||||
(4) 8051 / MCS51 (arch/8051/)
|
||||
(2) Hitachi/Renesas SH-1 (arch/sh/src/sh1)
|
||||
(4) Renesas M16C/26 (arch/sh/src/m16c)
|
||||
(8) z80/z8/ez80 (arch/z80/)
|
||||
@@ -78,15 +78,34 @@ o On-demand paging (sched/)
|
||||
configs/ea3131/pgnsh and locked directories). There are
|
||||
some limitations of this testing so I still cannot say that
|
||||
the feature is fully functional.
|
||||
Status: Open, in work
|
||||
Status: Open
|
||||
Priority: Medium-Low
|
||||
|
||||
o Other core OS logic
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Description: get_environ_ptr() (sched/sched_getenvironptr.c) is not implemented.
|
||||
The representation of the the environment strings selected for
|
||||
NutX is not compatible with the operation. Some significant
|
||||
re-design would be required to implement this funcion and that
|
||||
effort is thought to be not worth the result.
|
||||
Status: Open
|
||||
Priority: Low -- There is no plan to implement this.
|
||||
|
||||
Description: timer_getoverrun() (sched/timer_getoverrun.c) is not implemented.
|
||||
Status: Open
|
||||
Priority: Low -- There is no plan to implement this.
|
||||
|
||||
o Memory Managment (mm/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Description: Add an option to free all memory allocated by a task when the
|
||||
task exits. This is probably not be worth the overhead for a
|
||||
deeply embedded system.
|
||||
There would be complexities with this implementation as well
|
||||
because often one task allocates memory and then passes the
|
||||
memory to another: The task that "owns" the memory may not
|
||||
be the same as the task that allocated the memory.
|
||||
Status: Open
|
||||
Priority: Medium/Low, a good feature to prevent memory leaks but would
|
||||
have negative impact on memory usage and code size.
|
||||
@@ -314,25 +333,13 @@ o Network Utilities (netutils/)
|
||||
Status: Open
|
||||
Priority: Medium
|
||||
|
||||
Description: There are some lingering bugs in THTTPD, possibly race conditions. When debug
|
||||
is enabled, it works. But with debug disabled, there are sometimes
|
||||
mysterious hangs or crashes in the CGI. Of course, this is hard to fix
|
||||
when the problem goes away with debug output enabled (and also since
|
||||
output from the CGI program is re-directed; you can redefine bdbg to
|
||||
be lldbg in include/debug.h to get non-re-directed debug output).
|
||||
Status: Open.
|
||||
UPDATE: I have found that increasing the size of the CGI program stack
|
||||
from 1024 to 2048 (on the LM3S) eliminates the problem. So the most
|
||||
likely cause is probably a stack overflow, not a hard sofware bug.
|
||||
Priority: Probably Low
|
||||
|
||||
Description: If the network is enabled, but THTTPD is not configured, it spews out lots
|
||||
of pointless warnings. This is kind of annoying and unprofessional; needs to
|
||||
be fixed someday.
|
||||
Status: Open. An annoyance, but not a real problem.
|
||||
Priority: Low
|
||||
|
||||
o USB (drivers/usbdev)
|
||||
o USB (drivers/usbdev, drivers/usbhost)
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Description: There is a workaround for a bug in drivers/usbdev/usbdev_storage.c.
|
||||
@@ -340,14 +347,14 @@ o USB (drivers/usbdev)
|
||||
Status: Open
|
||||
Priority: Medium
|
||||
|
||||
Description: drivers/usbhost/usbhost_rtl8187.c is a work in progress. There is no RTL8187
|
||||
driver available yet. That is a work in progress.
|
||||
Status: Open
|
||||
Priority: Low (Unless you need RTL8187 support).
|
||||
|
||||
o Libraries (lib/)
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Description: sscanf() and lib_vsprintf() do not support floating point
|
||||
values.
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Description: The definition of environ in stdlib.h is bogus and will not
|
||||
work as it should. This is because the underlying
|
||||
representation of the environment is not an arry of pointers.
|
||||
@@ -372,6 +379,19 @@ o Libraries (lib/)
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Description: There is an issue with the way that getopt() handles errors that
|
||||
return '?'.
|
||||
|
||||
1. Does getopt() reset its global variables after returning '?' so
|
||||
that it can be re-used? That would be required to support where
|
||||
the caller terminates parsing before reaching the last parameter.
|
||||
2. Or is the client expected to continue parsing after getopt()
|
||||
returns '?' and parse until the final parameter?
|
||||
|
||||
The current getopt() implementation only supports #2.
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
o File system / Generic drivers (fs/, drivers/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -446,6 +466,12 @@ o File system / Generic drivers (fs/, drivers/)
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Description: Time stamping is no implemented in the NuttX FA file system.
|
||||
See the following functions in fs/fat/fs_fat32util.c:
|
||||
fat_systime2fattime() and fat_fattime2systime()
|
||||
Status: Open
|
||||
Priority: Medium
|
||||
|
||||
o Graphics subystem (graphics/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -494,11 +520,6 @@ o Documentation (Documentation/)
|
||||
o Build system
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Description: Some names under arch are still incorrect. These should be
|
||||
processor architecture names: pjrc-8051 should be 805x
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Description: configs/pjrc-8051 should be configs/pjrc-87c52
|
||||
Status: Open
|
||||
Priority: Low
|
||||
@@ -600,9 +621,11 @@ o Linux/Cywgin simulation (arch/sim)
|
||||
See the patch 0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch
|
||||
that can be found at http://tech.groups.yahoo.com/group/nuttx/files.
|
||||
|
||||
Description: I never did get networking to work on the sim target. It tries to
|
||||
use the tap device (/dev/net/tun) to emulate an Ethernet NIC, but I
|
||||
never got it correctly integrated with the NuttX networking.
|
||||
Description: I never did get networking to work on the sim Linux target. On Linux,
|
||||
it tries to use the tap device (/dev/net/tun) to emulate an Ethernet
|
||||
NIC, but I never got it correctly integrated with the NuttX networking.
|
||||
NOTE: On Cygwin, the build uses the Cygwin WPCAP library and is, at
|
||||
least, partially functional (it has never been rigorously tested).
|
||||
Status: Open
|
||||
Priority: Low (unless you want to test networking features on the simulation).
|
||||
|
||||
@@ -614,15 +637,34 @@ o Linux/Cywgin simulation (arch/sim)
|
||||
Status: Open
|
||||
Priority: Low (unless you want to test graphics features on the simulation).
|
||||
|
||||
Description: Since it is not pre-emptible, you can't use round-robin scheduling
|
||||
(no time slicing). Currently, the timer interrupts are "faked"
|
||||
during IDLE loop processing and, as a result, there is no task
|
||||
pre-emption because there are no asynchrous events. This could
|
||||
Description: Since the simulation is not pre-emptible, you can't use round-robin
|
||||
scheduling (no time slicing). Currently, the timer interrupts are
|
||||
"faked" during IDLE loop processing and, as a result, there is no
|
||||
task pre-emption because there are no asynchrous events. This could
|
||||
probably be fixed if the "timer interrupt" were driver by Linux
|
||||
signals. NOTE: You would also have to implement irqsave() and
|
||||
irqrestore() to block and (conditionally) unblock the signal.
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Descripion: The NSH example has some odd behaviors. Mult-tasking -- for example,
|
||||
execution of commands in background -- does not work normally. This
|
||||
is due to the fact that NSH uses the system standard input for the
|
||||
console. This means that the simulation is actually "frozen" all of
|
||||
the time when NSH is waiting for input and background commands never
|
||||
get the chance to run.
|
||||
Status: Open
|
||||
Priority: This will not be fixed. This is the normal behavior in the current
|
||||
design of the simulator. "Real" platforms will behave correctly
|
||||
because NSH will "sleep" when it waits for console inpu and other
|
||||
tasks can run freely.
|
||||
|
||||
Description: In the NSH example, the host HOST echoes each command so after you
|
||||
you enter a command, the command is repeated on the next line. This
|
||||
is an artifact of the simulator only.
|
||||
Status: Open
|
||||
Priority: This will not be fixed. This is the normal behavior in the current
|
||||
design of the simulator. "Real" platforms will behave correctly.
|
||||
|
||||
o ARM (arch/arm/)
|
||||
^^^^^^^^^^^^^^^
|
||||
@@ -643,7 +685,7 @@ o ARM (arch/arm/)
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Description: The Cortex-M3 user context swich logic uses SVCall instructions.
|
||||
Description: The Cortex-M3 user context switch logic uses SVCall instructions.
|
||||
This user context switching time could be improved by eliminating
|
||||
the SVCalls and developing assembly language implementations
|
||||
of the context save and restore logic.
|
||||
@@ -699,23 +741,6 @@ o ARM/i.MX (arch/arm/src/imx/)
|
||||
o ARM/LPC17xx (arch/arm/src/lpc17xx/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Description: If debug is enabled so that there is a lot of early serial console output,
|
||||
The serial console output may be garbled initially. If this becomes a
|
||||
problem during debug, I've found that just putting a delaying at the
|
||||
beginning of os_start() (sched/os_start.c) eliminates the garbled output.
|
||||
Status: Open
|
||||
Priority: Low, only effects debug and there is a workaround
|
||||
|
||||
Description: Due to some connector/cabling issues using the Nucleus2g, a couple of
|
||||
important features have not yet been tested: The microSD card and
|
||||
USB (device). These features are fully implemented and partially
|
||||
tested, but not fully verified.
|
||||
UPDATE: The SPI-based microSD interface has been verified on the
|
||||
Olimex-LPC1766-STK board. The USB driver is not functional on either
|
||||
board. The problem: no interrupts when host connected.
|
||||
Status: Open
|
||||
Priority: High
|
||||
|
||||
Description: USB DMA not fully implemented. Partial logic is in place but it is
|
||||
fragmentary and bogus. (Leveraged from the lpc214x)
|
||||
Status: Open
|
||||
@@ -732,6 +757,12 @@ o ARM/LPC17xx (arch/arm/src/lpc17xx/)
|
||||
Status: Open
|
||||
Priority: Medium
|
||||
|
||||
Description: An LCD driver for the Olimex LPC1766STK has been developed. However, that
|
||||
driver is not yet functional on the board: The backlight comes on, but
|
||||
nothing is visible on the display.
|
||||
Status: Open
|
||||
Priority: Medium-Low (unless you need the display on the LPC1766STK!)
|
||||
|
||||
o ARM/LPC214x (arch/arm/src/lpc214x/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -770,14 +801,18 @@ o ARM/LPC214x (arch/arm/src/lpc214x/)
|
||||
Desription: I am unable to initialize a 2Gb SanDisk microSD card (in adaptor) on the
|
||||
the mcu123 board. The card fails to accept CMD0. Doesn't seem like a software
|
||||
issue, but if anyone else sees the problem, I'd like to know.
|
||||
Related: Fixes were recently made for the SDIO-based MMC/SD driver to
|
||||
support 2Gb cards -- the blocksize was forced to 512 in all cases. The SPI-
|
||||
based driver may also have this problem (but I don't think this would have
|
||||
andything to do with CMD0).
|
||||
Status: Open
|
||||
Priority: Uncertain
|
||||
|
||||
Description: Possible errors in USB device driver reported "I suspect there<EFBFBD>s a few
|
||||
issues in the lpc214x USB driver <EFBFBD> in particular it doesn<EFBFBD>t stall both
|
||||
in/out endpoints for unsupported setup requests and it doesn<EFBFBD>t call
|
||||
CLASS_DISCONNCET on a USB reset <EFBFBD> I don<EFBFBD>t have any access to that hardware
|
||||
so can<EFBFBD>t pursue it really."
|
||||
Description: Possible errors in USB device driver reported "I suspect there's a few
|
||||
issues in the lpc214x USB driver - in particular it doesn't stall both
|
||||
in/out endpoints for unsupported setup requests and it doesn't call
|
||||
CLASS_DISCONNCET on a USB reset - I don't have any access to that hardware
|
||||
so can't pursue it really."
|
||||
Status: Open
|
||||
Priority: Medium
|
||||
|
||||
@@ -887,16 +922,8 @@ o ARM/STM32 (arch/arm/src/stm32/)
|
||||
Priority: Low until someone needs DMA1, Channel 5 (ADC3, UART4_TX, TIM5_CH1, or
|
||||
TIM8_CH2).
|
||||
|
||||
Desription: I am unable to access a 2Gb SanDisk microSD card (in adaptor) on the
|
||||
the STM3210E-EVAL board. The card reports that it is a SDV1.x card
|
||||
with a 1Kb block size, but the CMD16 to set the block length to
|
||||
1024 fails.
|
||||
Status: Open
|
||||
Priority: Uncertain. I don't this is a bug, I think I just don't understand
|
||||
how to work with this type of SD card.
|
||||
|
||||
o pjrc-8052 / MCS51 (arch/pjrc-8051/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
o 8051 / MCS51 (arch/8051/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Description: Current status:
|
||||
- Basic OS task management seems OK
|
||||
@@ -1024,8 +1051,8 @@ o z80/z8/ez80 (arch/z80)
|
||||
I have found the following workaround that I use to build for the
|
||||
time being:
|
||||
|
||||
--- mm/mm_initialize.c.SAVE 2008-02-13 08:06:46.833857700 -0600
|
||||
+++ mm/mm_initialize.c 2008-02-13 08:07:26.367608900 -0600
|
||||
--- mm/mm_initialize.c.SAVE 2008-02-13 08:06:46.833857700 -0600
|
||||
+++ mm/mm_initialize.c 2008-02-13 08:07:26.367608900 -0600
|
||||
@@ -94,8 +94,11 @@
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/************************************************************
|
||||
* arch/pjrc-8051/include/limits.h
|
||||
* arch/8051/include/limits.h
|
||||
*
|
||||
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -33,8 +33,8 @@
|
||||
*
|
||||
************************************************************/
|
||||
|
||||
#ifndef __ARCH_PJRC8051_INCLUDE_LIMITS_H
|
||||
#define __ARCH_PJRC8051_INCLUDE_LIMITS_H
|
||||
#ifndef __ARCH_8051_INCLUDE_LIMITS_H
|
||||
#define __ARCH_8051_INCLUDE_LIMITS_H
|
||||
|
||||
/************************************************************
|
||||
* Included Files
|
||||
@@ -76,4 +76,4 @@
|
||||
#define PTR_MAX 0x7fffff
|
||||
#define UPTR_MAX 0xffffff
|
||||
|
||||
#endif /* __ARCH_PJRC8051_INCLUDE_LIMITS_H */
|
||||
#endif /* __ARCH_8051_INCLUDE_LIMITS_H */
|
||||
@@ -1,7 +1,7 @@
|
||||
/************************************************************************
|
||||
* arch/pjrc-8051/include/types.h
|
||||
* arch/8051/include/types.h
|
||||
*
|
||||
* Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -37,8 +37,8 @@
|
||||
* only indirectly through sys/types.h
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_PJRC8051_INCLUDE_TYPES_H
|
||||
#define __ARCH_PJRC8051_INCLUDE_TYPES_H
|
||||
#ifndef __ARCH_8051_INCLUDE_TYPES_H
|
||||
#define __ARCH_8051_INCLUDE_TYPES_H
|
||||
|
||||
/************************************************************************
|
||||
* Included Files
|
||||
@@ -95,4 +95,4 @@ typedef unsigned char irqstate_t;
|
||||
* Global Function Prototypes
|
||||
************************************************************************/
|
||||
|
||||
#endif /* __ARCH_PJRC8051_INCLUDE_TYPES_H */
|
||||
#endif /* __ARCH_8051_INCLUDE_TYPES_H */
|
||||
@@ -1,7 +1,7 @@
|
||||
############################################################################
|
||||
# arch/pjrc-8051/src/Makefile
|
||||
# arch/8051/src/Makefile
|
||||
#
|
||||
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
|
||||
# Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
123
arch/README.txt
123
arch/README.txt
@@ -50,20 +50,20 @@ subdirectory). Each architecture must provide a subdirectory <arch-name>
|
||||
under arch/ with the following characteristics:
|
||||
|
||||
|
||||
<arch-name>/
|
||||
|-- include/
|
||||
| |--<chip-name>/
|
||||
| | `-- (chip-specific header files)
|
||||
| |--<other-chips>/
|
||||
| |-- arch.h
|
||||
| |-- irq.h
|
||||
| `-- types.h
|
||||
`-- src/
|
||||
|--<chip-name>/
|
||||
| `-- (chip-specific source files)
|
||||
|--<other-chips>/
|
||||
|-- Makefile
|
||||
`-- (architecture-specific source files)
|
||||
<arch-name>/
|
||||
|-- include/
|
||||
| |--<chip-name>/
|
||||
| | `-- (chip-specific header files)
|
||||
| |--<other-chips>/
|
||||
| |-- arch.h
|
||||
| |-- irq.h
|
||||
| `-- types.h
|
||||
`-- src/
|
||||
|--<chip-name>/
|
||||
| `-- (chip-specific source files)
|
||||
|--<other-chips>/
|
||||
|-- Makefile
|
||||
`-- (architecture-specific source files)
|
||||
|
||||
Summary of Files
|
||||
^^^^^^^^^^^^^^^^
|
||||
@@ -158,10 +158,10 @@ arch/arm - ARM-based micro-controllers
|
||||
complete, verified, and included in the NuttX release 0.2.1.
|
||||
|
||||
arch/arm/include/imx and arch/arm/src/imx
|
||||
Freescale MC9328MX1 or i.MX1. This port uses the Freescale MX1ADS
|
||||
development board with a GNU arm-elf toolchain* under either Linux or Cygwin.
|
||||
STATUS: This port has stalled because of development tool issues. Coding
|
||||
is complete on the basic port (timer, serial console, SPI).
|
||||
Freescale MC9328MX1 or i.MX1. This port uses the Freescale MX1ADS
|
||||
development board with a GNU arm-elf toolchain* under either Linux or Cygwin.
|
||||
STATUS: This port has stalled because of development tool issues. Coding
|
||||
is complete on the basic port (timer, serial console, SPI).
|
||||
|
||||
arch/arm/include/lm3s and arch/arm/src/lm3s
|
||||
These directories contain support for the Luminary LMS family, particularly
|
||||
@@ -178,43 +178,43 @@ arch/arm - ARM-based micro-controllers
|
||||
support. A verifed NuttShell (NSH) configuration is also available.
|
||||
|
||||
arch/arm/include/lpc2378 and arch/arm/src/lpc2378.
|
||||
NXP LPC2378. Support is provided for the NXP LPC2378 MCU. This port was
|
||||
contributed by Rommel Marcelo is was first released in NuttX-5.3.
|
||||
STATUS: This port boots and passes the OS test (examples/ostest) and
|
||||
includes a working implementation of the NuttShell (NSH). The port is
|
||||
complete and verified. As of NuttX 5.3, the port includes only basic
|
||||
timer interrupts and serial console support.
|
||||
NXP LPC2378. Support is provided for the NXP LPC2378 MCU. This port was
|
||||
contributed by Rommel Marcelo is was first released in NuttX-5.3.
|
||||
STATUS: This port boots and passes the OS test (examples/ostest) and
|
||||
includes a working implementation of the NuttShell (NSH). The port is
|
||||
complete and verified. As of NuttX 5.3, the port includes only basic
|
||||
timer interrupts and serial console support.
|
||||
|
||||
arch/arm/include/lpc313x and arch/arm/src/lpc313x
|
||||
These directories provide support for NXP LPC313x family of
|
||||
ARM926EJ-S processors. The port for the NXP LPC3131 was first
|
||||
released in NuttX-5.1 (but was not functional until NuttX-5.2).
|
||||
STATUS: The basic EA3131 port is complete and verified in NuttX-5.2
|
||||
This basic port includes basic boot-up, serial console, and timer
|
||||
interrupts. This port was extended in NuttX 5.3 with a USB high
|
||||
speed driver contributed by David Hewson. This port has been
|
||||
verified using the NuttX OS test, USB serial and mass storage tests
|
||||
and includes a working implementation of the NuttShell ((NSH)).
|
||||
released in NuttX-5.1 (but was not functional until NuttX-5.2).
|
||||
STATUS: The basic EA3131 port is complete and verified in NuttX-5.2
|
||||
This basic port includes basic boot-up, serial console, and timer
|
||||
interrupts. This port was extended in NuttX 5.3 with a USB high
|
||||
speed driver contributed by David Hewson. This port has been
|
||||
verified using the NuttX OS test, USB serial and mass storage tests
|
||||
and includes a working implementation of the NuttShell ((NSH)).
|
||||
|
||||
arch/arm/include/sam3u and arch/arm/src/sam3u
|
||||
Atmel AT91SAM3U. This port is for Atmel AT91SAM3U4E MCU.
|
||||
STATUS: The basic AT91SAM3U port was released in NuttX version 5.1.
|
||||
The basic port includes boot-up logic, interrupt driven serial
|
||||
console, and system timer interrupts. That release passes the
|
||||
NuttX OS test and is proven to have a valid OS implementation. A
|
||||
onfiguration to support the NuttShell is also included.
|
||||
Atmel AT91SAM3U. This port is for Atmel AT91SAM3U4E MCU.
|
||||
STATUS: The basic AT91SAM3U port was released in NuttX version 5.1.
|
||||
The basic port includes boot-up logic, interrupt driven serial
|
||||
console, and system timer interrupts. That release passes the
|
||||
NuttX OS test and is proven to have a valid OS implementation. A
|
||||
onfiguration to support the NuttShell is also included.
|
||||
|
||||
arch/arm/include/stm32 and arch/arm/src/stm32
|
||||
These directories contain support for the STMicro STM32 family, particularly
|
||||
for the STM32F103ZET6.
|
||||
STATUS: The basic STM32 port was released in NuttX version 0.4.12.
|
||||
The basic port includes boot-up logic, interrupt driven serial console,
|
||||
and system timer interrupts. The 0.4.13 release added support for SPI,
|
||||
serial FLASH, and USB device.; The 4.14 release added support for
|
||||
buttons and SDIO-based MMC/SD and verifed DMA support. Verified
|
||||
configurations are available for NuttX OS test, the NuttShell (NSH)
|
||||
example, the USB serial device class, and the USB mass storage device
|
||||
lass example.
|
||||
These directories contain support for the STMicro STM32 family, particularly
|
||||
for the STM32F103ZET6.
|
||||
STATUS: The basic STM32 port was released in NuttX version 0.4.12.
|
||||
The basic port includes boot-up logic, interrupt driven serial console,
|
||||
and system timer interrupts. The 0.4.13 release added support for SPI,
|
||||
serial FLASH, and USB device.; The 4.14 release added support for
|
||||
buttons and SDIO-based MMC/SD and verifed DMA support. Verified
|
||||
configurations are available for NuttX OS test, the NuttShell (NSH)
|
||||
example, the USB serial device class, and the USB mass storage device
|
||||
lass example.
|
||||
|
||||
arch/arm/include/str71x and arch/arm/src/str71x
|
||||
These directories provide support for the STMicro STR71x processors.
|
||||
@@ -236,14 +236,15 @@ arch/avr
|
||||
arch/hc
|
||||
This directory is dedicated to ports to the Freescale HC family.
|
||||
|
||||
arch/arm/include/hcs12 and arch/arm/src/hcs12
|
||||
These directories provide support for the Freescale m68hcs12 family.
|
||||
STATUS: Fragments of this port were released in nuttx-5.0, but porting effort
|
||||
has been stalled because of higher priority tasks.
|
||||
arch/arm/include/m9s12 and arch/arm/src/m9s12
|
||||
These directories provide support for the Freescale mc9s12x family.
|
||||
STATUS: Fragments of this port were first released in nuttx-5.0 and
|
||||
the port was "code-complete" as nuttx-5.18. However, the final
|
||||
verification effort has been stalled because of higher priority tasks.
|
||||
|
||||
arch/m68322
|
||||
A work in progress.
|
||||
STATUS: Stalled for the moment.
|
||||
STATUS: Stalled for the time being.
|
||||
|
||||
arch/sh - SuperH and related Hitachi/Renesas microcontrollers
|
||||
|
||||
@@ -253,9 +254,25 @@ arch/sh - SuperH and related Hitachi/Renesas microcontrollers
|
||||
arch/sh/include/shs and arch/sh/src/sh1
|
||||
Support for the SH-1 processor.
|
||||
|
||||
arch/pjrc-8051 - 8051/52 microcontrollers
|
||||
arch/8051 - 8051/52 microcontrollers
|
||||
8051 Microcontroller. This port is not quite ready for prime time.
|
||||
|
||||
arch/x86 - Intel x86 architectures
|
||||
This directory holds related, 32- and 64-bit architectures from Intel.
|
||||
At present, this includes the following subdirectories:
|
||||
|
||||
arch/x86/include and arch/x86/src/common
|
||||
Common x86 logic.
|
||||
|
||||
arch/x86/include/i486 and arch/x86/src/i486
|
||||
These directories hold definitions and logic appropriate for any
|
||||
instantiation of the 32-bit i486 architecture.
|
||||
|
||||
arch/x86/include/qemu and arch/x86/src/qemu
|
||||
This is the implementation of NuttX on the QEMU x86 simulation.
|
||||
|
||||
STATUS: This is a work in progress and not yet ready for prime time.
|
||||
|
||||
arch/z16 - ZiLOG 16-bit processors
|
||||
This directory holds related, 16-bit architectures from ZiLOG. At
|
||||
present, this includes the following subdirectories:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/arm/include/irq.h
|
||||
*
|
||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#include <arch/chip/irq.h>
|
||||
|
||||
/* Include ARM architectgure-specific IRQ definitions (including register
|
||||
/* Include ARM architecture-specific IRQ definitions (including register
|
||||
* save structure and irqsave()/irqrestore() macros
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/arm/include/serial.h
|
||||
*
|
||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -41,17 +41,12 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <nuttx/ioctl.h>
|
||||
|
||||
/****************************************************************************
|
||||
* Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* IOCTL commands supported by the ARM serial driver */
|
||||
|
||||
#define TIOCSBRK 0x5401 /* BSD compatibility */
|
||||
#define TIOCCBRK 0x5402 /* " " " " */
|
||||
#define TIOCSERGSTRUCT 0x5403 /* Get up_dev_t for port */
|
||||
|
||||
/****************************************************************************
|
||||
* Public Data
|
||||
****************************************************************************/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/arm/include/watchdog.h
|
||||
*
|
||||
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -40,14 +40,12 @@
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/ioctl.h>
|
||||
|
||||
/****************************************************************************
|
||||
* Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* IOCTL commands supported by the C5471 watchdog driver */
|
||||
|
||||
#define WDIOC_KEEPALIVE 0x5701 /* Restart the watchdog timer */
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
****************************************************************************/
|
||||
|
||||
@@ -109,18 +109,18 @@ int up_create_stack(_TCB *tcb, size_t stack_size)
|
||||
size_t size_of_stack;
|
||||
|
||||
/* The ARM uses a push-down stack: the stack grows
|
||||
* toward loweraddresses in memory. The stack pointer
|
||||
* register, points to the lowest, valid work address
|
||||
* (the "top" of the stack). Items on the stack are
|
||||
* referenced as positive word offsets from sp.
|
||||
*/
|
||||
* toward loweraddresses in memory. The stack pointer
|
||||
* register, points to the lowest, valid work address
|
||||
* (the "top" of the stack). Items on the stack are
|
||||
* referenced as positive word offsets from sp.
|
||||
*/
|
||||
|
||||
top_of_stack = (uint32_t)tcb->stack_alloc_ptr + stack_size - 4;
|
||||
|
||||
/* The ARM stack must be aligned at word (4 byte)
|
||||
* boundaries. If necessary top_of_stack must be rounded
|
||||
* down to the next boundary
|
||||
*/
|
||||
* boundaries. If necessary top_of_stack must be rounded
|
||||
* down to the next boundary
|
||||
*/
|
||||
|
||||
top_of_stack &= ~3;
|
||||
size_of_stack = top_of_stack - (uint32_t)tcb->stack_alloc_ptr + 4;
|
||||
|
||||
86
arch/arm/src/common/up_etherstub.c
Executable file
86
arch/arm/src/common/up_etherstub.c
Executable file
@@ -0,0 +1,86 @@
|
||||
/****************************************************************************
|
||||
* arch/arm/src/common/up_etherstub.c
|
||||
*
|
||||
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Data
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_netinitialize (stub)
|
||||
*
|
||||
* Description:
|
||||
* This is a stub version os up_netinitialize. Normally, up_netinitialize
|
||||
* is defined in board/up_network.c for board-specific ethernet
|
||||
* implementations, or chip/xyx_ethernet.c for chip-specific ethernet
|
||||
* implementations. The stub version here is used in the cornercase where
|
||||
* the network is enable yet there is no ethernet driver to be initialized.
|
||||
* In this case, up_initialize will still try to call up_netinitialize()
|
||||
* when one does not exist. This cornercase would occur if, for example,
|
||||
* only a USB network interface is being used or perhaps if a SLIP is
|
||||
* being used).
|
||||
*
|
||||
* In the long run, it might be better to have some kind of CONFIG_NO_ETHERNET
|
||||
* to suppress the call to up_netinitialize() in up_initialize(). Then
|
||||
* this stub would not be needed.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_netinitialize(void)
|
||||
{
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/arm/src/common/up_idle.c
|
||||
*
|
||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -62,26 +62,30 @@
|
||||
* Name: up_idle
|
||||
*
|
||||
* Description:
|
||||
* up_idle() is the logic that will be executed when their
|
||||
* is no other ready-to-run task. This is processor idle
|
||||
* time and will continue until some interrupt occurs to
|
||||
* cause a context switch from the idle task.
|
||||
* up_idle() is the logic that will be executed when their is no other
|
||||
* ready-to-run task. This is processor idle time and will continue until
|
||||
* some interrupt occurs to cause a context switch from the idle task.
|
||||
*
|
||||
* Processing in this state may be processor-specific. e.g.,
|
||||
* this is where power management operations might be
|
||||
* performed.
|
||||
* Processing in this state may be processor-specific. e.g., this is where
|
||||
* power management operations might be performed.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_idle(void)
|
||||
{
|
||||
#if defined(CONFIG_SUPPRESS_INTERRUPTS) || defined(CONFIG_SUPPRESS_TIMER_INTS)
|
||||
/* If the system is idle and there are no timer interrupts,
|
||||
* then process "fake" timer interrupts. Hopefully, something
|
||||
* will wake up.
|
||||
/* If the system is idle and there are no timer interrupts, then process
|
||||
* "fake" timer interrupts. Hopefully, something will wake up.
|
||||
*/
|
||||
|
||||
sched_process_timer();
|
||||
#else
|
||||
|
||||
/* Sleep until an interrupt occurs to save power */
|
||||
|
||||
#if 0
|
||||
asm("WFI"); /* For example */
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* common/up_internal.h
|
||||
*
|
||||
* Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -259,7 +259,11 @@ extern void up_ledoff(int led);
|
||||
# define up_ledoff(led)
|
||||
#endif
|
||||
|
||||
/* Defined in board/up_network.c */
|
||||
/* Defined in board/up_network.c for board-specific ethernet implementations,
|
||||
* or chip/xyx_ethernet.c for chip-specific ethernet implementations, or
|
||||
* common/up_etherstub.c for a cornercase where the network is enable yet
|
||||
* there is no ethernet driver to be initialized.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_NET
|
||||
extern void up_netinitialize(void);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/src/dm320/dm320_boot.c
|
||||
*
|
||||
* Copyright (C) 2007, 2009-2010 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007, 2009-2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user