Compare commits

..

122 Commits

Author SHA1 Message Date
patacongo
6ea1e6bceb Prep for 5.19 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3373 42af7a65-404d-4744-a932-0658087f49c3
2011-03-12 22:09:14 +00:00
patacongo
0f7afd2932 More apps/ related changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3372 42af7a65-404d-4744-a932-0658087f49c3
2011-03-12 17:49:47 +00:00
patacongo
f0d143ee29 Add SLIP test configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3371 42af7a65-404d-4744-a932-0658087f49c3
2011-03-12 16:33:55 +00:00
patacongo
1ead79b6d5 More support for SLIP data link protocol
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3370 42af7a65-404d-4744-a932-0658087f49c3
2011-03-12 15:36:28 +00:00
patacongo
78e999dff1 Add SLIP driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3369 42af7a65-404d-4744-a932-0658087f49c3
2011-03-12 03:42:08 +00:00
patacongo
93cf78af8b Add a stub that can be used when networking is enabled, but there is no ethernet driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3368 42af7a65-404d-4744-a932-0658087f49c3
2011-03-11 23:35:36 +00:00
patacongo
f69bf78abb Fix nsh/apps bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3367 42af7a65-404d-4744-a932-0658087f49c3
2011-03-11 20:16:17 +00:00
patacongo
20821d6f75 More apps/ updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3366 42af7a65-404d-4744-a932-0658087f49c3
2011-03-11 17:37:41 +00:00
patacongo
2d69ae5530 Correct error introduced in last check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3365 42af7a65-404d-4744-a932-0658087f49c3
2011-03-11 14:24:21 +00:00
patacongo
0aaf5df60d apps/-related updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3364 42af7a65-404d-4744-a932-0658087f49c3
2011-03-11 12:36:30 +00:00
patacongo
21757e7349 enable/disable IRQ backward
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3363 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 23:37:45 +00:00
patacongo
7380b9b062 Restructure interrupt/timer logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3362 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 22:16:05 +00:00
patacongo
f5e796e604 Fix QEMU context switch bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3361 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 18:38:37 +00:00
patacongo
b95aee0348 add apps/ dir
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3360 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 14:42:28 +00:00
patacongo
8b26af1f4f Experimental version of waitpid()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3359 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 14:00:04 +00:00
patacongo
a3c96a8df6 Add QEMU NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3358 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 04:13:44 +00:00
patacongo
046aa70b2a Fix basic QEMU port
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3357 42af7a65-404d-4744-a932-0658087f49c3
2011-03-10 00:58:10 +00:00
patacongo
91f3674d8f RTL8187 driver update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3356 42af7a65-404d-4744-a932-0658087f49c3
2011-03-09 12:59:00 +00:00
patacongo
1b91975e30 #warning removal
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3355 42af7a65-404d-4744-a932-0658087f49c3
2011-03-09 03:41:34 +00:00
patacongo
a60051cb30 Some VSN changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3354 42af7a65-404d-4744-a932-0658087f49c3
2011-03-09 02:44:30 +00:00
patacongo
8c4356ac9d Fix fullcontextrestore bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3353 42af7a65-404d-4744-a932-0658087f49c3
2011-03-09 02:04:45 +00:00
patacongo
0e185156e6 Remove Cygwin dependencies from .S files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3352 42af7a65-404d-4744-a932-0658087f49c3
2011-03-08 02:37:41 +00:00
patacongo
78f93cf4c7 misc QEMU fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3351 42af7a65-404d-4744-a932-0658087f49c3
2011-03-08 01:24:42 +00:00
patacongo
1b8399445b Add support for platoform specific ROMFS startup files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3350 42af7a65-404d-4744-a932-0658087f49c3
2011-03-08 00:27:35 +00:00
patacongo
3794cea45d Add i486 toolchain support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3349 42af7a65-404d-4744-a932-0658087f49c3
2011-03-07 02:53:37 +00:00
patacongo
a24491d9a5 Cosmetics updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3348 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 23:32:47 +00:00
patacongo
11fcce1db9 Add support for RAMTRON NVRAM devices
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3347 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 15:39:02 +00:00
patacongo
40a804582e RTL driver update (still in progress)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3346 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 13:55:20 +00:00
patacongo
22b6b6cbc2 Fix QEMU build target name
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3345 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 03:32:15 +00:00
patacongo
9f28177d4d Correct a loop termination bug in mmcsd_sdio.c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3344 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 00:56:26 +00:00
patacongo
0443335a11 Correct STM32 SPI3 bug reported by Uros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3343 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 00:19:59 +00:00
patacongo
aa147f7c1d QEMU i486 port is code complete
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3342 42af7a65-404d-4744-a932-0658087f49c3
2011-03-06 00:08:40 +00:00
patacongo
2f5a41f8c7 Add a stub for the QEMU serial driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3341 42af7a65-404d-4744-a932-0658087f49c3
2011-03-05 20:05:01 +00:00
patacongo
9165a6a89f Completes port of interrpt handling logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3340 42af7a65-404d-4744-a932-0658087f49c3
2011-03-05 19:28:59 +00:00
patacongo
6cf4b94339 Add QEMU interrupt handling (incomplete)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3339 42af7a65-404d-4744-a932-0658087f49c3
2011-03-05 16:04:24 +00:00
patacongo
70ae64270f Add task init and signal scheduling logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3338 42af7a65-404d-4744-a932-0658087f49c3
2011-03-05 01:56:44 +00:00
patacongo
9be29027de More QEMU logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3337 42af7a65-404d-4744-a932-0658087f49c3
2011-03-05 00:01:21 +00:00
patacongo
7caab4ea49 First cut at x86 build environment
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3336 42af7a65-404d-4744-a932-0658087f49c3
2011-03-04 22:25:03 +00:00
patacongo
3debf5b8dc SDIO-based MMC/SD fixes from Uros Platise
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3335 42af7a65-404d-4744-a932-0658087f49c3
2011-03-04 16:24:51 +00:00
patacongo
f81d416b37 SDIO-based MMC/SD fixes from Uros Platise
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3334 42af7a65-404d-4744-a932-0658087f49c3
2011-03-04 13:14:04 +00:00
patacongo
99a0f819cd typos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3333 42af7a65-404d-4744-a932-0658087f49c3
2011-03-03 23:15:50 +00:00
patacongo
14394b5eb6 Changes for clean STM32 compile with DEBUG on
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3332 42af7a65-404d-4744-a932-0658087f49c3
2011-03-02 22:49:59 +00:00
patacongo
21dc6172b5 Port the mm/mm_test.c logic to examples/mm
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3331 42af7a65-404d-4744-a932-0658087f49c3
2011-03-02 19:35:51 +00:00
patacongo
e97118d258 Port the mm/mm_test.c logic to examples/mm
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3330 42af7a65-404d-4744-a932-0658087f49c3
2011-03-02 18:47:32 +00:00
patacongo
b046262a87 Add logic to sleep in lpc17xx idle loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3329 42af7a65-404d-4744-a932-0658087f49c3
2011-03-02 14:43:28 +00:00
patacongo
998f4e2dea Fix and clarity 'kill' documentation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3328 42af7a65-404d-4744-a932-0658087f49c3
2011-03-02 00:47:12 +00:00
patacongo
fefe839818 Fix pipe/fifo open logic: semaphore wait in open() must abort if a signal is received
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3327 42af7a65-404d-4744-a932-0658087f49c3
2011-03-02 00:33:42 +00:00
patacongo
8e96987058 Fix NSH redirection hang
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3326 42af7a65-404d-4744-a932-0658087f49c3
2011-03-01 02:32:50 +00:00
patacongo
5672afedbd Rename NSH mem command to free
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3325 42af7a65-404d-4744-a932-0658087f49c3
2011-02-28 12:48:23 +00:00
patacongo
5251124755 Special IDLE for STM32 will execut WFI to sleep until an interrupt occurs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3324 42af7a65-404d-4744-a932-0658087f49c3
2011-02-27 21:27:20 +00:00
patacongo
c615c62e94 cat and cp need to exit if a signal is recieved
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3323 42af7a65-404d-4744-a932-0658087f49c3
2011-02-27 18:28:49 +00:00
patacongo
2bd446832b Add NSH kill command
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3322 42af7a65-404d-4744-a932-0658087f49c3
2011-02-27 17:26:06 +00:00
patacongo
2586abc3b4 Add support for the ISOTEL NetClamps VSN board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3321 42af7a65-404d-4744-a932-0658087f49c3
2011-02-27 15:42:07 +00:00
patacongo
dfae1ba93e Correcting banked vs. non-banked issues (there are more)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3320 42af7a65-404d-4744-a932-0658087f49c3
2011-02-26 22:29:46 +00:00
patacongo
8025153209 Correct several m9s12x link issues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3319 42af7a65-404d-4744-a932-0658087f49c3
2011-02-26 18:58:45 +00:00
patacongo
9682eb05dd Finish m9s12 GPIO support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3318 42af7a65-404d-4744-a932-0658087f49c3
2011-02-26 16:55:39 +00:00
patacongo
97806609b4 Add beginning of m9s12x GPIO support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3317 42af7a65-404d-4744-a932-0658087f49c3
2011-02-25 23:05:37 +00:00
patacongo
807c807b6b Add configuration for Future Electronics Group NE64 Badge board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3316 42af7a65-404d-4744-a932-0658087f49c3
2011-02-25 18:46:06 +00:00
patacongo
ab227a8ef6 Rename arch/pjrc-8051 to arch/8051
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3315 42af7a65-404d-4744-a932-0658087f49c3
2011-02-25 00:00:04 +00:00
patacongo
6ac240a7eb Add missing RGB type
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3314 42af7a65-404d-4744-a932-0658087f49c3
2011-02-24 00:52:51 +00:00
patacongo
89e4925a46 Fix potential memory leak
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3313 42af7a65-404d-4744-a932-0658087f49c3
2011-02-23 12:28:55 +00:00
patacongo
5e523ebd93 Fix potential memory leak
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3312 42af7a65-404d-4744-a932-0658087f49c3
2011-02-23 12:09:09 +00:00
patacongo
7ff5349649 Back out last change; correct fix is in NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3311 42af7a65-404d-4744-a932-0658087f49c3
2011-02-23 03:17:29 +00:00
patacongo
ab9715b9c6 Fix getopt bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3310 42af7a65-404d-4744-a932-0658087f49c3
2011-02-23 02:08:33 +00:00
patacongo
2805c4beab Call call to low-level UART initialization logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3309 42af7a65-404d-4744-a932-0658087f49c3
2011-02-22 02:26:15 +00:00
patacongo
69e0c0ebe6 Finish m9s12x interrupt logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3307 42af7a65-404d-4744-a932-0658087f49c3
2011-02-20 19:47:40 +00:00
patacongo
b88f6027d2 Flesh out m8s12 serial driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3306 42af7a65-404d-4744-a932-0658087f49c3
2011-02-20 17:49:58 +00:00
patacongo
5a52fca179 Add m9s12 serial logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3305 42af7a65-404d-4744-a932-0658087f49c3
2011-02-20 15:19:44 +00:00
patacongo
2814d4dd8c Add HuT Usage Pages and IDs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3304 42af7a65-404d-4744-a932-0658087f49c3
2011-02-20 00:08:11 +00:00
patacongo
a86934e351 Add HID parser from LUFA
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3303 42af7a65-404d-4744-a932-0658087f49c3
2011-02-19 23:07:58 +00:00
patacongo
9f1ae482d9 Add more m9s12 files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3302 42af7a65-404d-4744-a932-0658087f49c3
2011-02-19 02:39:25 +00:00
patacongo
a253691821 Add standard context switching functions for m9s12
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3301 42af7a65-404d-4744-a932-0658087f49c3
2011-02-18 01:37:58 +00:00
patacongo
2a570434fc More context switching logic for m9s12
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3300 42af7a65-404d-4744-a932-0658087f49c3
2011-02-18 01:28:35 +00:00
patacongo
1e7890b0f8 More m9s12x stuff
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3299 42af7a65-404d-4744-a932-0658087f49c3
2011-02-17 02:12:14 +00:00
patacongo
5e1e70fdbb m9s12x context save structure
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3298 42af7a65-404d-4744-a932-0658087f49c3
2011-02-16 01:45:35 +00:00
patacongo
4ca1ea2ac8 Add USB host support and HID keyboard support for the mbed board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3297 42af7a65-404d-4744-a932-0658087f49c3
2011-02-16 00:07:29 +00:00
patacongo
087e4132af Update detron board pin definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3296 42af7a65-404d-4744-a932-0658087f49c3
2011-02-14 16:05:43 +00:00
patacongo
4ca8d86e71 Change all CVS references to SVN
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3295 42af7a65-404d-4744-a932-0658087f49c3
2011-02-14 13:46:26 +00:00
patacongo
c9d81576a8 Removed old CVS directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3292 42af7a65-404d-4744-a932-0658087f49c3
2011-02-14 01:47:18 +00:00
patacongo
1dcd585613 Rename mc9s12ne64 directories and files to just m9s12
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3288 42af7a65-404d-4744-a932-0658087f49c3
2011-02-13 20:00:48 +00:00
patacongo
ba5c6d3b18 Add configs/detron
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3287 42af7a65-404d-4744-a932-0658087f49c3
2011-02-13 14:44:44 +00:00
patacongo
99ca8d4b1a RTL18189 infrastructure
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3285 42af7a65-404d-4744-a932-0658087f49c3
2011-02-12 19:17:37 +00:00
patacongo
b661b6c012 Add examples/wlan
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3283 42af7a65-404d-4744-a932-0658087f49c3
2011-02-12 17:30:49 +00:00
patacongo
16508e595b Add logic to get the VID and PID
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3282 42af7a65-404d-4744-a932-0658087f49c3
2011-02-11 02:36:01 +00:00
patacongo
19e95c9430 Don' depend on uname -o working
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3281 42af7a65-404d-4744-a932-0658087f49c3
2011-02-11 01:30:40 +00:00
patacongo
c01814cdad Misc m9s12x updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3278 42af7a65-404d-4744-a932-0658087f49c3
2011-02-10 20:15:42 +00:00
patacongo
5c36894300 update README
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3277 42af7a65-404d-4744-a932-0658087f49c3
2011-01-26 01:12:00 +00:00
patacongo
6a0bbafc1e Add fiberdownload links
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3276 42af7a65-404d-4744-a932-0658087f49c3
2011-01-24 19:53:49 +00:00
patacongo
193f16e076 Update comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3275 42af7a65-404d-4744-a932-0658087f49c3
2011-01-23 18:13:49 +00:00
patacongo
499badf219 Incorporate uIP patches
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3274 42af7a65-404d-4744-a932-0658087f49c3
2011-01-23 17:40:10 +00:00
patacongo
a29dac240e Add network bit definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3273 42af7a65-404d-4744-a932-0658087f49c3
2011-01-21 01:38:42 +00:00
patacongo
cfc0c0dedc Add network bit definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3272 42af7a65-404d-4744-a932-0658087f49c3
2011-01-21 01:26:53 +00:00
patacongo
9b6a2bacda EMAC/PHY headers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3271 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 22:13:27 +00:00
patacongo
1ea9ea801d Add IIC header
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3270 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 21:09:23 +00:00
patacongo
d9ffd2c411 Control and Status
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3269 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 20:13:33 +00:00
patacongo
11404da9af A/D definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3268 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 18:28:59 +00:00
patacongo
2ae6b79306 Prep for NuttX-5.17
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3267 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 02:41:15 +00:00
patacongo
bc5634d2ad Correct a crash when keyboard removed
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3266 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 01:09:06 +00:00
patacongo
c38d1c1ec9 Add USH HID keyboard debouncing
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3265 42af7a65-404d-4744-a932-0658087f49c3
2011-01-20 00:46:56 +00:00
patacongo
78d6af1190 Fix more issues detected by CppCheck tool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3264 42af7a65-404d-4744-a932-0658087f49c3
2011-01-19 21:17:37 +00:00
patacongo
7d12e1fd04 Extend README
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3263 42af7a65-404d-4744-a932-0658087f49c3
2011-01-19 20:31:20 +00:00
patacongo
fb15f94d5e Fix warning introduced with last checkin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3262 42af7a65-404d-4744-a932-0658087f49c3
2011-01-19 20:18:31 +00:00
patacongo
60c0de010a Fix issues detected by CppCheck tool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3261 42af7a65-404d-4744-a932-0658087f49c3
2011-01-19 20:02:23 +00:00
patacongo
f389facd71 Basic HID keyboard funcionality. More testing is needed
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3260 42af7a65-404d-4744-a932-0658087f49c3
2011-01-19 04:17:45 +00:00
patacongo
09107aa9ff Complete HID keyboard test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3259 42af7a65-404d-4744-a932-0658087f49c3
2011-01-18 23:28:02 +00:00
patacongo
9a698e429d Warnings not errors would be more polite
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3258 42af7a65-404d-4744-a932-0658087f49c3
2011-01-18 19:58:49 +00:00
patacongo
57ca7d1157 Add logic to map keyboard scancodes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3257 42af7a65-404d-4744-a932-0658087f49c3
2011-01-18 02:17:49 +00:00
patacongo
f0f2c61a53 More HID keyboard progress
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3256 42af7a65-404d-4744-a932-0658087f49c3
2011-01-17 13:52:33 +00:00
patacongo
2270d885e9 More HID keyboard support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3255 42af7a65-404d-4744-a932-0658087f49c3
2011-01-16 19:08:16 +00:00
patacongo
258009c392 Make space for int/isoc endpoint support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3254 42af7a65-404d-4744-a932-0658087f49c3
2011-01-16 14:02:42 +00:00
patacongo
dc81d843a3 Many changes in preparation for HID keyboard
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3253 42af7a65-404d-4744-a932-0658087f49c3
2011-01-15 22:30:23 +00:00
patacongo
f8d480b8fa TD's no longer hard allocated
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3252 42af7a65-404d-4744-a932-0658087f49c3
2011-01-15 17:46:55 +00:00
patacongo
0514d8c187 Extend the ED and get the transfer type into the ED
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3251 42af7a65-404d-4744-a932-0658087f49c3
2011-01-14 18:38:46 +00:00
patacongo
dc51943c54 Fleshing out keyboard driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3250 42af7a65-404d-4744-a932-0658087f49c3
2011-01-14 17:06:30 +00:00
patacongo
c95ceda9b2 Don't include ohci.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3249 42af7a65-404d-4744-a932-0658087f49c3
2011-01-13 22:50:48 +00:00
patacongo
93a0f80729 Align columns
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3248 42af7a65-404d-4744-a932-0658087f49c3
2011-01-13 14:52:17 +00:00
patacongo
eaab19221f Add info from HID and HuT specs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3247 42af7a65-404d-4744-a932-0658087f49c3
2011-01-13 02:57:02 +00:00
patacongo
01af046747 Update README index
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3246 42af7a65-404d-4744-a932-0658087f49c3
2011-01-12 04:45:23 +00:00
patacongo
155d12d968 Framework for HID keyboard -- not much there yet
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3245 42af7a65-404d-4744-a932-0658087f49c3
2011-01-12 04:03:57 +00:00
patacongo
40471f14d2 Add support for lowspeed devices
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3244 42af7a65-404d-4744-a932-0658087f49c3
2011-01-12 04:03:27 +00:00
patacongo
fa8015b26e Rename usb_storage.h to storage.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3243 42af7a65-404d-4744-a932-0658087f49c3
2011-01-12 02:12:41 +00:00
patacongo
aaedc7b617 README updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3242 42af7a65-404d-4744-a932-0658087f49c3
2011-01-11 12:43:02 +00:00
574 changed files with 49454 additions and 15296 deletions

