Compare commits

...

199 Commits

Author SHA1 Message Date
patacongo
4f83709832 Prep for 0.3.17 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1098 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:40:11 +00:00
patacongo
177aa1878e update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1097 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:22:01 +00:00
patacongo
66bdf0d586 Add finer trace controls
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1096 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:21:47 +00:00
patacongo
08c89cddcc Fix missing right parenthesis
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1095 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:21:18 +00:00
patacongo
d54fb01136 Fix bad trace data storage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1094 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:20:37 +00:00
patacongo
9da805f7a6 Don't send final packet if length is zero
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1093 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:20:09 +00:00
patacongo
521566b514 Need to restart write queue after stalled endpoint resumed
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1092 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 17:19:13 +00:00
patacongo
eb2b208d71 Integrate USB tracing
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1091 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 01:18:37 +00:00
patacongo
2098fcf3e8 Eliminate uninitialized variable warning
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1090 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 01:18:14 +00:00
patacongo
7117e29e2a Remove compile warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1089 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 00:41:50 +00:00
patacongo
642e2fd884 Add SCSI read format capacities command -- WinXP needs it
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1088 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 00:31:22 +00:00
patacongo
49390ac335 Correct handling of GETMAXLUN request
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1087 42af7a65-404d-4744-a932-0658087f49c3
2008-10-28 00:30:42 +00:00
patacongo
05f8581874 Fix read failures when OUT req size > maxpacket
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1086 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 22:45:55 +00:00
patacongo
bca6c1e63d Fix errors in list handling + request buffer size
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1085 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 22:40:10 +00:00
patacongo
6c75ab8efe Finish missing logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1084 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 16:41:12 +00:00
patacongo
d3da87125a Smaller delay still works (probably could be even smaller)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1083 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 16:39:48 +00:00
patacongo
caf959f79c Correct error in end-of-request handling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1082 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 16:39:15 +00:00
patacongo
43a3c09982 Added low-level, verbose debug support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1081 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 16:37:48 +00:00
patacongo
d4c083a955 Make trace data enable-able by id
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1080 42af7a65-404d-4744-a932-0658087f49c3
2008-10-27 13:13:09 +00:00
patacongo
50017e4bfe update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1079 42af7a65-404d-4744-a932-0658087f49c3
2008-10-25 14:41:11 +00:00
patacongo
8423870bde Remove unused field
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1078 42af7a65-404d-4744-a932-0658087f49c3
2008-10-25 14:40:55 +00:00
patacongo
77c22b0d7f Fix to handler transfers larger than one request
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1077 42af7a65-404d-4744-a932-0658087f49c3
2008-10-25 14:40:37 +00:00
patacongo
032393ae43 Fix to handle requests larger than maxpacket
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1076 42af7a65-404d-4744-a932-0658087f49c3
2008-10-25 14:40:01 +00:00
patacongo
a6944dfe49 Add USB storage class driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1075 42af7a65-404d-4744-a932-0658087f49c3
2008-10-24 22:42:28 +00:00
patacongo
953a01d0f1 Fix bug: Not resuming halted endponts on SET FEATURE
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1074 42af7a65-404d-4744-a932-0658087f49c3
2008-10-24 22:38:10 +00:00
patacongo
fbf99921ff typo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1073 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 20:55:54 +00:00
patacongo
59086543bc fix comment
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1072 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 20:54:46 +00:00
patacongo
2b9c6f0a87 Add trace codes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1071 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 20:53:58 +00:00
patacongo
9247dc69ac Need write-able block drivers even if no write-able FS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1070 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 20:53:39 +00:00
patacongo
ad93759c76 Share block driver helpers outside of fs/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1069 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 20:52:32 +00:00
patacongo
e8fe75b707 update USB configuration settings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1068 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 20:51:26 +00:00
patacongo
bb636242ca Add description of examples/usbstorage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1067 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 00:53:55 +00:00
patacongo
68ed6f1c7e cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1066 42af7a65-404d-4744-a932-0658087f49c3
2008-10-23 00:53:13 +00:00
patacongo
a0c4aeb7f5 Test for USB storage driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1065 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 22:05:15 +00:00
patacongo
120b66c038 USB bulk storage configuration settings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1064 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 22:03:47 +00:00
patacongo
de5c6ffcdc Allow block drivers without mountpoint support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1063 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 22:02:44 +00:00
patacongo
e89c5c362e cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1062 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 22:02:00 +00:00
patacongo
61af3cf5a4 Building environment for USB storage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1061 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 16:20:18 +00:00
patacongo
998ec27c83 USB Storage Configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1060 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 16:02:15 +00:00
patacongo
200b11eefb Add USB storage trace definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1059 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 00:44:23 +00:00
patacongo
a9c15f4dde Add SCSI definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1058 42af7a65-404d-4744-a932-0658087f49c3
2008-10-22 00:44:08 +00:00
patacongo
21ac6d0865 Add SCSI definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1057 42af7a65-404d-4744-a932-0658087f49c3
2008-10-20 20:42:48 +00:00
patacongo
cd2ae14200 typo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1056 42af7a65-404d-4744-a932-0658087f49c3
2008-10-20 20:42:27 +00:00
patacongo
7c021b542b Add support for class driver states
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1055 42af7a65-404d-4744-a932-0658087f49c3
2008-10-20 20:41:58 +00:00
patacongo
0c8c5d247d Remove some duplicate logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1054 42af7a65-404d-4744-a932-0658087f49c3
2008-10-17 23:07:39 +00:00
patacongo
430198df4c Add SCSI commands that will be needed for USB storage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1053 42af7a65-404d-4744-a932-0658087f49c3
2008-10-17 17:55:18 +00:00
patacongo
791bba205f Add FAT test issue
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1052 42af7a65-404d-4744-a932-0658087f49c3
2008-10-17 17:54:22 +00:00
patacongo
995be717bf Fix uninitialized variable
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1051 42af7a65-404d-4744-a932-0658087f49c3
2008-10-17 17:53:46 +00:00
patacongo
8ade0e3b55 Fix nasty race condition
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1050 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 22:53:34 +00:00
patacongo
867d3c471c Need to clear mediachanged indication after it is sampled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1049 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 22:52:42 +00:00
patacongo
8acf7cecba typo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1048 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 19:16:49 +00:00
patacongo
2f9e5e067d Add debug capabilities
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1047 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 19:15:53 +00:00
patacongo
a11383a93f Fix access to aligned partition table values
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1046 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 19:12:33 +00:00
patacongo
e9d4e43d16 Fix integration bug fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1045 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 17:26:39 +00:00
patacongo
0cb383f7f8 Add NXP LPC214x-specific NSH support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1044 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 17:26:05 +00:00
patacongo
11284029df Add simple SPI-based MMC/SD block driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1043 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 14:19:46 +00:00
patacongo
a7111547c6 MMC/SD support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1042 42af7a65-404d-4744-a932-0658087f49c3
2008-10-15 14:18:17 +00:00
patacongo
bf53f031c8 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1041 42af7a65-404d-4744-a932-0658087f49c3
2008-10-13 21:03:48 +00:00
patacongo
bcdac92ea9 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1040 42af7a65-404d-4744-a932-0658087f49c3
2008-10-13 20:58:19 +00:00
patacongo
e6477ed7bb Correct last checkin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1039 42af7a65-404d-4744-a932-0658087f49c3
2008-10-13 20:49:17 +00:00
patacongo
19762e9417 Fix LPC214X memory map
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1038 42af7a65-404d-4744-a932-0658087f49c3
2008-10-13 16:20:04 +00:00
patacongo
85563cc35c oops - won't build with USB disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1037 42af7a65-404d-4744-a932-0658087f49c3
2008-10-13 16:19:46 +00:00
patacongo
0296f42d02 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1036 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 22:33:49 +00:00
patacongo
5a4d432c6d minor interface refinements
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1035 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 22:33:37 +00:00
patacongo
a73bfe774f Add 1st cut SPI driver for SPI MMC
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1034 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 19:42:01 +00:00
patacongo
4f65029e69 clarify
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1033 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 19:39:46 +00:00
patacongo
5eb4cc2cdd reorder macros, reduce size of request buffer for EP0
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1032 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 19:38:58 +00:00
patacongo
6eaeba8337 Add header files for PINSEL and SPI
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1031 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 19:37:25 +00:00
patacongo
75be6467e0 Added macro for LE 32-bit values
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1030 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 19:35:55 +00:00
patacongo
802fd32f91 Removed unused externs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1029 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 03:03:45 +00:00
patacongo
d3338ac34e fix comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1028 42af7a65-404d-4744-a932-0658087f49c3
2008-10-11 00:38:44 +00:00
patacongo
f31fcafe11 Prep for release 0.3.16
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1027 42af7a65-404d-4744-a932-0658087f49c3
2008-10-10 18:14:24 +00:00
patacongo
fa8618178b Remove unnecessary warning
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1026 42af7a65-404d-4744-a932-0658087f49c3
2008-10-10 17:41:52 +00:00
patacongo
e5327a406d Extended USB serial test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1025 42af7a65-404d-4744-a932-0658087f49c3
2008-10-10 16:45:32 +00:00
patacongo
c2b34298b9 updated comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1024 42af7a65-404d-4744-a932-0658087f49c3
2008-10-10 16:45:17 +00:00
patacongo
a4621ede1c cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1023 42af7a65-404d-4744-a932-0658087f49c3
2008-10-10 16:44:26 +00:00
patacongo
05549a14b3 Fix end-of-test comparison
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1022 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 22:53:07 +00:00
patacongo
0a3edb4702 Another place where the request size is set
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1021 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 22:52:34 +00:00
patacongo
8cb981c222 Extend USB serial test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1020 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 22:52:06 +00:00
patacongo
08b3a8917e Add option to used different request buffer sizes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1019 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 21:47:45 +00:00
patacongo
4371d7c822 Pace sends to send complete interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1018 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 21:47:13 +00:00
patacongo
ebefecd9ac Extend USB serial test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1017 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 20:25:33 +00:00
patacongo
c9d3adb0b9 Correct emulation of UART RX disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1016 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 20:24:56 +00:00
patacongo
a8f3345e5a Add RX overrun error code
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1015 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 20:23:49 +00:00
patacongo
24aff819a4 Not setting error on driver errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1014 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 20:22:21 +00:00
patacongo
fed5871039 Fixe open count error + O_NONBLOCK function
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1013 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 19:20:02 +00:00
patacongo
175c69a462 Missed decoding one trace value
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1012 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 19:19:33 +00:00
patacongo
79be71fa93 Last option in configure; ep address in ep struct
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1011 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 15:15:00 +00:00
patacongo
d1c08b6853 Add last option to configure method
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1010 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 15:14:17 +00:00
patacongo
7e9f5e7b0c update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1009 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 15:10:37 +00:00
patacongo
233e0f254a Fix compile warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1008 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 15:02:26 +00:00
patacongo
3fee480186 Need to select endpoints actually supported by hardware
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1007 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 12:49:11 +00:00
patacongo
45f2de7a6b upate
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1006 42af7a65-404d-4744-a932-0658087f49c3
2008-10-09 12:48:21 +00:00
patacongo
62fa0a4dd1 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1005 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 21:52:38 +00:00
patacongo
2709b6e43e Update comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1004 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 21:52:22 +00:00
patacongo
db720b9dbf Fix mapping of logical to physical endpoint
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1003 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 21:51:45 +00:00
patacongo
662ec46473 Add debug output
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1002 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 20:20:36 +00:00
patacongo
2d32df87c9 Restructure so that it does not try to malloc from interrupt level
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1001 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 20:19:04 +00:00
patacongo
aa7eaeea2e Add comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1000 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 20:17:08 +00:00
patacongo
a97678e7f3 Add more trace codes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@999 42af7a65-404d-4744-a932-0658087f49c3
2008-10-08 20:16:44 +00:00
patacongo
8c9fe4533a test and integration updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@998 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 23:19:27 +00:00
patacongo
493677de2d Misc fixes from test and integration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@997 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 23:09:33 +00:00
patacongo
eefb25244c Note fixed LPC214x timer freq
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@996 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 23:07:33 +00:00
patacongo
14072a7991 Add another trace code for class driver calls
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@995 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 23:06:57 +00:00
patacongo
caa1423771 Fix tests for SP in interrupt stack range
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@994 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 23:05:56 +00:00
patacongo
9b6911e9be Add retry on open; say hello many times
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@993 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 23:04:52 +00:00
patacongo
3ade50f7e4 Need to improve error detection
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@992 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 20:44:00 +00:00
patacongo
c538e14adf Fix interrupt EP interval
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@991 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 19:05:35 +00:00
patacongo
8c1cbf933f add examples/usbserial
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@990 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 19:04:20 +00:00
patacongo
934f010333 Fix network path broken in earlier checkin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@989 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 19:03:44 +00:00
patacongo
55b7616223 typo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@988 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 19:03:03 +00:00
patacongo
f65a4a4832 Fix timer error introduced recently
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@987 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 19:02:20 +00:00
patacongo
679b959f90 Add DM320 USB device side driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@986 42af7a65-404d-4744-a932-0658087f49c3
2008-10-07 17:23:58 +00:00
patacongo
e87854bc93 Remove USB items
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@985 42af7a65-404d-4744-a932-0658087f49c3
2008-10-06 23:53:51 +00:00
patacongo
7996949c97 Add USB serial driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@984 42af7a65-404d-4744-a932-0658087f49c3
2008-10-06 23:12:09 +00:00
patacongo
80db9814b7 Add USB serial test/example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@983 42af7a65-404d-4744-a932-0658087f49c3
2008-10-06 23:09:23 +00:00
patacongo
7fdd4e0112 Add USB serial configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@982 42af7a65-404d-4744-a932-0658087f49c3
2008-10-06 23:07:26 +00:00
patacongo
f8e5fa6eb4 Add option for ARM interrupt stack
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@981 42af7a65-404d-4744-a932-0658087f49c3
2008-10-06 16:20:53 +00:00
patacongo
eb448e0e97 Fix SETADDRESS protocol error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@980 42af7a65-404d-4744-a932-0658087f49c3
2008-10-05 17:06:04 +00:00
patacongo
acbb64ad48 Fix some set address problems (there are more)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@979 42af7a65-404d-4744-a932-0658087f49c3
2008-10-04 17:12:12 +00:00
patacongo
c789bd8f58 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@978 42af7a65-404d-4744-a932-0658087f49c3
2008-10-04 12:13:26 +00:00
patacongo
e08604ee09 Fix 2 causes of protocol errors (there are more
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@977 42af7a65-404d-4744-a932-0658087f49c3
2008-10-04 00:12:40 +00:00
patacongo
05d4dd0f73 Don't enable interrupts until bound
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@976 42af7a65-404d-4744-a932-0658087f49c3
2008-10-03 21:54:16 +00:00
patacongo
11911ac2a3 Add an errorcode
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@975 42af7a65-404d-4744-a932-0658087f49c3
2008-10-03 21:53:31 +00:00
patacongo
f6838c4e6f Fix request queue management problems
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@974 42af7a65-404d-4744-a932-0658087f49c3
2008-10-03 17:32:12 +00:00
patacongo
75c2fb5635 Add debug output if trace disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@973 42af7a65-404d-4744-a932-0658087f49c3
2008-10-03 17:31:39 +00:00
patacongo
8b07c901cd Integrating LPC214X USB
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@972 42af7a65-404d-4744-a932-0658087f49c3
2008-10-03 00:15:24 +00:00
patacongo
72ac3b61b8 USB config options
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@971 42af7a65-404d-4744-a932-0658087f49c3
2008-10-02 00:29:05 +00:00
patacongo
a8e6e9cf3d Integrating LPC214x USB driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@970 42af7a65-404d-4744-a932-0658087f49c3
2008-10-01 23:34:27 +00:00
patacongo
d3b43976a9 Add register monitor debug support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@969 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 23:44:53 +00:00
patacongo
d2fd11e1f1 Add support for serial class driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@968 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 22:13:52 +00:00
patacongo
e55508240a Fixes for class driver i/f
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@967 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 20:53:58 +00:00
patacongo
1d38a19877 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@966 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 12:26:46 +00:00
patacongo
2b1c2fc483 Integrate USB into ARM initialization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@965 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 12:26:12 +00:00
patacongo
299a3ead2a Add USB trace logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@964 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 12:24:11 +00:00
patacongo
15485cd306 Add usb trace capability
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@963 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 00:52:03 +00:00
patacongo
1f8cc4383a USBDEV trace
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@962 42af7a65-404d-4744-a932-0658087f49c3
2008-09-30 00:50:22 +00:00
patacongo
174a043a62 Add more trace events
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@961 42af7a65-404d-4744-a932-0658087f49c3
2008-09-29 23:04:33 +00:00
patacongo
60d8905398 Added USB device controller driver for LPC214x
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@960 42af7a65-404d-4744-a932-0658087f49c3
2008-09-29 22:04:58 +00:00
patacongo
1661ab9c70 USB fixes for clean compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@959 42af7a65-404d-4744-a932-0658087f49c3
2008-09-29 17:24:31 +00:00
patacongo
12282531fa Fix compile problems
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@958 42af7a65-404d-4744-a932-0658087f49c3
2008-09-29 15:04:45 +00:00
patacongo
6d441cf65f Preparing USB environment
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@957 42af7a65-404d-4744-a932-0658087f49c3
2008-09-28 17:15:17 +00:00
patacongo
58119355f8 Add power control register definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@956 42af7a65-404d-4744-a932-0658087f49c3
2008-09-27 14:21:39 +00:00
patacongo
17987c90fc Add DMA definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@955 42af7a65-404d-4744-a932-0658087f49c3
2008-09-27 12:57:42 +00:00
patacongo
2fa7da9ed8 Add more queue macros
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@954 42af7a65-404d-4744-a932-0658087f49c3
2008-09-25 21:36:20 +00:00
patacongo
990d63ea82 Add lpc214x USB register definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@953 42af7a65-404d-4744-a932-0658087f49c3
2008-09-24 22:03:02 +00:00
patacongo
608a718ca8 Add AHB and USB register defns for DM320
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@952 42af7a65-404d-4744-a932-0658087f49c3
2008-09-24 21:06:56 +00:00
patacongo
56ec9aa133 uart_semtake was static
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@951 42af7a65-404d-4744-a932-0658087f49c3
2008-09-24 21:05:53 +00:00
patacongo
12d9e69757 Separate byte-oriented interrupt handling logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@950 42af7a65-404d-4744-a932-0658087f49c3
2008-09-24 15:42:13 +00:00
patacongo
7f0a5683d9 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@949 42af7a65-404d-4744-a932-0658087f49c3
2008-09-21 19:00:10 +00:00
patacongo
abcd3febfa Prep for 0.3.15
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@948 42af7a65-404d-4744-a932-0658087f49c3
2008-09-20 16:24:43 +00:00
patacongo
fd831038f6 Fix initiali interrupt issue
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@947 42af7a65-404d-4744-a932-0658087f49c3
2008-09-20 16:24:14 +00:00
patacongo
130667fa1d Add up_lowputs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@946 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 20:23:12 +00:00
patacongo
00d0f46828 Fix RECV status reporting
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@945 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 19:40:03 +00:00
patacongo
9d9458a18d Fix basic problems with LPC2148 uart interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@944 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 17:45:51 +00:00
patacongo
d1dff51cdf Update LPC2148 info
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@943 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 15:33:44 +00:00
patacongo
ae83b38bc6 NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@942 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 15:13:14 +00:00
patacongo
106ae37184 Fixes for clean compile w/o environment variables
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@941 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 15:12:13 +00:00
patacongo
6a96311905 Hello, Worldvi README.txt example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@940 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 14:57:57 +00:00
patacongo
84cb2c8b8e Hello, World! example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@939 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 14:55:18 +00:00
patacongo
ba82ec9a59 read-only strings being overwritten by .data
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@938 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 14:54:31 +00:00
patacongo
22c47e5a73 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@937 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 14:53:53 +00:00
patacongo
7595ec8761 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@936 42af7a65-404d-4744-a932-0658087f49c3
2008-09-19 00:17:30 +00:00
patacongo
f1a4637bd1 Make number of threads in barrier test configurable
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@935 42af7a65-404d-4744-a932-0658087f49c3
2008-09-18 23:42:12 +00:00
patacongo
08b2e406c2 Needs more stack space
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@934 42af7a65-404d-4744-a932-0658087f49c3
2008-09-18 22:58:05 +00:00
patacongo
dccebdea85 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@933 42af7a65-404d-4744-a932-0658087f49c3
2008-09-18 22:56:32 +00:00
patacongo
6693996511 Forgot to increment pointer
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@932 42af7a65-404d-4744-a932-0658087f49c3
2008-09-18 22:56:21 +00:00
patacongo
76ec842523 LPC2148 timer irq fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@931 42af7a65-404d-4744-a932-0658087f49c3
2008-09-18 22:12:52 +00:00
patacongo
aacdfb11b6 ARM architecture supports lowconsole
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@930 42af7a65-404d-4744-a932-0658087f49c3
2008-09-18 14:48:26 +00:00
patacongo
68271820db Add raw binary option
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@929 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 23:30:54 +00:00
patacongo
ac1f49ffbe build lpc2148 ostest config
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@928 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 23:14:42 +00:00
patacongo
e670f8f6b7 Move config to subdirectory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@927 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 22:37:09 +00:00
patacongo
c01e402c52 Moved config to subdirectory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@926 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 22:35:53 +00:00
patacongo
e360e806dc Fix LPC2148 PLL setup
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@925 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 22:12:03 +00:00
patacongo
4f5b358522 LPC2148 oots partially into NuttX
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@924 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 20:27:29 +00:00
patacongo
d45b0e1aaa Update lpc214x stuff
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@923 42af7a65-404d-4744-a932-0658087f49c3
2008-09-17 18:44:34 +00:00
patacongo
d34ada46c0 Add support for Intel Hex format output
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@922 42af7a65-404d-4744-a932-0658087f49c3
2008-09-16 21:45:41 +00:00
patacongo
f796d1dff6 Use SEC_NSECTOR macro
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@921 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 22:28:29 +00:00
patacongo
fb6d8f6ae6 Combine common sector address in one function
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@920 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 22:28:11 +00:00
patacongo
d357579589 Verify NSH start-up file with DM320
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@919 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 22:25:23 +00:00
patacongo
890f1034e0 Combine hard link traversal into one common function
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@918 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 20:54:14 +00:00
patacongo
031dfef23c Added mmap()/XIP test to ROMFS test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@917 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 19:17:15 +00:00
patacongo
1427e4083c Add mmap() API
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@916 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 15:54:20 +00:00
patacongo
1a286a874d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@915 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 14:52:33 +00:00
patacongo
af55abec61 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@914 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 14:46:44 +00:00
patacongo
b0d5432f8b Add ioctl's to support XIP
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@913 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 14:34:06 +00:00
patacongo
9ff4834f74 Standardizing ioctls
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@912 42af7a65-404d-4744-a932-0658087f49c3
2008-09-12 00:39:12 +00:00
patacongo
5a5ceac84b Add /etc via ROMFS and /tmp via FAT FS to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@911 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 22:59:45 +00:00
patacongo
f86028809f Add /etc via ROMFS and /tmp via FAT FS to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@910 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 21:54:23 +00:00
patacongo
3bdc9e50db Add BSD header
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@909 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 21:53:37 +00:00
patacongo
76420d3dc0 ROMFS fixes discovered during testing
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@908 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 21:51:41 +00:00
patacongo
98a5e744bc NSH config for sim target
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@907 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 21:50:20 +00:00
patacongo
c54c3b0a25 Add a test of ROMFS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@906 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 05:21:36 +00:00
patacongo
1ef100a5db Test of ROMFS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@905 42af7a65-404d-4744-a932-0658087f49c3
2008-09-11 05:19:32 +00:00
patacongo
6a5e4f302d ROMFS filesystem support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@903 42af7a65-404d-4744-a932-0658087f49c3
2008-09-10 19:29:24 +00:00
patacongo
5e510557e5 ROMFS filesystem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@902 42af7a65-404d-4744-a932-0658087f49c3
2008-09-10 19:27:49 +00:00
patacongo
fb22c557dc cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@901 42af7a65-404d-4744-a932-0658087f49c3
2008-09-10 19:09:47 +00:00
patacongo
469948a0b6 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@900 42af7a65-404d-4744-a932-0658087f49c3
2008-09-10 13:24:31 +00:00
patacongo
a454fe6e3e Add indentation tool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@899 42af7a65-404d-4744-a932-0658087f49c3
2008-09-09 14:36:18 +00:00
258 changed files with 35595 additions and 2053 deletions

View File

@@ -462,4 +462,69 @@
* Fixed another FAT bug in implementation of FAT lseek; this prohibit correct
random access to large files.
0.3.15 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
0.3.15 2008-09-20 Gregory Nutt <spudmonkey@racsa.co.cr>
* Added support for ROMFS filesystem.
* Added a simple test the ROMFS filesystem (examples/romfs)
* NSH: Use ROMFS to provide an option for a start-up script at /etc/init.d/rcS
* Add definition of BIOC_XIPBASE ioctl and implement in RAM disk block driver.
This is a low level requirement for eXecute In Place (XIP) support.
* Add a FIOC_MMAP to perform memory mapping of a file and implemented the
ioctl command in the ROMFS filesystem. This is a requirement for eXecute
In Place (XIP) support.
* Add mmap() API with restricted capability (only for XIP support)
* Extend ROMFS test at /examples/romfs to verify mmap() and XIP support.
* Add support for Intel Hex format output using objcopy
* Completed the basic port of the NXP LPC2148 on the mcu123.com board.
The basic port includes successful booting, timer interrupts, serial console,
succesfully passing the examples/ostest, and a NuttShell (NSH) configuration.
* ARM architectures now support drivers/lowconsole.c
0.3.16 2008-10-10 Gregory Nutt <spudmonkey@racsa.co.cr>
* Added header files defining a common USB device controller architecture
* Added USB device side driver for the LPC214x
* Correct the frequency of system timer interrupts in the NXP LPC214x port
(off by 20x in nuttx-0.3.15)
* Add an option to set aside a separate stack for interrupt handling (ARM only).
This is useful when memory is constrained, there are multiple tasks, and
the interrupt stack requirement is high (as when USB is enabled).
* Added USB serial class device side driver (emulates Prolific PL2303
serial-to-USB adaptor)
* Add LPC214x USB serial configuration; Add examples/usbserial test
* Added USB device side driver for the DM320 (untested at initial release)
* Fixed an error in a previous (post 0.3.15) check-in that broke the LPC214x
system timer.
* Fixed serial driver bugs related to (1) open counts and (2) recognizing
O_NONBLOCK on read.
* Fixed an error in read(); it was not setting the errno on errors returned
from the driver.
0.3.17 2008-10-28 Gregory Nutt <spudmonkey@racsa.co.cr>
* Incorporate patch "[2164503] nuttx-0.3.16 does not build for ARM with USB disabled"
* Reduced the amount of memory reserved for USB serial control requests. It
was unnecessarily large.
* Added LPC214x SPI1 driver to interface with MMC on mcu123.com board.
* Added a simple SPI-based MMC/SD block driver
* NSH: Add LPC214x-specific support to NSH; NSH now mounts any SD cards in the slot.
* FAT: Fix access to unaligned 32-bit values in partion table (start sector & size)
* Fixed a problem with a un-initialized variable in the USB serial driver.
* Added USB storage NXP LPC214x configuration
* Added a test for USB storage under examples/usbstorage
* Fixed a bug in the LPC214x USB driver: It was not properly clearing a HALTed
endpoints (other than EP) on receipt of CLEAR FEATURES request.
* Added USB storage class device side driver (BBB)
* Fixed a bug in the LPC214x USB driver: It was not properly handling request buffers
larger then the endpoint's max packet (DM320 driver also fixed, untested)
* Added logic to the USB device interface: A bit is needed to force the driver to
to terminate an IN transfer with a short packet (zero-length if necessary).
* Fix an error in the NXP LPC214x USB device driver that was causing corruption of
the request queue (M320 driver also fixed, untested)
* Correct another error in the NXP LPC214x USB device driver that caused read failures
when the request buffer size was larger than maxpacket.
* Numerous corrections/extensions to the USB tracing logic included in 0.3.16 (but
not integrated until 0.3.17)
* Fixed another bug in the NXP LPC214x USB device driver: After a stalled endpoint
is resumed (view CLEAR FEATURE), we must restart the IN (outgoing) queue.
0.3.18 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>

View File

@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttShell (NSH)</i></font></big></h1>
<p>Last Updated: September 5, 2008</p>
<p>Last Updated: October 15, 2008</p>
</td>
</tr>
</table>
@@ -67,6 +67,12 @@
<a href="#environvars">1.6 Environment Variables</a>
</td>
</tr>
<tr>
<td><br></td>
<td>
<a href="#startupscript">1.7 NSH Start-Up Script</a>
</td>
</tr>
<tr>
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
@@ -470,6 +476,129 @@ fi
</tr>
</table></ul>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<a name="startupscript"><h2>1.7 NSH Start-Up Scrip</h2></a>
</td>
</tr>
</table>
<p>
<b>NSH Start-Up Script</b>.
NSH supports options to provide a start up script for NSH. In general
this capability is enabled with <code>CONFIG_EXAMPLES_NSH_ROMFSETC</code>, but has
several other related configuration options as described with the
<a href="#nshconfiguration">NSH-specific configuration settings</a>.
This capability also depends on:
<ul>
<li><code>CONFIG_DISABLE_MOUNTPOINT</code> not set
<li><code>CONFIG_NFILE_DESCRIPTORS</code> &lt; 4
<li><code>CONFIG_FS_ROMFS</code> enabled
</ul>
</p>
<p>
<b>Default Start-Up Behavior</b>.
The implementation that is provided is intended to provide great flexibility
for the use of Start-Up files. This paragraph will discuss the general
behavior when all of the configuration options are set to the default
values.
</p>
<p>
In this default case, enabling <code>CONFIG_EXAMPLES_NSH_ROMFSETC</code> will cause
NSH to behave as follows at NSH startup time:
<ul>
<li>
NSH will create a read-only RAM disk (a ROM disk), containing a tiny
ROMFS filesystem containing the following:
<ul><pre>
`--init.d/
`-- rcS
</pre></ul>
Where rcS is the NSH start-up script.
</li>
<li>
NSH will then mount the ROMFS filesystem at <code>/etc</code>, resulting in:
<ul><pre>
|--dev/
| `-- ram0
`--etc/
`--init.d/
`-- rcS
</pre></ul>
</li>
<li>
By default, the contents of rcS script are:
<ul><pre>
# Create a RAMDISK and mount it at XXXRDMOUNTPOUNTXXX
mkrd -m 1 -s 512 1024
mkfatfs /dev/ram1
mount -t vfat /dev/ram1 /tmp
</pre></ul>
</li>
<li>
NSH will execute the script at <code>/etc/init.d/rcS</code> at start-up (before the
first NSH prompt. After execution of the script, the root FS will look
like:
<ul><pre>
|--dev/
| |-- ram0
| `-- ram1
|--etc/
| `--init.d/
| `-- rcS
`--tmp/
</pre></ul>
</li>
</ul>
</p>
<p>
<b>Modifying the ROMFS Image</b>.
The contents of the <code>/etc</code> directory are retained in the file
<code>examples/nsh/nsh_romfsimg.h</code>. In order to modify the start-up
behavior, there are three things to study:
<ol>
<li>
<b>Configuration Options.</b>
The additional <code>CONFIG_EXAMPLES_NSH_ROMFSETC</code> configuration options
discussed with the other <a href="#nshconfiguration">NSH-specific configuration settings</a>.
</li>
<li>
<p>
<b><code>mkromfsimg.sh</code> Script</b>.
The script <code>examples/nsh/mkromfsimg.sh</code> creates <code>nsh_romfsimg.h</code>.
It is not automatically executed. If you want to change the
configuration settings associated with creating and mounting
the <code>/tmp</code> directory, then it will be necessary to re-generate
this header file using the <code>mkromfsimg.sh</code> script.
</p>
<p>
The behavior of this script depends upon three things:
<ul>
<li>The configuration settings then installed configuration.
<li>The <code>genromfs<code> tool (available from <a href="http://romfs.sourceforge.net">http://romfs.sourceforge.net</a>).
<li>The file <code>examples/nsh/rcS.template</code>.
</ul>
</p>
</li>
<li>
<b><code>rcS.template</code></b>.
The file <code>examples/nsh/rcS.template</code> contains the general form
of the <code>rcS</code> file; configurated values are plugged into this
template file to produce the final <code>rcS</code> file.
</li>
</ol>
</p>
<p>
All of the startup-behavior is contained in <code>rcS.template</code>. The
role of <code>mkromfsimg.sh</code> is to (1) apply the specific configuration
settings to <code>rcS.template</code> to create the final <code>rcS</code>, and (2) to
generate the header file <code>nsh_romfsimg.h</code> containg the ROMFS
file system image.
</p>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
@@ -1485,7 +1614,7 @@ nsh>
</tr>
<tr>
<td><b><code>cd</code></b></td>
<td>!<code>CONFIG_DISABLE_ENVIRON</code> && <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0</td>
<td>!<code>CONFIG_DISABLE_ENVIRON</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0</td>
</tr>
<tr>
<td><b><code>cp</code></b></td>
@@ -1530,11 +1659,11 @@ nsh>
</tr>
<tr>
<td><b><code>mkdir</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> && <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0</td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_WRITABLE</code><sup>4</sup></td>
</tr>
<tr>
<td><b><code>mkfatfs</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> && <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 && <code>CONFIG_FS_FAT</code></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_FAT</code></td>
</tr>
<tr>
<td><b><code>mkfifo</code></b></td>
@@ -1542,11 +1671,11 @@ nsh>
</tr>
<tr>
<td><b><code>mkrd</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> && <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 && <code>CONFIG_FS_FAT</code></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_WRITABLE</code><sup>4</sup></td>
</tr>
<tr>
<td><b><code>mount</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> && <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 && <code>CONFIG_FS_FAT</code></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_READABLE</code><sup>3</sup></td>
</tr>
<tr>
<td><b><code>ping</code></b></td>
@@ -1569,11 +1698,11 @@ nsh>
</tr>
<tr>
<td><b><code>rm</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0</td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_WRITABLE</code><sup>4</sup></td>
</tr>
<tr>
<td><b><code>rmdir</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0</td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_WRITABLE</code><sup>4</sup></td>
</tr>
<tr>
<td><b><code>set</code></b></td>
@@ -1593,7 +1722,7 @@ nsh>
</tr>
<tr>
<td><b><code>umount</code></b></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_FAT</code></td>
<td>!<code>CONFIG_DISABLE_MOUNTPOINT</code> &amp;&amp; <code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0 &amp;&amp; <code>CONFIG_FS_READABLE</code><sup>3</sup></td>
</tr>
<tr>
<td><b><code>unset</code></b></td>
@@ -1606,10 +1735,18 @@ nsh>
</table></center>
<p><sup>1</sup><small>
Because of hardware padding, the actual required packet size may be larger</small></p>
<p><sup>2</sup><small>
Because of hardware padding, the actual required packet size may be larger</small><br>
<sup>2</sup><small>
Special TFTP server start-up optionss will probably be required to permit
creation of files for the correct operation of the <code>put</code> command.</small></p>
creation of files for the correct operation of the <code>put</code> command.</small><br>
<sup>3</sup><small>
<code>CONFIG_FS_READABLE</code> is not a user configuration but is set automatically
if any readable filesystem is selected. At present, this is either <code>CONFIG_FS_FAT</code>
or <code>CONFIG_FS_ROMFS</code>.</small><br>
<sup>4</sup><small>
<code>CONFIG_FS_WRITABLE</code> is not a user configuration but is set automatically
if any writable filesystem is selected. At present, this is only <code>CONFIG_FS_FAT</code>.</small><br>
</p>
<table width ="100%">
<tr bgcolor="#e4e4e4">
@@ -1633,7 +1770,7 @@ nsh>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_FILEIOSIZE</code></b></td>
<td>
Size of a static I/O buffer used for file access (ignored if
there is no filesystem).
there is no filesystem). Default is 1024.
</td>
</tr>
<tr>
@@ -1683,6 +1820,25 @@ nsh>
where a minimal footprint is a necessity and background command execution is not.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_MMCSDMINOR</code></b></td>
<td>
If the architecture supports an MMC/SD slot and if the NSH
architecture specific logic is present, this option will provide
the MMC/SD minor number, i.e., the MMC/SD block driver will
be registered as <code>/dev/mmcsd</code><i>N</i> where <i>N</i> is the minor number.
Default is zero.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ROMFSETC</code></b></td>
<td>
Mount a ROMFS filesystem at <code>/etc</code> and provide a startup script
at <code>/etc/init.d/rcS</code>. The default startup script will mount
a FAT FS RAMDISK at <code>/tmp</code> but the logic is
<a href="#startupscript">easily extensible</a>.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_CONSOLE</code></b></td>
<td>
@@ -1712,6 +1868,7 @@ nsh>
<th align="left" width="25%">Configuration</th>
<th align="left">Description</th>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_IOBUFFER_SIZE</code></b></td>
<td>
Determines the size of the I/O buffer to use for sending/
@@ -1752,6 +1909,76 @@ nsh>
</tr>
</table></center>
<p>
If <code>CONFIG_EXAMPLES_NSH_ROMFSETC</code> is selected, then the following additional
configuration setting apply:
</p>
<center><table width="100%">
<tr bgcolor="#e4e4e4">
<th align="left" width="25%">Configuration</th>
<th align="left">Description</th>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT</code></b></td>
<td>
The default mountpoint for the ROMFS volume is <code>&quot;/etc&quot;</code>, but that
can be changed with this setting. This must be a absolute path
beginning with '<code>/</code>' and enclosed in quotes.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_INITSCRIPT</code></b></td>
<td>
This is the relative path to the startup script within the mountpoint.
The default is <code>&quot;init.d/rcS&quot;</code>. This is a relative path and must not
start with '<code>/</code>' but must be enclosed in quotes.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ROMFSDEVNO</code></b></td>
<td>
This is the minor number of the ROMFS block device. The default is
'<code>0</code>' corresponding to <code>/dev/ram0</code>.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ROMFSSECTSIZE</code></b></td>
<td>
This is the sector size to use with the ROMFS volume. Since the
default volume is very small, this defaults to 64 but should be
increased if the ROMFS volume were to be become large. Any value
selected must be a power of 2.
</td>
</tr>
</table></center>
<p>
When the default <code>rcS</code> file used when <code>CONFIG_EXAMPLES_NSH_ROMFSETC</code> is
selected, it will mount a FAT FS under <code>/tmp</code>. The following selections
describe that FAT FS.
</p>
<center><table width="100%">
<tr bgcolor="#e4e4e4">
<th align="left" width="25%">Configuration</th>
<th align="left">Description</th>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_FATDEVNO</code></b></td>
<td>
This is the minor number of the FAT FS block device. The default is
'<code>1</code>' corresponding to <code>/dev/ram1</code>.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_FATSECTSIZE</code></b></td>
<td>
This is the sector size use with the FAT FS. Default is 512.
</td>
</tr>
</table></center>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
@@ -1777,13 +2004,22 @@ nsh>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_DISABLEBG</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_DISABLESCRIPT</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_DRIPADDR</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_FATDEVNO</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_FATMOUNTPT</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_FATNSECTORS</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_FATSECTSIZE</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_FILEIOSIZE</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_INITSCRIPT</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_IOBUFFER_SIZE</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_IPADDR</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_LINELEN</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_NESTDEPTH</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_NETMASK</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_NOMAC</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSDEVNO</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSETC</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSSECTSIZE</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_STACKSIZE</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_STRERROR</code></a></li>
<li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_TELNET</code></a></li>
@@ -1794,11 +2030,12 @@ nsh>
<li><a href="#currentwd">Current working directory</a></li>
<li><a href="#cmdecho"><code>echo</code></a></li>
<li><a href="#environvars">Environment Variables</a></li>
<li><a href="#startupscript"><code>/etc/init.d/rcS</code></a>
</ul></td>
<td></ul>
<li><a href="#cmdexec"><code>exec</code></a></li>
<li><a href="#cmdexit"><code>exit</code></a></li>
<li><a href="#cmdget"><code>get</code></a></li>
</ul></td>
<td></ul>
<li><a href="#frontend">Greeting</a></li>
<li><a href="#cmdhelp"><code>help</code></a></li>
<li><a href="#conditional"><code>if-then[-else]-fi</code></a></li>
@@ -1829,6 +2066,7 @@ nsh>
<li><a href="#cmdsh"><code>sh</code></a></li>
<li><a href="#cmdoverview">Simple commands</a></li>
<li><a href="#cmdsleep"><code>sleep</code></a></li>
<li><a href="#startupscript">start-up script</a>
<li><a href="#cmdtest"><code>test</code></a></li>
<li><a href="#cmdunmount"><code>umount</code></a></li>
<li><a href="#cmdunset"><code>unset</code></a></li>

View File

@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: September 8, 2008</p>
<p>Last Updated: October 28, 2008</p>
</td>
</tr>
</table>
@@ -356,7 +356,7 @@
<td><br></td>
<td>
<p>
<li>Network, serial, CAN, driver architecture.</li>
<li>Network, USB (device), serial, CAN, driver architecture.</li>
</p>
</tr>
@@ -374,12 +374,25 @@
<li>Mount-able volumes. Bind mountpoint, filesystem, and block device driver.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>VFAT filesystem support.</li>
<li>FAT12/16/32 filesystem support.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>Generic driver for SPI-based MMC/SD cards.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>ROMFS filesystem support.</li>
</p>
</tr>
@@ -389,7 +402,6 @@
<b>C Library</b>
</td>
</tr>
<tr>
<td><br></td>
<td>
@@ -404,7 +416,6 @@
<b>Networking</b>
</td>
</tr>
<tr>
<td><br></td>
<td>
@@ -412,7 +423,6 @@
<li>TCP/IP, UDP, ICMP stacks.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
@@ -420,7 +430,6 @@
<li>Small footprint (based on uIP).</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
@@ -428,7 +437,6 @@
<li>BSD compatible socket layer.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
@@ -436,6 +444,42 @@
<li>Networking utilities (DHCP, SMTP, TELNET, TFTP, HTTP)</li>
</p>
</tr>
<tr>
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
<td bgcolor="#5eaee1">
<b>USB Device Support</b>
</td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li><i>Gadget</i>-like architecture for USB device controller drivers and device-dependent USB class drivers.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>USB device controller drivers available for the NXP LPC214x and TI DM320.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>Device-dependent USB class drivers available for USB serial and for USB mass storage.</li>
</p>
</tr>
<tr>
<td><br></td>
<td>
<p>
<li>Bult-in USB trace functionality for USB debug.</li>
</p>
</tr>
</table></center>
<p>
@@ -486,59 +530,36 @@
</tr>
</table>
<p>
The 26th release of NuttX (nuttx-0.3.14) is available for download
<p><b>nuttx-0.3.17</b>.
The 29th release of NuttX (nuttx-0.3.16) is available for download
from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
website.
The change log associated with the release is available <a href="#currentrelease">here</a>.
Unreleased changes after this release are available in CVS.
These unreleased changes are listed <a href="#pendingchanges">here</a>.
</p>
<p>
The nuttx-0.3.14 release includes some important bug fixes as well as a few new features.
Critical bugs fixed include:
<p><b>MMC/SD and USB Mass Storage Support</b>.
The nuttx-0.3.17 release includes additional support for USB in NuttX.
The following new features were added:
<ul>
<li>FAT FS:
<ul>
<li>Fixed several critical bugs with regard to fat reading and writing and FAT12
accesses. Basically the FAT FS only worked with my tiny test files and test
cases. A lot of stronger FAT tested is still needed!!</li>
<li>Fixed another FAT bug in implementation of FAT lseek; this prohibit correct
random access to large files.</li>
</ul>
</li>
<li>Network:
<ul>
<li>Corrected a critical bug that may prevent <code>recvfrom()</code> from receiving
packets from most remote UDP port numbers.</li>
<li>Corrected an error in multi-threaded socket handling in <code>send()</code> and
<code>sendto()</code>. Outgoing data could overwrite incoming data.</li>
<li>Corrected IP checksum calculation in ICMP and UDP message send logic.
<li>Corrected an error in <code>send()</code> timeout logic.</li>
</ul>
</li>
<li>Added support for SPI-based MMC/SD cards (with an SPI driver for the NXP LPC214x).</li>
<li>Added USB storage class device side driver (BBB)</li>
<li>Added an example that demonstrates the USB storage class by exporting the SPI based MMC/SD card on the NXP LPC214x.</li>
</ul>
</p>
<p>
New features were also added:
<ul>
<li>Network:
<ul>
<li>Added support for application access to ICMP protocol stacks; Added
ping request logic (<code>net/uip</code>).
<li>Added basic TFTP client logic (<code>netutils/tftpc</code>).
</ul>
</li>
<li>NuttShell (NSH):
<ul>
<li>New commands: <code>test</code>, <code>[</code>, <code>ping</code>,
<code>mkrd,</code> <code>xd</code>, andTFTP <code>get</code> and <code>put</code> commands.
(See the new NuttShell User Guide for additional information).
</ul>
</li>
</ul>
This is an early alpha release of these drivers.
At present they only work with debug features enabled so there are probably some race conditions that
occur only with debug features disabled (anyone out there with a USB analyzer? I would love
to know what is happening).
</p>
<p><b>Bugs Fixed</b>
Several important bugs were also fixed in the FAT file system, USB serial driver and
NXP LPC214x USB controller driver (see the current <a href="#currentrelease">ChangeLog</a> for details).
</p>
<p>
These changes were verified only on the mcu123.com NXP LPC2148 board using a Linux development environment.
USB testing was performed using both a Linux host and a WinXP host.
As usual, any feedback about bugs or suggestions for improvement would be greatly appreciated.
</p>
@@ -598,11 +619,13 @@
<b>NXP LPC214x</b>.
Support is provided for the NXP LPC214x family of processors. In particular,
support is provided for the mcu123.com lpc214x evaluation board (LPC2148).
This port also used the GNU arm-eld toolchain* under Linux or Cygwin.
This port also used the GNU arm-elf toolchain* under Linux or Cygwin.
</p>
<p>
<b>STATUS:</b>
Initial coding of this port code complete but has not yet been verified.
The basic port includes successful booting, timer interrupts, serial console,
USB driver, succesfully passing the OS test, and a NuttShell (NSH) configuration.
Additional driver development is underway.
</p>
</td>
</tr>
@@ -624,7 +647,9 @@
</p>
<p>
<b>STATUS:</b>
This port is complete and verified.
The basic port (timer interrupts, serial ports, network, etc.) is complete.
All implemented features have been verified with the exception of the USB device-side
driver; that implementation is complete but completely untested.
</p>
</td>
</tr>
@@ -1037,35 +1062,34 @@ Other memory:
</table>
<pre><ul>
nuttx-0.3.14 2008-09-08 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* FAT FS now uses position variable in struct file. This simplifies operations
like ftell().
* fseek() needs to discard bytes buffered by ungetc().
* Corrected ftell() return value.
* Added fsetpos() and fgetpos().
* NSH: Now supports 'test' and '[' commands
* Correct error in send() timeout logic.
* Correct error in multi-threaded socket handling in send() and sendto().
Outgoing data could overwrite incoming data.
* Add support to uIP for application access to ICMP protocol stacks; Add
ping request logic.
* NSH: Add ping command
* Correct IP checksum calculation in ICMP and UDP message send logic.
* NSH: Created an HTML document and a more detailed README file describing NSH.
* Added basic TFTP client logic (netutils/tftpc). Untested as of initial check-in.
* NSH: Add get and put commands to support TFTP get and put operations.
* NSH: Added a mkrd command that will create a RAMDISK that can be formatted
and mounted.
* Corrected a critical bug that prevent recvfrom from receiving packets from
any remote UDP port.
* NSH: Add hexadecimal dump command (xd)
* Fixed several critical bugs with regard to fat reading and writing and FAT12
accesses. Basically the FAT FS only worked with my tiny test files and test
cases. A lot of stronger FAT tested is needed!!
* Fixed another FAT bug in implementation of FAT lseek; this prohibit correct
random access to large files.
nuttx-0.3.17 2008-10-28 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Incorporate patch "[2164503] nuttx-0.3.16 does not build for ARM with USB disabled"
* Reduced the amount of memory reserved for USB serial control requests. It
was unnecessarily large.
* Added LPC214x SPI1 driver to interface with MMC on mcu123.com board.
* Added a simple SPI-based MMC/SD block driver
* NSH: Add LPC214x-specific support to NSH; NSH now mounts any SD cards in the slot.
* FAT: Fix access to unaligned 32-bit values in partion table (start sector &amp; size)
* Fixed a problem with a un-initialized variable in the USB serial driver.
* Added USB storage NXP LPC214x configuration
* Added a test for USB storage under examples/usbstorage
* Fixed a bug in the LPC214x USB driver: It was not properly clearing a HALTed
endpoints (other than EP) on receipt of CLEAR FEATURES request.
* Added USB storage class device side driver (BBB)
* Fixed a bug in the LPC214x USB driver: It was not properly handling request buffers
larger then the endpoint's max packet (DM320 driver also fixed, untested)
* Added logic to the USB device interface: A bit is needed to force the driver to
to terminate an IN transfer with a short packet (zero-length if necessary).
* Fix an error in the NXP LPC214x USB device driver that was causing corruption of
the request queue (M320 driver also fixed, untested)
* Correct another error in the NXP LPC214x USB device driver that caused read failures
when the request buffer size was larger than maxpacket.
* Numerous corrections/extensions to the USB tracing logic included in 0.3.16 (but
not integrated until 0.3.17)
* Fixed another bug in the NXP LPC214x USB device driver: After a stalled endpoint
is resumed (view CLEAR FEATURE), we must restart the IN (outgoing) queue.
pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
pascal-0.1.2 2008-02-10 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Add logic to build and link with the ZDS-II toolchain
use with the z16f.
@@ -1089,11 +1113,11 @@ buildroot-0.1.0 2007-03-09 &lt;spudmonkey@racsa.co.cr&gt
</table>
<pre><ul>
nuttx-0.3.15 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
nuttx-0.3.18 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-0.1.1 2008-xx-xx &lt;spudmonkey@racsa.co.cr&gt
buildroot-0.1.1 2008-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
* Support for m68k-elf and m68hc11 toolchain
</pre></ul>

View File

@@ -16,7 +16,7 @@
</b></big></h1>
<p><small>by</small></p>
<p>Gregory Nutt</p>
<p><small>Last Update: September 1, 2008</small></p>
<p><small>Last Update: October 22, 2008</small></p>
</center>
<center><h1>Table of Contents</h1></center>
@@ -1334,8 +1334,15 @@ The system can be re-made subsequently by just typing <code>make</code>.
</p>
<ul>
<li><code>CONFIG_RRLOAD_BINARY</code>:
Make the rrload binary format used with BSPs from <a href="www.ridgerun.com">ridgerun.com</a>.</li>
<li><code>CONFIG_HAVE_LIBM</code>:
Make the rrload binary format used with BSPs from <a href="www.ridgerun.com">ridgerun.com</a>
using the <code>tools/mkimage.sh</code> script.</li>
<li><code>CONFIG_INTELHEX_BINARY</code>:
Make the Intel HEX binary format used with many different loaders using the GNU objcopy program
This option hould not be selected if you are not using the GNU toolchain.</li>
<li><code>CONFIG_RAW_BINARY</code>:
mmke a raw binary format file used with many different loaders using the GNU objcopy program.
This option should not be selected if you are not using the GNU toolchain.</li>
<li><code>CONFIG_HAVE_LIBM</code>:
Toolchain supports libm.a</li>
</ul>
@@ -1515,6 +1522,29 @@ The system can be re-made subsequently by just typing <code>make</code>.
</li>
</ul>
<h2>File Systems</h2>
<ul>
<li>
<code>CONFIG_FS_FAT</code>: Enable FAT filesystem support.
</li>
<li>
<code>CONFIG_FAT_SECTORSIZE</code>: Max supported sector size.
</li>
<li>
<code>CONFIG_FS_ROMFS</code>: Enable ROMFS filesystem support
</li>
</ul>
<h2>SPI-based MMC/SD driver<h2>
<ul>
<li>
<code>CONFIG_MMCSD_NSLOTS</code>: Number of MMC/SD slots supported by the driver. Default is one.
</li>
<li>
<code>CONFIG_MMCSD_READONLY</code>: Provide read-only access. Default is Read/Write
</li>
</ul>
<h2>Network Support</h2>
<h3>TCP/IP and UDP support via uIP</h2>
<ul>
@@ -1607,6 +1637,98 @@ The system can be re-made subsequently by just typing <code>make</code>.
</li>
</ul>
<h2>USB Device-Side Support</h2>
<h3>USB Device Controller Driver</h3>
<ul>
<li>
<code>CONFIG_USBDEV</code>: Enables USB device support
</li>
<li>
<code>CONFIG_USBDEV_ISOCHRONOUS</code>: Build in extra support for isochronous endpoints
</li>
<li>
<code>CONFIG_USBDEV_DUALSPEED</code>: Hardware handles high and full speed operation (USB 2.0)
</li>
<li>
<code>CONFIG_USBDEV_SELFPOWERED</code>: Will cause USB features to indicate that the device is self-powered
</li>
<li>
<code>CONFIG_USBDEV_MAXPOWER</code>: Maximum power consumption in mA
</li>
<li>
<code>CONFIG_USBDEV_TRACE</code>: Enables USB tracing for debug
</li>
<li>
<code>CONFIG_USBDEV_TRACE_NRECORDS</code>: Number of trace entries to remember
</li>
</ul>
<h3>USB Serial Device Class Driver</h3>
<ul>
<li>
<code>CONFIG_USBSER</code>: Enable compilation of the USB serial driver
</li>
<li>
<code>CONFIG_USBSER_EPINTIN</code>: The logical 7-bit address of a hardware endpoint that supports interrupt IN operation
</li>
<li>
<code>CONFIG_USBSER_EPBULKOUT</code>: The logical 7-bit address of a hardware endpoint that supports bulk OUT operation
</li>
<li>
<code>CONFIG_USBSER_EPBULKIN</code>: The logical 7-bit address of a hardware endpoint that supports bulk IN operation
</li>
<li>
<code>CONFIG_USBSER_NWRREQS</code> and <code>CONFIG_USBSER_NRDREQS</code>: The number of write/read requests that can be in flight
</li>
<li>
<code>CONFIG_USBSER_VENDORID</code> and <code>CONFIG_USBSER_VENDORSTR</code>: The vendor ID code/string
</li>
<li>
<code>CONFIG_USBSER_PRODUCTID</code> and <code>CONFIG_USBSER_PRODUCTSTR</code>: The product ID code/string
</li>
<li>
<code>CONFIG_USBSER_RXBUFSIZE</code> and <code>CONFIG_USBSER_TXBUFSIZE</code>: Size of the serial receive/transmit buffers
</li>
</ul>
<h3>USB Storage Device Configuration</h3>
<ul>
<li>
<code>CONFIG_USBSTRG</code>:
Enable compilation of the USB storage driver
</li>
<li>
<code>CONFIG_USBSTRG_EP0MAXPACKET</code>:
Max packet size for endpoint 0
</li>
<li>
<code>CONFIG_USBSTRGEPBULKOUT</code> and <code>CONFIG_USBSTRG_EPBULKIN</code>:
The logical 7-bit address of a hardware endpoints that support bulk OUT and IN operations
</li>
<li>
<code>CONFIG_USBSTRG_NWRREQS</code> and <code>CONFIG_USBSTRG_NRDREQS</code>:
The number of write/read requests that can be in flight
</li>
<li>
<code>CONFIG_USBSTRG_BULKINREQLEN</code> and <code>CONFIG_USBSTRG_BULKOUTREQLEN</code>:
The size of the buffer in each write/read request.
This value needs to be at least as large as the endpoint maxpacket and
ideally as large as a block device sector.
</li>
<li>
<code>CONFIG_USBSTRG_VENDORID</code> and <code>CONFIG_USBSTRG_VENDORSTR</code>:
The vendor ID code/string
</li>
<li>
<code>CONFIG_USBSTRG_PRODUCTID</code> and <code>CONFIG_USBSTRG_PRODUCTSTR</code>:
The product ID code/string
</li>
<li>
<code>CONFIG_USBSTRG_REMOVABLE</code>:
Select if the media is removable
</li>
</ul>
<h2>Stack and heap information</h2>
<ul>

File diff suppressed because it is too large Load Diff

View File

@@ -201,6 +201,21 @@ examples/$(CONFIG_EXAMPLE)/lib$(CONFIG_EXAMPLE)$(LIBEXT): context
$(BIN): context depend $(LINKLIBS)
@$(MAKE) -C $(ARCH_SRC) TOPDIR="$(TOPDIR)" LINKLIBS="$(LINKLIBS)" $(BIN)
@if [ -w /tftpboot ] ; then \
cp -f $(TOPDIR)/$@ /tftpboot/$@.${CONFIG_ARCH}; \
fi
ifeq ($(CONFIG_RRLOAD_BINARY),y)
@$(TOPDIR)/tools/mkimage.sh --Prefix $(CROSSDEV) $(TOPDIR)/$@ $(TOPDIR)/$@.rr
@if [ -w /tftpboot ] ; then \
cp -f $(TOPDIR)/$@.rr /tftpboot/$@.rr.${CONFIG_ARCH}; \
fi
endif
ifeq ($(CONFIG_INTELHEX_BINARY),y)
@$(OBJCOPY) -O ihex $(TOPDIR)/$@ $(TOPDIR)/$@.ihx
endif
ifeq ($(CONFIG_RAW_BINARY),y)
@$(OBJCOPY) -O binary $(TOPDIR)/$@ $(TOPDIR)/$@.bin
endif
depend:
@for dir in $(MAKEDIRS) ; do \

View File

@@ -569,4 +569,114 @@ These changes were verified only on the Neuros OSD (ARM9). Please report any er
This tarball contains a complete CVS snapshot from September 8, 2008.
nutt-0.3.15
^^^^^^^^^^^
This is the 27th release of NuttX. This release includes some new features:
* Adds support for the ROMFS filesystem
* ROMFS supports mmap() to provide eXecute In Place (XIP) capability
* NuttShell (NSH) can be configured to use ROMFS to provide a tiny read-only
filesystem with a startup script in /etc.
* Completed the basic port of the NXP LPC2148 on the mcu123.com board.
The basic port includes successful booting, timer interrupts, serial console,
succesfully passing the examples/ostest, and a NuttShell (NSH) configuration.
These changes were verified only on the mcu123.com NXP LPC2148 board. Please report
any errors to me.
This tarball contains a complete CVS snapshot from September 20, 2008.
nutt-0.3.16
^^^^^^^^^^^
This is the 28th release of NuttX. This release includes the first support for
USB in NuttX. A set of USB APIs were added to support USB device controller
drivers and bindings to USB device class drivers. The form of the interface
was inspired by the Linux Gadget APIs.
At present USB device controller drivers are included for:
* The NXP LPC214x. This driver has been verified and is an early alpha
stage in quality.
* TI DM320. Coding for this driver is complete but it is completely untested
as of this release.
A controller-independent class driver is also included for:
* USB serial class device driver (emulates the Prolific PL2303 serial-to-USB
adaptor). This drver has only been verified with the Linux host PL2303
driver.
Other new features include:
* Add an option to set aside a separate stack for interrupt handling (ARM only).
This is useful when memory is constrained, there are multiple tasks, and
the interrupt stack requirement is high (as when USB is enabled).
A few bugs were also fixed:
* Fixed the frequency of system timer interrupts in the NXP LPC214x port
(off by 20x in nuttx-0.3.15)
* Fixed serial driver bugs related to (1) open counts and (2) recognizing
O_NONBLOCK on read.
* Fixed an error in read(); it was not setting the errno on errors returned
from the driver.
These changes were verified only on the mcu123.com NXP LPC2148 board using with
a Linux host. Please report any errors to me.
This tarball contains a complete CVS snapshot from Octobor 10, 2008.
UPDATE
^^^^^^
This release does not build for the ARM target when USB is disabled. Here is the fix:
Index: arch/arm/src/common/up_internal.h
===================================================================
RCS file: /cvsroot/nuttx/nuttx/arch/arm/src/common/up_internal.h,v
retrieving revision 1.13
diff -u -r1.13 up_internal.h
--- arch/arm/src/common/up_internal.h 6 Oct 2008 16:20:52 -0000 1.13
+++ arch/arm/src/common/up_internal.h 13 Oct 2008 20:48:21 -0000
@@ -200,7 +200,8 @@
extern void up_usbinitialize(void);
extern void up_usbuninitialize(void);
#else
-# define up_netinitialize()
+# define up_usbinitialize()
+# define up_usbuninitialize()
#endif
#endif /* __ASSEMBLY__ */
nuttx-0.3.17
^^^^^^^^^^^^
This is the 29th release of NuttX. This release includes the additional support for
USB in NuttX. The following new features were added:
* Added support for SPI-based MMC/SD cards (with an SPI driver for the NXP LPC214x).
* Added USB storage class device side driver (BBB)
* Added an example that demonstrates the USB storage class by exporting the SPI
based MMC/SD card on the NXP LPC214x.
This is an early alpha release of these drivers. At present they only work with
debug features enabled so there are probably some race conditions that occur only
with debug features disabled (anyone out there with a USB analyzer? I would love
to know what is happening).
At present USB device controller drivers are included for:
Several important bugs were also fixed in the FAT file system, USB serial driver and
NXP LPC214x USB controller driver (see the ChangeLog for details).
These changes were verified only on the mcu123.com NXP LPC2148 board using a Linux
development environment. USB testing was performed using both a Linux host and a WinXP
host. Please report any errors to me.
This tarball contains a complete CVS snapshot from Octobor 28, 2008.

63
TODO
View File

@@ -8,18 +8,18 @@ NuttX TODO List (Last updated July 31, 2008)
(1) pthreads (sched/)
(1) C++ Support
(12) Network (net/, netutils/)
(2) USB (drivers/usbdev)
(1) USB (drivers/usbdev)
(3) Libraries (lib/)
(4) File system/Generic drivers (fs/, drivers/)
(5) File system/Generic drivers (fs/, drivers/)
(1) Pascal add-on (pcode/)
(2) Documentation (Documentation/)
(3) Build system
(2) NuttShell (NSH) (examples/nsh)
(1) Other Applications & Tests (examples/)
(1) ARM (arch/arm/)
(0) ARM (arch/arm/)
(1) ARM/C5471 (arch/arm/src/c5471/)
(1) ARM/DM320 (arch/arm/src/dm320/)
(2) ARM/LPC214x (arch/arm/src/lpc214x/)
(5) ARM/LPC214x (arch/arm/src/lpc214x/)
(4) pjrc-8052 / MCS51 (arch/pjrc-8051/)
(7) z80/z8 (arch/z80/)
(8) z16 (arch/z16/)
@@ -204,11 +204,10 @@ o Network (net/, netutils/)
o USB (drivers/usbdev)
^^^^^^^^^^^^^^^^^^^^
Description: Implement USB device support
Status: Open
Priority: High
Description: Implement USB bulk / serial device support
Description: The USB bulk storage class driver configuration (examples/usbstorage)
does not work reliably when debug is disabled (CONFIG_DEBUG+CONFIG_DEBUG_VERBOSE
+CONFIG_DEBUG_USB). Race conditions are suspected (probably in the NXP LPC214x
USB controller driver).
Status: Open
Priority: High
@@ -233,7 +232,7 @@ o File system / Generic drivers (fs/, drivers/)
Status: Open
Priority: Low
Description: FAT32: long file names
Description: FAT: long file names
Status: Open
Priority: Medium
@@ -250,6 +249,17 @@ o File system / Generic drivers (fs/, drivers/)
when there are not open references to the pipe/FIFO.
Priority: Medium
Description: The ROMFS file system does not verify checksums on either
volume header on on the individual files.
Status: Open
Priority: Low. I have mixed feelings about if NuttX should pay a
performance penalty for better data integrity.
Description: FAT: FAT32 is untested -- because I don't have any large
enough devices yet to support a FAT32 FS.
Status: Open
Priority: Medium
o Pascal Add-On (pcode/)
^^^^^^^^^^^^^^^^^^^^^^
@@ -315,12 +325,6 @@ o Other Applications & Tests (examples/)
o ARM (arch/arm/)
^^^^^^^^^^^^^^^
Description: Add option to use a separate stack for interrupt handling. At
present, each interrupt executes on top of the user stack
allocation making each user stack allocation larger than needed.
Status: Open
Priority: Medium
o ARM/C5471 (arch/arm/src/c5471/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -340,16 +344,37 @@ o ARM/DM320 (arch/arm/src/dm320/)
Status: Open
Priority: Medium
Description: A USB device controller driver was added but has never been tested.
Status: Open
Priority: Medium
o ARM/LPC214x (arch/arm/src/lpc214x/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Finish bringup
Description: Should use Vector Interrupts
Status: Open
Priority: Low
Description: USB DMA not fully implemented. Partial logic is in place but it is
fragmentary and bogus.
Status: Open
Priority: Low
Description: USB Serial Driver reports wrong error when opened before the
USB is connected (reports EBADF instead of ENOTCONN)
Status: Open
Priority: Low
Description: The USB bulk storage class driver configuration (examples/usbstorage)
does not work reliably when debug is disabled (CONFIG_DEBUG+CONFIG_DEBUG_VERBOSE
+CONFIG_DEBUG_USB). Race conditions are suspected (probably in the NXP LPC214x
USB controller driver).
Status: Open
Priority: High
Description: Add MMC and USB support
Description: At present the SPI driver is polled. Should it be interrupt driven?
Status: Open
Priority: Mediam
Priority: Medium
o pjrc-8052 / MCS51 (arch/pjrc-8051/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/lpc214x/irq.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -81,7 +81,7 @@
* following will be used by the system.
*/
#define LPC214X_SYSTEMER_VEC 0 /* System timer */
#define LPC214X_SYSTIMER_VEC 0 /* System timer */
/****************************************************************************
* Public Types

View File

@@ -82,7 +82,12 @@ board/libboard$(LIBEXT):
nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT)
@echo "LD: nuttx"
@$(LD) --entry=__start $(LDFLAGS) $(LDPATHES) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(HEAD_AOBJ) \
--start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC)
--start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC)
ifeq ($(CONFIG_BOOT_FROM_FLASH),y)
@export flashloc=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _eronly | cut -d' ' -f1`; \
$(OBJCOPY) --adjust-section-vma=.data=0x$$flashloc $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage
@mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@
endif
@$(NM) $(TOPDIR)/$@ | \
grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
sort > $(TOPDIR)/System.map
@@ -91,12 +96,6 @@ nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT)
$(OBJCOPY) --adjust-section-vma=.vector=0x$$vflashstart $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage; \
mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@; \
fi
ifeq ($(CONFIG_RRLOAD_BINARY),y)
@$(TOPDIR)/tools/mkimage.sh --Prefix $(CROSSDEV) $(TOPDIR)/$@ $(TOPDIR)/$@.rr
@if [ -w /tftpboot ] ; then \
cp -f $(TOPDIR)/$@.rr /tftpboot/$@.rr.${CONFIG_ARCH}; \
fi
endif
.depend: Makefile chip/Make.defs $(SRCS)
@if [ -e board/Makefile ]; then \

View File

@@ -1,7 +1,7 @@
/**************************************************************************
* c5471/c5471_lowputc.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*

View File

@@ -1,7 +1,7 @@
/********************************************************************
* c5471/c5471_vectors.S
/************************************************************************************
* arch/arm/src/c5471/c5471_vectors.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,23 +31,23 @@
* 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 <nuttx/irq.h>
#include "up_arch.h"
/********************************************************************
/************************************************************************************
* Definitions
********************************************************************/
************************************************************************************/
/********************************************************************
/************************************************************************************
* Global Data
********************************************************************/
************************************************************************************/
.data
g_irqtmp:
@@ -60,29 +60,29 @@ g_aborttmp:
.word 0 /* Saved lr */
.word 0 /* Saved spsr */
/********************************************************************
/************************************************************************************
* Assembly Macros
********************************************************************/
************************************************************************************/
/********************************************************************
/************************************************************************************
* Private Functions
********************************************************************/
************************************************************************************/
.text
/********************************************************************
/************************************************************************************
* Public Functions
********************************************************************/
************************************************************************************/
.text
/********************************************************************
/************************************************************************************
* Name: up_vectorirq
*
* Description:
* Interrupt excetpion. Entered in IRQ mode with spsr = SVC
* CPSR, lr = SVC PC
********************************************************************/
************************************************************************************/
.globl up_vectorirq
.type up_vectorirq, %function
@@ -156,7 +156,15 @@ up_vectorirq:
mov fp, #0 /* Init frame pointer */
mov r1, sp /* Get r1=xcp */
#if CONFIG_ARCH_INTERRUPTSTACK > 3
ldr sp, .Lirqstackbase /* SP = interrupt stack base */
str r1, [sp] /* Save the user stack pointer */
bl up_doirq /* Call the handler */
ldr sp, [sp] /* Restore the user stack pointer */
#else
bl up_doirq /* Call the handler */
#endif
/* Restore the CPSR, SVC modr registers and return */
.Lnoirqset:
@@ -166,15 +174,18 @@ up_vectorirq:
.Lirqtmp:
.word g_irqtmp
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.Lirqstackbase:
.word up_stackbase
#endif
.align 5
/********************************************************************
/************************************************************************************
* Function: up_vectorswi
*
* Description:
* SWI interrupt. We enter the SWI in SVC mode
********************************************************************/
************************************************************************************/
.globl up_vectorswi
.type up_vectorswi, %function
@@ -222,7 +233,7 @@ up_vectorswi:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectordata
*
* Description:
@@ -230,7 +241,7 @@ up_vectorswi:
* abort handler. This function is entered in ABORT mode
* with spsr = SVC CPSR, lr = SVC PC
*
********************************************************************/
************************************************************************************/
.globl up_vectordata
.type up_vectordata, %function
@@ -290,13 +301,13 @@ up_vectordata:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectorprefetch
*
* Description:
* Prefetch abort exception. Entered in ABT mode with
* spsr = SVC CPSR, lr = SVC PC
********************************************************************/
************************************************************************************/
.globl up_vectorprefetch
.type up_vectorprefetch, %function
@@ -356,14 +367,14 @@ up_vectorprefetch:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectorundefinsn
*
* Description:
* Undefined instruction entry exception. Entered in
* UND mode, spsr = SVC CPSR, lr = SVC PC
*
********************************************************************/
************************************************************************************/
.globl up_vectorundefinsn
.type up_vectorundefinsn, %function
@@ -422,28 +433,50 @@ up_vectorundefinsn:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectorfiq
*
* Description:
* Shouldn't happen
********************************************************************/
************************************************************************************/
.globl up_vectorfiq
.type up_vectorfiq, %function
up_vectorfiq:
subs pc, lr, #4
/********************************************************************
/************************************************************************************
* Name: up_vectoraddrexcption
*
* Description:
* Shouldn't happen
*
********************************************************************/
************************************************************************************/
.globl up_vectoraddrexcptn
.type up_vectoraddrexcptn, %function
up_vectoraddrexcptn:
b up_vectoraddrexcptn
/************************************************************************************
* Name: up_interruptstack/g_userstack
*
* Description:
* Shouldn't happen
*
************************************************************************************/
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.bss
.align 4
.globl g_userstack
.type g_userstack, object
up_interruptstack:
.skip ((CONFIG_ARCH_INTERRUPTSTACK & ~3) - 4)
g_userstack:
up_stackbase:
.skip 4
.size g_userstack, 4
.size up_interruptstack, (CONFIG_ARCH_INTERRUPTSTACK & ~3)
#endif
.end

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* common/arm.h
* arch/arm/src/common/arm.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -33,8 +33,8 @@
*
************************************************************************************/
#ifndef __ARM_H
#define __ARM_H
#ifndef __ARCH_ARM_SRC_COMMON_ARM_H
#define __ARCH_ARM_SRC_COMMON_ARM_H
/************************************************************************************
* Included Files
@@ -249,6 +249,6 @@
#ifndef __ASSEMBLY__
#endif
#endif /* __ASSEMBLY__ */
#endif /* __ARM_H */
#endif /* __ARCH_ARM_SRC_COMMON_ARM_H */

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_allocateheap.c
/****************************************************************************
* arch/arm/src/common/up_allocateheap.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,36 +31,39 @@
* 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 <sys/types.h>
#include <debug.h>
#include <nuttx/arch.h>
#include "up_arch.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_allocate_heap
*
* Description:
@@ -69,7 +72,7 @@
* are not defined, then this function will be called to
* dynamically set aside the heap region.
*
************************************************************/
****************************************************************************/
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* common/up_arch.h
/****************************************************************************
* arch/arm/src/common/up_arch.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,14 +31,14 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************************************/
****************************************************************************/
#ifndef __UP_ARCH_H
#define __UP_ARCH_H
#ifndef ___ARCH_ARM_SRC_COMMON_UP_ARCH_H
#define ___ARCH_ARM_SRC_COMMON_UP_ARCH_H
/************************************************************************************
/****************************************************************************
* Included Files
************************************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#ifndef __ASSEMBLY__
@@ -49,13 +49,13 @@
#include <arch/board/board.h>
#include "chip.h"
/************************************************************************************
/****************************************************************************
* Definitions
************************************************************************************/
****************************************************************************/
/************************************************************************************
/****************************************************************************
* Inline Functions
************************************************************************************/
****************************************************************************/
#ifndef __ASSEMBLY__
@@ -89,4 +89,4 @@ static inline void putreg16(uint16 val, unsigned int addr)
#endif
#endif /* __UP_ARCH_H */
#endif /* ___ARCH_ARM_SRC_COMMON_UP_ARCH_H */

View File

@@ -94,50 +94,37 @@ static inline uint32 up_getsp(void)
****************************************************************************/
#ifdef CONFIG_ARCH_STACKDUMP
static void up_stackdump(void)
static void up_stackdump(uint32 sp, uint32 stack_base)
{
_TCB *rtcb = (_TCB*)g_readytorun.head;
uint32 sp = up_getsp();
uint32 stack_base;
uint32 stack_size;
uint32 stack ;
if (rtcb->pid == 0)
for (stack = sp & ~0x1f; stack < stack_base; stack += 32)
{
stack_base = g_heapbase - 4;
stack_size = CONFIG_PROC_STACK_SIZE;
}
else
{
stack_base = (uint32)rtcb->adj_stack_ptr;
stack_size = (uint32)rtcb->adj_stack_size;
uint32 *ptr = (uint32*)stack;
lldbg("%08x: %08x %08x %08x %08x %08x %08x %08x %08x\n",
stack, ptr[0], ptr[1], ptr[2], ptr[3],
ptr[4], ptr[5], ptr[6], ptr[7]);
}
}
#else
# define up_stackdump()
#endif
lldbg("stack_base: %08x\n", stack_base);
lldbg("stack_size: %08x\n", stack_size);
lldbg("sp: %08x\n", sp);
/****************************************************************************
* Name: up_registerdump
****************************************************************************/
if (sp >= stack_base || sp < stack_base - stack_size)
{
lldbg("ERROR: Stack pointer is not within allocated stack\n");
return;
}
else
{
uint32 stack = sp & ~0x1f;
for (stack = sp & ~0x1f; stack < stack_base; stack += 32)
{
uint32 *ptr = (uint32*)stack;
lldbg("%08x: %08x %08x %08x %08x %08x %08x %08x %08x\n",
stack, ptr[0], ptr[1], ptr[2], ptr[3],
ptr[4], ptr[5], ptr[6], ptr[7]);
}
}
#ifdef CONFIG_ARCH_STACKDUMP
static inline void up_registerdump(void)
{
/* Are user registers available from interrupt processing? */
if (current_regs)
{
int regs;
/* Yes.. dump the interrupt registers */
for (regs = REG_R0; regs <= REG_R15; regs += 8)
{
uint32 *ptr = (uint32*)&current_regs[regs];
@@ -149,7 +136,101 @@ static void up_stackdump(void)
}
}
#else
# define up_stackdump()
# define up_registerdump()
#endif
/****************************************************************************
* Name: up_dumpstate
****************************************************************************/
#ifdef CONFIG_ARCH_STACKDUMP
static void up_dumpstate(void)
{
_TCB *rtcb = (_TCB*)g_readytorun.head;
uint32 sp = up_getsp();
uint32 ustackbase;
uint32 ustacksize;
#if CONFIG_ARCH_INTERRUPTSTACK > 3
uint32 istackbase;
uint32 istacksize;
#endif
/* Get the limits on the user stack memory */
if (rtcb->pid == 0)
{
ustackbase = g_heapbase - 4;
ustacksize = CONFIG_PROC_STACK_SIZE;
}
else
{
ustackbase = (uint32)rtcb->adj_stack_ptr;
ustacksize = (uint32)rtcb->adj_stack_size;
}
/* Get the limits on the interrupt stack memory */
#if CONFIG_ARCH_INTERRUPTSTACK > 3
istackbase = (uint32)&g_userstack;
istacksize = (CONFIG_ARCH_INTERRUPTSTACK & ~3) - 4;
/* Show interrupt stack info */
lldbg("sp: %08x\n", sp);
lldbg("IRQ stack:\n");
lldbg(" base: %08x\n", istackbase);
lldbg(" size: %08x\n", istacksize);
/* Does the current stack pointer lie within the interrupt
* stack?
*/
if (sp <= istackbase && sp > istackbase - istacksize)
{
/* Yes.. dump the interrupt stack */
up_stackdump(sp, istackbase);
/* Extract the user stack pointer which should lie
* at the base of the interrupt stack.
*/
sp = g_userstack;
lldbg("sp: %08x\n", sp);
}
/* Show user stack info */
lldbg("User stack:\n");
lldbg(" base: %08x\n", ustackbase);
lldbg(" size: %08x\n", ustacksize);
#else
lldbg("sp: %08x\n", sp);
lldbg("stack base: %08x\n", ustackbase);
lldbg("stack size: %08x\n", ustacksize);
#endif
/* Dump the user stack if the stack pointer lies within the allocated user
* stack memory.
*/
if (sp > ustackbase || sp <= ustackbase - ustacksize)
{
#if !defined(CONFIG_ARCH_INTERRUPTSTACK) || CONFIG_ARCH_INTERRUPTSTACK < 4
lldbg("ERROR: Stack pointer is not within allocated stack\n");
#endif
}
else
{
up_stackdump(sp, ustackbase);
}
/* Then dump the registers (if available) */
up_registerdump();
}
#else
# define up_dumpstate()
#endif
/****************************************************************************
@@ -201,7 +282,7 @@ void up_assert(const ubyte *filename, int lineno)
lldbg("Assertion failed at file:%s line: %d\n",
filename, lineno);
#endif
up_stackdump();
up_dumpstate();
_up_assert(EXIT_FAILURE);
}
@@ -223,6 +304,6 @@ void up_assert_code(const ubyte *filename, int lineno, int errorcode)
lldbg("Assertion failed at file:%s line: %d error code: %d\n",
filename, lineno, errorcode);
#endif
up_stackdump();
up_dumpstate();
_up_assert(errorcode);
}

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_blocktask.c
/****************************************************************************
* arch/arm/src/common/up_blocktask.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_block_task
*
* Description:
@@ -79,7 +79,7 @@
* task_state: Specifies which waiting task list should be
* hold the blocked task TCB.
*
************************************************************/
****************************************************************************/
void up_block_task(_TCB *tcb, tstate_t task_state)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_copystate.c
/****************************************************************************
* arch/arm/src/common/up_copystate.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,36 +31,38 @@
* 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 <sys/types.h>
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_undefinedinsn
************************************************************/
****************************************************************************/
/* A little faster than most memcpy's */

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_createstack.c
/****************************************************************************
* arch/arm/src/common/up_createstack.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,34 +31,37 @@
* 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 <sys/types.h>
#include <sched.h>
#include <debug.h>
#include <nuttx/kmalloc.h>
#include <nuttx/arch.h>
#include "up_arch.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Types
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Function Prototypes
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Global Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_create_stack
*
* Description:
@@ -77,7 +80,7 @@
* tcb: The TCB of new task
* stack_size: The requested stack size. At least this much
* must be allocated.
************************************************************/
****************************************************************************/
STATUS up_create_stack(_TCB *tcb, size_t stack_size)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_dataabort.c
/****************************************************************************
* arch/arm/src/common/up_dataabort.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -44,9 +44,9 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/* Output debug info if stack dump is selected -- even if
* debug is not selected.
@@ -57,21 +57,21 @@
# define lldbg lib_lowprintf
#endif
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_dataabort
************************************************************/
****************************************************************************/
void up_dataabort(uint32 *regs)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_doirq.c
/****************************************************************************
* arch/arm/src/common/up_doirq.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -46,25 +46,25 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
void up_doirq(int irq, uint32* regs)
{

View File

@@ -284,7 +284,7 @@ __start:
#endif
/* Perform early serial initialization */
#if defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0
#ifdef CONFIG_USE_EARLYSERIALINIT
bl up_earlyserialinit
#endif

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_idle.c
/****************************************************************************
* arch/arm/src/common/up_idle.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,34 +31,34 @@
* 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 <sys/types.h>
#include <nuttx/arch.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_idle
*
* Description:
@@ -71,7 +71,7 @@
* this is where power management operations might be
* performed.
*
************************************************************/
****************************************************************************/
void up_idle(void)
{

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_initialize.c
* arch/arm/src/common/up_initialize.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -38,10 +38,13 @@
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <debug.h>
#include <nuttx/arch.h>
#include <nuttx/fs.h>
#include "up_arch.h"
#include "up_internal.h"
@@ -135,10 +138,19 @@ void up_initialize(void)
/* Initialize the serial device driver */
#ifdef CONFIG_USE_SERIALDRIVER
up_serialinit();
#elif defined(CONFIG_DEV_LOWCONSOLE)
lowconsole_init();
#endif
/* Initialize the netwok */
up_netinitialize();
/* Initializ USB */
up_usbinitialize();
up_ledon(LED_IRQSENABLED);
}

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_initialstate.c
/****************************************************************************
* arch/arm/src/common/up_initialstate.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -44,23 +44,23 @@
#include "up_internal.h"
#include "up_arch.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_initial_state
*
* Description:
@@ -72,7 +72,7 @@
* and/or stack so that execution will begin at tcb->start
* on the next context switch.
*
************************************************************/
****************************************************************************/
void up_initial_state(_TCB *tcb)
{

View File

@@ -55,6 +55,22 @@
#undef CONFIG_SUPPRESS_UART_CONFIG /* DEFINED: Do not reconfig UART */
#undef CONFIG_DUMP_ON_EXIT /* DEFINED: Dump task state on exit */
/* Determine which (if any) console driver to use */
#if CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE)
# undef CONFIG_USE_SERIALDRIVER
# undef CONFIG_USE_EARLYSERIALINIT
#elif defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0
# define CONFIG_USE_SERIALDRIVER 1
# define CONFIG_USE_EARLYSERIALINIT 1
#endif
/* Check if an interrupt stack size is configured */
#ifndef CONFIG_ARCH_INTERRUPTSTACK
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
/****************************************************************************
* Public Types
****************************************************************************/
@@ -82,13 +98,18 @@ extern uint32 *current_regs;
*/
extern uint32 g_heapbase;
/* Address of the saved user stack pointer */
#if CONFIG_ARCH_INTERRUPTSTACK > 3
extern uint32 g_userstack;
#endif
#endif
/****************************************************************************
* Inline Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
@@ -110,12 +131,9 @@ extern void up_sigdeliver(void);
extern void up_syscall(uint32 *regs);
extern int up_timerisr(int irq, uint32 *regs);
extern void up_undefinedinsn(uint32 *regs);
#ifdef CONFIG_DEBUG
extern void up_lowputc(char ch);
#else
# define up_lowputc(ch)
#endif
extern void up_puts(const char *str);
extern void up_lowputs(const char *str);
/* Defined in up_vectors.S */
@@ -137,6 +155,14 @@ extern void up_serialinit(void);
# define up_serialinit()
#endif
/* Defined in drivers/lowconsole.c */
#ifdef CONFIG_DEV_LOWCONSOLE
extern void lowconsole_init(void);
#else
# define lowconsole_init()
#endif
/* Defined in up_watchdog.c */
extern void up_wdtinit(void);
@@ -168,6 +194,16 @@ extern void up_netinitialize(void);
#else
# define up_netinitialize()
#endif
#ifdef CONFIG_USBDEV
extern void up_usbinitialize(void);
extern void up_usbuninitialize(void);
#else
# define up_usbinitialize()
# define up_usbuninitialize()
#endif
#endif /* __ASSEMBLY__ */
#endif /* __UP_INTERNAL_H */

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_interruptcontext.c
/****************************************************************************
* arch/arm/src/common/up_interruptcontext.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -43,24 +43,24 @@
#include <nuttx/irq.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Types
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Function Prototypes
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Global Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_interrupt_context
*
* Description: Return TRUE is we are currently executing in
* the interrupt handler context.
************************************************************/
****************************************************************************/
boolean up_interrupt_context(void)
{

View File

@@ -0,0 +1,75 @@
/****************************************************************************
* arch/arm/src/common/up_lowputs.c
*
* Copyright (C) 2008 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 <sys/types.h>
#include "up_internal.h"
/****************************************************************************
* Definitions
****************************************************************************/
/****************************************************************************
* Private Data
****************************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: up_lowputs
*
* Description:
* This is a low-level helper function used to support debug.
*
****************************************************************************/
void up_lowputs(const char *str)
{
while(*str)
{
up_lowputc(*str++);
}
}

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_mdelay.c
* arch/arm/src/common/up_mdelay.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*

View File

@@ -105,10 +105,10 @@ __start:
#endif
#if defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS >0
/* Perform early serial initialization */
mov fp, #0
#ifdef CONFIG_USE_EARLYSERIALINIT
bl up_earlyserialinit
#endif

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_prefetchabort.c
/****************************************************************************
* arch/arm/src/common/up_prefetchabort.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -44,9 +44,9 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/* Output debug info if stack dump is selected -- even if
* debug is not selected.
@@ -57,21 +57,21 @@
# define lldbg lib_lowprintf
#endif
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_prefetchabort
************************************************************/
****************************************************************************/
void up_prefetchabort(uint32 *regs)
{

View File

@@ -0,0 +1,76 @@
/****************************************************************************
* arch/arm/src/common/up_puts.c
*
* Copyright (C) 2008 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 <sys/types.h>
#include <nuttx/arch.h>
#include "up_internal.h"
/****************************************************************************
* Definitions
****************************************************************************/
/****************************************************************************
* Private Data
****************************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: up_puts
*
* Description:
* This is a low-level helper function used to support debug.
*
****************************************************************************/
void up_puts(const char *str)
{
while(*str)
{
up_putc(*str++);
}
}

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_releasepending.c
/****************************************************************************
* arch/arm/src/common/up_releasepending.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_release_pending
*
* Description:
@@ -70,7 +70,7 @@
* context switch if a new task is placed at the head of
* the ready to run list.
*
************************************************************/
****************************************************************************/
void up_release_pending(void)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_releasestack.c
/****************************************************************************
* arch/arm/src/common/up_releasestack.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -45,26 +45,26 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Types
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Function Prototypes
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Global Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_release_stack
*
* Description:
* A task has been stopped. Free all stack
* related resources retained int the defunct TCB.
*
************************************************************/
****************************************************************************/
void up_release_stack(_TCB *dtcb)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_reprioritizertr.c
/****************************************************************************
* arch/arm/src/common/up_reprioritizertr.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_reprioritize_rtr
*
* Description:
@@ -79,7 +79,7 @@
* tcb: The TCB of the task that has been reprioritized
* priority: The new task priority
*
************************************************************/
****************************************************************************/
void up_reprioritize_rtr(_TCB *tcb, ubyte priority)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* common/up_schedulesigaction.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,38 +31,43 @@
* 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 <sys/types.h>
#include <sched.h>
#include <debug.h>
#include <nuttx/arch.h>
#include "os_internal.h"
#include "up_internal.h"
#include "up_arch.h"
/************************************************************
#ifndef CONFIG_DISABLE_SIGNALS
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_schedule_sigaction
*
* Description:
@@ -93,7 +98,7 @@
* currently executing task -- just call the signal
* handler now.
*
************************************************************/
****************************************************************************/
void up_schedule_sigaction(_TCB *tcb, sig_deliver_t sigdeliver)
{
@@ -188,3 +193,5 @@ void up_schedule_sigaction(_TCB *tcb, sig_deliver_t sigdeliver)
irqrestore(flags);
}
}
#endif /* !CONFIG_DISABLE_SIGNALS */

View File

@@ -38,15 +38,20 @@
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <sched.h>
#include <debug.h>
#include <nuttx/irq.h>
#include <nuttx/arch.h>
#include "os_internal.h"
#include "up_internal.h"
#include "up_arch.h"
#ifndef CONFIG_DISABLE_SIGNALS
/****************************************************************************
* Definitions
****************************************************************************/
@@ -135,3 +140,6 @@ void up_sigdeliver(void)
up_fullcontextrestore(regs);
#endif
}
#endif /* !CONFIG_DISABLE_SIGNALS */

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_syscall.c
/****************************************************************************
* arch/arm/src/common/up_syscall.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -44,9 +44,9 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/* Output debug info if stack dump is selected -- even if
* debug is not selected.
@@ -57,23 +57,23 @@
# define lldbg lib_lowprintf
#endif
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* vectors
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_syscall
*
* Description:
@@ -84,7 +84,7 @@
* the return address saved in the xcp and decoding
* the SWI instruction
*
************************************************************/
****************************************************************************/
void up_syscall(uint32 *regs)
{

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_udelay.c
* arch/arm/src/common/up_udelay.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_unblocktask.c
/****************************************************************************
* arch/arm/src/common/up_unblocktask.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -46,23 +46,23 @@
#include "clock_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_unblock_task
*
* Description:
@@ -76,7 +76,7 @@
* the ready-to-run list and, if it is the highest priority
* ready to run taks, executed.
*
************************************************************/
****************************************************************************/
void up_unblock_task(_TCB *tcb)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_undefinedinsn.c
/****************************************************************************
* arch/arm/src/common/up_undefinedinsn.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -44,9 +44,9 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/* Output debug info if stack dump is selected -- even if
* debug is not selected.
@@ -57,21 +57,21 @@
# define lldbg lib_lowprintf
#endif
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_undefinedinsn
************************************************************/
****************************************************************************/
void up_undefinedinsn(uint32 *regs)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
* common/up_usestack.c
/****************************************************************************
* arch/arm/src/common/up_usestack.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,11 +31,11 @@
* 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 <sys/types.h>
@@ -45,19 +45,19 @@
#include <nuttx/arch.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Types
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Function Prototypes
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Global Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_use_stack
*
* Description:
@@ -76,7 +76,7 @@
* tcb: The TCB of new task
* stack_size: The allocated stack size.
*
************************************************************/
****************************************************************************/
STATUS up_use_stack(_TCB *tcb, void *stack, size_t stack_size)
{

View File

@@ -0,0 +1,83 @@
/************************************************************************************
* arch/arm/src/common/up_vectoraddrexceptn.S
*
* Copyright (C) 2008 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 <nuttx/irq.h>
#include "up_arch.h"
/************************************************************************************
* Definitions
************************************************************************************/
/************************************************************************************
* Global Data
************************************************************************************/
/************************************************************************************
* Assembly Macros
************************************************************************************/
/************************************************************************************
* Private Functions
************************************************************************************/
.text
/************************************************************************************
* Public Functions
************************************************************************************/
.text
/************************************************************************************
* Name: up_vectoraddrexcption
*
* Description:
* Shouldn't happen. This exception handler is in a separate file from other
* vector handlers because some processors (e.g., lpc2148) do not support the
* the Address Exception vector.
*
************************************************************************************/
.globl up_vectoraddrexcptn
.type up_vectoraddrexcptn, %function
up_vectoraddrexcptn:
b up_vectoraddrexcptn
.size up_vectoaddrexcptn, . - up_vectoraddrexcptn
.end

View File

@@ -1,7 +1,7 @@
/********************************************************************
* common/up_vectors.S
/************************************************************************************
* arch/arm/src/common/up_vectors.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -31,23 +31,23 @@
* 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 <nuttx/irq.h>
#include "up_arch.h"
/********************************************************************
/************************************************************************************
* Definitions
********************************************************************/
************************************************************************************/
/********************************************************************
/************************************************************************************
* Global Data
********************************************************************/
************************************************************************************/
.data
g_irqtmp:
@@ -60,29 +60,29 @@ g_aborttmp:
.word 0 /* Saved lr */
.word 0 /* Saved spsr */
/********************************************************************
/************************************************************************************
* Assembly Macros
********************************************************************/
************************************************************************************/
/********************************************************************
/************************************************************************************
* Private Functions
********************************************************************/
************************************************************************************/
.text
/********************************************************************
/************************************************************************************
* Public Functions
********************************************************************/
************************************************************************************/
.text
/********************************************************************
/************************************************************************************
* Name: up_vectorirq
*
* Description:
* Interrupt excetpion. Entered in IRQ mode with spsr = SVC
* CPSR, lr = SVC PC
********************************************************************/
************************************************************************************/
.globl up_vectorirq
.type up_vectorirq, %function
@@ -128,7 +128,15 @@ up_vectorirq:
mov fp, #0 /* Init frame pointer */
mov r0, sp /* Get r0=xcp */
#if CONFIG_ARCH_INTERRUPTSTACK > 3
ldr sp, .Lirqstackbase /* SP = interrupt stack base */
str r0, [sp] /* Save the user stack pointer */
bl up_decodeirq /* Call the handler */
ldr sp, [sp] /* Restore the user stack pointer */
#else
bl up_decodeirq /* Call the handler */
#endif
/* Restore the CPSR, SVC modr registers and return */
.Lnoirqset:
@@ -138,16 +146,19 @@ up_vectorirq:
.Lirqtmp:
.word g_irqtmp
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.Lirqstackbase:
.word up_stackbase
#endif
.size up_vectorirq, . - up_vectorirq
.align 5
/********************************************************************
/************************************************************************************
* Function: up_vectorswi
*
* Description:
* SWI interrupt. We enter the SWI in SVC mode
********************************************************************/
************************************************************************************/
.globl up_vectorswi
.type up_vectorswi, %function
@@ -188,7 +199,7 @@ up_vectorswi:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectordata
*
* Description:
@@ -196,7 +207,7 @@ up_vectorswi:
* abort handler. This function is entered in ABORT mode
* with spsr = SVC CPSR, lr = SVC PC
*
********************************************************************/
************************************************************************************/
.globl up_vectordata
.type up_vectordata, %function
@@ -257,13 +268,13 @@ up_vectordata:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectorprefetch
*
* Description:
* Prefetch abort exception. Entered in ABT mode with
* spsr = SVC CPSR, lr = SVC PC
********************************************************************/
************************************************************************************/
.globl up_vectorprefetch
.type up_vectorprefetch, %function
@@ -324,14 +335,14 @@ up_vectorprefetch:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectorundefinsn
*
* Description:
* Undefined instruction entry exception. Entered in
* UND mode, spsr = SVC CPSR, lr = SVC PC
*
********************************************************************/
************************************************************************************/
.globl up_vectorundefinsn
.type up_vectorundefinsn, %function
@@ -391,12 +402,12 @@ up_vectorundefinsn:
.align 5
/********************************************************************
/************************************************************************************
* Name: up_vectorfiq
*
* Description:
* Shouldn't happen
********************************************************************/
************************************************************************************/
.globl up_vectorfiq
.type up_vectorfiq, %function
@@ -404,19 +415,25 @@ up_vectorfiq:
subs pc, lr, #4
.size up_vectofiq, . - up_vectorfiq
.align 5
/********************************************************************
* Name: up_vectoraddrexcption
/************************************************************************************
* Name: up_interruptstack/g_userstack
*
* Description:
* Shouldn't happen
*
********************************************************************/
************************************************************************************/
.globl up_vectoraddrexcptn
.type up_vectoraddrexcptn, %function
up_vectoraddrexcptn:
b up_vectoraddrexcptn
.size up_vectoaddrexcptn, . - up_vectoraddrexcptn
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.bss
.align 4
.globl g_userstack
.type g_userstack, object
up_interruptstack:
.skip ((CONFIG_ARCH_INTERRUPTSTACK & ~3) - 4)
g_userstack:
up_stackbase:
.skip 4
.size g_userstack, 4
.size up_interruptstack, (CONFIG_ARCH_INTERRUPTSTACK & ~3)
#endif
.end

View File

@@ -36,7 +36,7 @@
HEAD_ASRC = up_head.S
CMN_ASRCS = up_cache.S up_fullcontextrestore.S up_saveusercontext.S \
up_vectors.S up_vectortab.S
up_vectors.S up_vectoraddrexcptn.S up_vectortab.S
CMN_CSRCS = up_assert.c up_blocktask.c up_copystate.c up_createstack.c \
up_dataabort.c up_mdelay.c up_udelay.c up_exit.c up_idle.c \
up_initialize.c up_initialstate.c up_interruptcontext.c \
@@ -49,3 +49,6 @@ CHIP_ASRCS = dm320_lowputc.S dm320_restart.S
CHIP_CSRCS = dm320_allocateheap.c dm320_boot.c dm320_decodeirq.c \
dm320_irq.c dm320_serial.c dm320_timerisr.c
ifeq ($(CONFIG_USBDEV),y)
CHIP_CSRCS += dm320_usbdev.c
endif

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* dm320/chip.h
* arch/arm/src/dm320/chip.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*
@@ -41,10 +41,14 @@
************************************************************************************/
#include "dm320_memorymap.h"
#include "dm320_clkc.h"
#include "dm320_ahb.h"
#include "dm320_busc.h"
#include "dm320_uart.h"
#include "dm320_timer.h"
#include "dm320_intc.h"
#include "dm320_gio.h"
#include "dm320_usb.h"
/************************************************************************************
* Definitions

View File

@@ -0,0 +1,63 @@
/************************************************************************************
* dm320/dm320_uart.h
*
* Copyright (C) 2008 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.
*
************************************************************************************/
#ifndef __ARCH_ARM_SRC_DM320_DM320_AHB_H
#define __ARCH_ARM_SRC_DM320_DM320_AHB_H
/************************************************************************************
* Included Files
************************************************************************************/
#ifndef __ASSEMBLY__
# include <sys/types.h>
#endif
/************************************************************************************
* Definitions
************************************************************************************/
/* AHB Bus Controller (AHBBUSC) Registers *******************************************/
#define DM320_AHB_SDRAMSA (DM320_AHB_VADDR+0x0f00) /* SDRAM start address */
#define DM320_AHB_SDRAMEA (DM320_AHB_VADDR+0x0f04) /* SDRAM end address */
#define DM320_AHB_BUSCONTROL (DM320_AHB_VADDR+0x0f08) /* Bus endianess control */
#define DM320_AHB_RSV1 (DM320_AHB_VADDR+0x0f0c) /* Reserved */
#define DM320_AHB_USBCTL (DM320_AHB_VADDR+0x0f10) /* USB control register (ES1.1) */
/************************************************************************************
* Inline Functions
************************************************************************************/
#endif /* __ARCH_ARM_SRC_DM320_DM320_AHB_H */

View File

@@ -0,0 +1,62 @@
/************************************************************************************
* dm320/dm320_busc.h
*
* Copyright (C) 2008 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.
*
************************************************************************************/
#ifndef __ARCH_ARM_SRC_DM320_DM320_BUSC_H
#define __ARCH_ARM_SRC_DM320_DM320_BUSC_H
/************************************************************************************
* Included Files
************************************************************************************/
#ifndef __ASSEMBLY__
# include <sys/types.h>
#endif
/************************************************************************************
* Definitions
************************************************************************************/
/* Bus Controller Register Map (BUSC) ***********************************************/
#define DM320_BUSC_ECR (DM320_BUSC_REGISTER_BASE+0x0000) /* Endian Conversion Register */
#define DM320_BUSC_EBYTER (DM320_BUSC_REGISTER_BASE+0x0002) /* Endian Byte Reverse Register */
#define DM320_BUSC_EBITR (DM320_BUSC_REGISTER_BASE+0x0004) /* Endian Bit Reverse Register */
#define DM320_BUSC_REVR (DM320_BUSC_REGISTER_BASE+0x0006) /* Device Revision Register */
/************************************************************************************
* Inline Functions
************************************************************************************/
#endif /* __ARCH_ARM_SRC_DM320_DM320_BUSC_H */

View File

@@ -0,0 +1,85 @@
/************************************************************************************
* dm320/dm320_clkc.h
*
* Copyright (C) 2008 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.
*
************************************************************************************/
#ifndef __ARCH_ARM_SRC_DM320_DM320_CLKC_H
#define __ARCH_ARM_SRC_DM320_DM320_CLKC_H
/************************************************************************************
* Included Files
************************************************************************************/
#ifndef __ASSEMBLY__
# include <sys/types.h>
#endif
/************************************************************************************
* Definitions
************************************************************************************/
/* Clock Controller Register Map (CLKC) *********************************************/
#define DM320_CLKC_PLLA (DM320_CLKC_REGISTER_BASE+0x0000) /* PLLA Configuration */
#define DM320_CLKC_PLLB (DM320_CLKC_REGISTER_BASE+0x0002) /* PLLB Configuration */
#define DM320_CLKC_SEL0 (DM320_CLKC_REGISTER_BASE+0x0004) /* Input Clock Source Selection #0 */
#define DM320_CLKC_SEL1 (DM320_CLKC_REGISTER_BASE+0x0006) /* Input Slock Source Selection #1 */
#define DM320_CLKC_SEL2 (DM320_CLKC_REGISTER_BASE+0x0008) /* Input Clock Source Selection #2 */
#define DM320_CLKC_DIV0 (DM320_CLKC_REGISTER_BASE+0x000a) /* Clock Divisor Settings #0 */
#define DM320_CLKC_DIV1 (DM320_CLKC_REGISTER_BASE+0x000c) /* Clock Divisor Settings #1 */
#define DM320_CLKC_DIV2 (DM320_CLKC_REGISTER_BASE+0x000e) /* Clock Divisor Settings #2 */
#define DM320_CLKC_DIV3 (DM320_CLKC_REGISTER_BASE+0x0010) /* Clock Divisor Settings #3 */
#define DM320_CLKC_DIV4 (DM320_CLKC_REGISTER_BASE+0x0012) /* Clock Divisor Settings #4 */
#define DM320_CLKC_BYP (DM320_CLKC_REGISTER_BASE+0x0014) /* Bypass Control */
#define DM320_CLKC_INV (DM320_CLKC_REGISTER_BASE+0x0016) /* Inverse Control */
#define DM320_CLKC_MOD0 (DM320_CLKC_REGISTER_BASE+0x0018) /* Module Clock Enables #0 */
#define DM320_CLKC_MOD1 (DM320_CLKC_REGISTER_BASE+0x001a) /* Module ClockEnables #1 */
#define DM320_CLKC_MOD2 (DM320_CLKC_REGISTER_BASE+0x001c) /* Module ClockEnables #1 */
#define DM320_CLKC_LPCTL0 (DM320_CLKC_REGISTER_BASE+0x001e) /* Low Power Control #0 */
#define DM320_CLKC_LPCTL1 (DM320_CLKC_REGISTER_BASE+0x0020) /* Low Power Control #1 */
#define DM320_CLKC_OSEL (DM320_CLKC_REGISTER_BASE+0x0022) /* Output Clock Selector */
#define DM320_CLKC_O0DIV (DM320_CLKC_REGISTER_BASE+0x0024) /* Output Clock #0 Divider */
#define DM320_CLKC_O1DIV (DM320_CLKC_REGISTER_BASE+0x0026) /* Output Clock #1 Divider */
#define DM320_CLKC_O2DIV (DM320_CLKC_REGISTER_BASE+0x0028) /* Output Clock #2 Divider */
#define DM320_CLKC_PWM0C (DM320_CLKC_REGISTER_BASE+0x002a) /* PWM #0 Cycle Count */
#define DM320_CLKC_PWM0H (DM320_CLKC_REGISTER_BASE+0x002c) /* PWM #0 High Period */
#define DM320_CLKC_PWM1C (DM320_CLKC_REGISTER_BASE+0x002e) /* PWM #1 Cycle Count */
#define DM320_CLKC_PWM1H (DM320_CLKC_REGISTER_BASE+0x0030) /* PWM #1 Cycle Period */
#define DM320_CLKC_TEST0 (DM320_CLKC_REGISTER_BASE+0x08FE) /* Test #0 */
#define DM320_CLKC_TEST1 (DM320_CLKC_REGISTER_BASE+0x08FE) /* Test #1 */
/************************************************************************************
* Inline Functions
************************************************************************************/
#endif /* __ARCH_ARM_SRC_DM320_DM320_CLKC_H */

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* dm320/dm320_intc.h
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 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.
*

Some files were not shown because too many files have changed in this diff Show More