26
COPYING
View File

@@ -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
View File

@@ -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

View File

@@ -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>&nbsp</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>

View File

@@ -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>

View File

@@ -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>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]Make.def</code> to <code>${TOPDIR}/Make.defs</code>,<li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]Make.defs</code> to <code>${TOPDIR}/Make.defs</code>,<li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]setenv.sh</code> to <code>${TOPDIR}/setenv.sh</code>, and</li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</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>

View File

@@ -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
View 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">&nbsp;</td>
<td align="left"><code>ABDE</code></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="left"><code>user_start: Registering USB serial driver</code></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="left"><code>uart_register: Registering /dev/ttyUSB0</code></td>
</tr>
<tr>
<td align="center">&nbsp;</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">&nbsp;</td>
<td align="left"><code>user_start: ERROR: Failed to open /dev/ttyUSB0 for reading: 107</code></td>
</tr>
<tr>
<td align="center">&nbsp;</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">&nbsp</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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -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 ; \

View File

@@ -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

File diff suppressed because it is too large Load Diff

177
TODO
View File

@@ -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;

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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

View File

@@ -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:

View File

@@ -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
*/

View File

@@ -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
****************************************************************************/

View File

@@ -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
****************************************************************************/

View File

@@ -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;

View 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)
{
}

View File

@@ -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
}

View File

@@ -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);

View File

@@ -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