Compare commits

..

515 Commits

Author SHA1 Message Date
patacongo
023de4390c Prep for 0.4.10 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2016 42af7a65-404d-4744-a932-0658087f49c3
2009-08-08 18:12:10 +00:00
patacongo
a39e85d2ff Fix various errors in time manipulation routines
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2015 42af7a65-404d-4744-a932-0658087f49c3
2009-08-08 16:54:36 +00:00
patacongo
f7483ab7b1 strftime fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2014 42af7a65-404d-4744-a932-0658087f49c3
2009-08-08 15:14:10 +00:00
patacongo
32716fbc25 Remove warning
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2013 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 23:44:49 +00:00
patacongo
e832fd2a40 Bump up THTTPD main thread stack size
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2012 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 23:40:47 +00:00
patacongo
3ec3bfdcc8 accept() now supports non-blocking operations
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2011 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 23:35:27 +00:00
patacongo
09b640e844 Fix fdwatch problems; reduce fdwatch memory usage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2010 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 18:12:22 +00:00
patacongo
5e2d7c363b update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2009 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 16:40:49 +00:00
patacongo
7c2070bc83 Fix accept() -- it wanted parts of return address initialized
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2008 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 16:31:50 +00:00
patacongo
7c8051a574 THTTPD now gets past initialization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2007 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 16:08:20 +00:00
patacongo
4322c23e43 Initialize THTTPD integration changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2006 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 15:08:09 +00:00
patacongo
ea16dce2f3 Fix some ez80 compilation errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2005 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 13:24:47 +00:00
patacongo
64777d8eaf Fix build problems with different configuratin options
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2004 42af7a65-404d-4744-a932-0658087f49c3
2009-08-02 12:56:52 +00:00
patacongo
6afa5ccf72 Fix clean target error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2003 42af7a65-404d-4744-a932-0658087f49c3
2009-08-01 23:42:07 +00:00
patacongo
2ae1a0c1d6 Add THTTPD configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2002 42af7a65-404d-4744-a932-0658087f49c3
2009-08-01 23:17:52 +00:00
patacongo
c07e541644 Install .html files; install exe's in cgi-bin subdir
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2000 42af7a65-404d-4744-a932-0658087f49c3
2009-08-01 21:48:57 +00:00
patacongo
d369294f8b Add infrastructure to add CGI binaries to THTTPD example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1999 42af7a65-404d-4744-a932-0658087f49c3
2009-08-01 21:29:56 +00:00
patacongo
0a4f4a805d Basic files for THTTPD test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1998 42af7a65-404d-4744-a932-0658087f49c3
2009-08-01 20:06:46 +00:00
patacongo
0051421e18 Finish fdwatch logic in cgi_child
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1997 42af7a65-404d-4744-a932-0658087f49c3
2009-07-19 14:14:35 +00:00
patacongo
b63c500c14 Add non-blocking capability for TCP sockets
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1996 42af7a65-404d-4744-a932-0658087f49c3
2009-07-19 13:50:08 +00:00
patacongo
297cb5e256 Add fcntl(F_DUPFD)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1995 42af7a65-404d-4744-a932-0658087f49c3
2009-07-19 00:14:46 +00:00
patacongo
e68c54fea0 Still fleshing out THTTPD example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1994 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 22:59:44 +00:00
patacongo
8c7634d4a2 Add skeleton for fcntl()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1993 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 21:39:59 +00:00
patacongo
5f7092fd27 Document string operations
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1992 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 21:04:10 +00:00
patacongo
eefb20545f Add strpbrk()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1991 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 20:39:57 +00:00
patacongo
b9e21dbab5 Add strstr()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1990 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 20:11:11 +00:00
patacongo
22fa6bdfb3 Add framework for THTTPD example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1989 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 19:47:08 +00:00
patacongo
8c17e7f6d0 Fix CGI I/O redirection and interposer tasks
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1988 42af7a65-404d-4744-a932-0658087f49c3
2009-07-18 18:04:05 +00:00
patacongo
59cf543804 Fix typo in vectored interrpt logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1987 42af7a65-404d-4744-a932-0658087f49c3
2009-07-14 02:16:06 +00:00
patacongo
4b3d42c879 A big, hard-coded stack size was used in several places
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1986 42af7a65-404d-4744-a932-0658087f49c3
2009-07-14 01:48:06 +00:00
patacongo
485c3066e1 Add fileno()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1985 42af7a65-404d-4744-a932-0658087f49c3
2009-07-13 01:35:15 +00:00
patacongo
470cba238e Add THTTPD configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1984 42af7a65-404d-4744-a932-0658087f49c3
2009-07-13 01:32:54 +00:00
patacongo
8f3d3641e5 Add NXFLAT CGI programs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1983 42af7a65-404d-4744-a932-0658087f49c3
2009-07-13 01:30:53 +00:00
patacongo
3975fc5bdf Add tdate_parse.c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1982 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 20:48:44 +00:00
patacongo
4020506590 Add fdwatch.c and timers.c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1981 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 20:27:56 +00:00
patacongo
1235ab92c5 libthttpd.c now longer used fork() and execve()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1980 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 18:46:11 +00:00
patacongo
29899e1069 Added exec()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1979 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 18:43:59 +00:00
patacongo
93e34db926 Add libhttpd.c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1978 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 16:45:27 +00:00
patacongo
49a834785b Add strftime
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1977 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 15:16:00 +00:00
patacongo
b32b7cb4b2 Add gmtime and localtime
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1976 42af7a65-404d-4744-a932-0658087f49c3
2009-07-12 00:41:06 +00:00
patacongo
de18e3272f Add framework for thttpd
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1975 42af7a65-404d-4744-a932-0658087f49c3
2009-07-11 23:40:17 +00:00
patacongo
4f255b5fdf Add gettimeofday()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1974 42af7a65-404d-4744-a932-0658087f49c3
2009-07-11 23:39:33 +00:00
patacongo
631788ece1 mktime/gmtime_r moved and highly simplified
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1973 42af7a65-404d-4744-a932-0658087f49c3
2009-07-11 17:24:14 +00:00
patacongo
bfd2dc6cd1 Added some pattern matching logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1972 42af7a65-404d-4744-a932-0658087f49c3
2009-07-11 13:59:42 +00:00
patacongo
45659df160 Add reference to NXFLAT interface
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1971 42af7a65-404d-4744-a932-0658087f49c3
2009-07-11 13:22:41 +00:00
patacongo
57283ed7cb Document binary loadr APIs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1970 42af7a65-404d-4744-a932-0658087f49c3
2009-06-27 00:56:39 +00:00
patacongo
d9c797730c Prep for 0.4.9
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1969 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 22:52:57 +00:00
patacongo
7d37927c61 Fixes for clean ez80 compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1965 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 19:22:21 +00:00
patacongo
485013f924 Completes initial shaky integration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1963 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 18:58:37 +00:00
patacongo
a1c828c484 integrating NXFLAT
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1962 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 17:46:51 +00:00
patacongo
f98ca3f781 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1961 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 17:45:53 +00:00
patacongo
ef2d7fbf5c function pointers in modules must have global scope
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1960 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 13:43:32 +00:00
patacongo
3c58d78672 There is no envp argument in main()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1959 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 01:45:42 +00:00
patacongo
8e549fb571 NXFLAT doesn't set bit 0 in the entry point address
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1958 42af7a65-404d-4744-a932-0658087f49c3
2009-06-26 01:18:24 +00:00
patacongo
a1ef2c1ed5 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1957 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 23:50:19 +00:00
patacongo
00d140fe0c ChangeLog
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1956 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 23:50:07 +00:00
patacongo
d22fa62e7f Fix a stack setup error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1955 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 23:43:10 +00:00
patacongo
aa9034a49a ROMFS was in RAM
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1954 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 22:25:30 +00:00
patacongo
adad9dea8d Mostly cosmetic integration changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1953 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 21:59:30 +00:00
patacongo
2dd2b05af7 Consolidate buffer dumping functions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1952 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 19:59:04 +00:00
patacongo
e72dce9e1b Consolidate buffer dumping; fix all occurrences of 'the the'
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1951 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 17:44:35 +00:00
patacongo
72f8421e97 Fix debug output
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1948 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 14:38:42 +00:00
patacongo
41aa50bf7c Make all counts 16-bit
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1946 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 12:44:55 +00:00
patacongo
dab4ec9849 Fix messaging logic for case of debu disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1944 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 00:23:54 +00:00
patacongo
fdecac3ce3 Initial NXFLAT debug fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1943 42af7a65-404d-4744-a932-0658087f49c3
2009-06-25 00:05:11 +00:00
patacongo
ca79f124d4 Fix a bug in initial XIP offset
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1942 42af7a65-404d-4744-a932-0658087f49c3
2009-06-24 23:33:33 +00:00
patacongo
2cf61be243 Fix a problem that was causing tools/incdir.sh to generate inappropriate paths for Cygwin tools
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1941 42af7a65-404d-4744-a932-0658087f49c3
2009-06-24 20:57:34 +00:00
patacongo
6e759adf9e Fix DEBUG-on compilation errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1940 42af7a65-404d-4744-a932-0658087f49c3
2009-06-24 20:49:43 +00:00
patacongo
b5504750c1 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1939 42af7a65-404d-4744-a932-0658087f49c3
2009-06-24 14:38:15 +00:00
patacongo
b66912045e Fix .PHONY targets
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1934 42af7a65-404d-4744-a932-0658087f49c3
2009-06-23 23:04:52 +00:00
patacongo
4663bbd3c5 Add another NXFLAT test case
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1933 42af7a65-404d-4744-a932-0658087f49c3
2009-06-23 21:25:23 +00:00
patacongo
cd91bd366c Still waffling on relocation types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1931 42af7a65-404d-4744-a932-0658087f49c3
2009-06-23 20:22:50 +00:00
patacongo
65aa8ce26e Remove import symbols from relo table
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1930 42af7a65-404d-4744-a932-0658087f49c3
2009-06-23 18:55:57 +00:00
patacongo
c34a013a0f ispace offset needs to account for size of header
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1928 42af7a65-404d-4744-a932-0658087f49c3
2009-06-22 23:09:55 +00:00
patacongo
4a7bdfa37c Back-out one relocation type
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1926 42af7a65-404d-4744-a932-0658087f49c3
2009-06-22 22:42:21 +00:00
patacongo
bd11dc8305 New relocation types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1925 42af7a65-404d-4744-a932-0658087f49c3
2009-06-22 22:12:19 +00:00
patacongo
7117b39923 Symbol table is ordered
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1924 42af7a65-404d-4744-a932-0658087f49c3
2009-06-21 19:36:07 +00:00
patacongo
d9c7b592fc Add logic to mount ROMFS filesystem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1923 42af7a65-404d-4744-a932-0658087f49c3
2009-06-21 18:55:19 +00:00
patacongo
d66772529b Finishes first cut of examples/nxflat
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1922 42af7a65-404d-4744-a932-0658087f49c3
2009-06-21 18:09:39 +00:00
patacongo
bb480457bd Flesh out examples/nxflat build environment
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1921 42af7a65-404d-4744-a932-0658087f49c3
2009-06-21 16:58:58 +00:00
patacongo
421102ec4a Add logic to make ROMFS image
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1920 42af7a65-404d-4744-a932-0658087f49c3
2009-06-21 15:13:55 +00:00
patacongo
f99eb7d89b Add NXFLAT dynamic binding logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1919 42af7a65-404d-4744-a932-0658087f49c3
2009-06-21 13:41:39 +00:00
patacongo
57deccf919 Add symbol table support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1918 42af7a65-404d-4744-a932-0658087f49c3
2009-06-20 19:17:46 +00:00
patacongo
66c91ff194 Add symbol table support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1917 42af7a65-404d-4744-a932-0658087f49c3
2009-06-20 19:17:08 +00:00
patacongo
79f95ab4c5 Add qsort()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1916 42af7a65-404d-4744-a932-0658087f49c3
2009-06-20 18:22:47 +00:00
patacongo
805fce4c01 Remove warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1915 42af7a65-404d-4744-a932-0658087f49c3
2009-06-20 14:44:56 +00:00
patacongo
680b476d38 Finish nxflat test Makefiles
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1913 42af7a65-404d-4744-a932-0658087f49c3
2009-06-20 13:27:43 +00:00
patacongo
6b4b78dfd4 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1912 42af7a65-404d-4744-a932-0658087f49c3
2009-06-19 21:11:59 +00:00
patacongo
abc8a47a12 Fix CFLAGS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1909 42af7a65-404d-4744-a932-0658087f49c3
2009-06-19 00:42:07 +00:00
patacongo
d832940aed Fix second stage link
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1907 42af7a65-404d-4744-a932-0658087f49c3
2009-06-18 23:00:33 +00:00
patacongo
c520315d42 Integrated mknxflat
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1905 42af7a65-404d-4744-a932-0658087f49c3
2009-06-18 21:17:53 +00:00
patacongo
b754962f81 Back out most of last change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1902 42af7a65-404d-4744-a932-0658087f49c3
2009-06-18 12:18:41 +00:00
patacongo
855a5845ee update Makefiles
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1901 42af7a65-404d-4744-a932-0658087f49c3
2009-06-18 00:37:07 +00:00
patacongo
f876eb552a Integrate PIC support into context switching
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1900 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 23:38:05 +00:00
patacongo
2afd39df07 Fixes for compilation with ez80
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1898 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 22:20:51 +00:00
patacongo
10fd1a67f5 Remove bitfields from NXFLAT definition
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1897 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 22:13:21 +00:00
patacongo
2ea9e257cd Straighten out conditional compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1896 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 21:15:31 +00:00
patacongo
4a1221f35d Add exec_module
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1895 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 20:25:27 +00:00
patacongo
8ce89fe17d Add basic module management logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1894 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 18:45:48 +00:00
patacongo
60d59fa80b add description of new directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1893 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 16:42:33 +00:00
patacongo
fdca08128e Easing in binfmt support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1892 42af7a65-404d-4744-a932-0658087f49c3
2009-06-17 16:28:50 +00:00
patacongo
57650c2c6c Got more NXFLAT examples to compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1891 42af7a65-404d-4744-a932-0658087f49c3
2009-06-16 23:45:07 +00:00
patacongo
6ad27ed177 Reserved word 'private' in C header files is a problem for C++
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1890 42af7a65-404d-4744-a932-0658087f49c3
2009-06-16 23:23:31 +00:00
patacongo
c344589c85 Added NXFLAT a bit at a time
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1889 42af7a65-404d-4744-a932-0658087f49c3
2009-06-16 22:08:59 +00:00
patacongo
e6b609cac7 More C++ stubs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1888 42af7a65-404d-4744-a932-0658087f49c3
2009-06-16 18:11:12 +00:00
patacongo
00819643d0 Adding basic framework for NXFLAT
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1887 42af7a65-404d-4744-a932-0658087f49c3
2009-06-16 13:26:07 +00:00
patacongo
e29fdf0267 Add conditional compilation to eliminate or limit cloning of descriptors when a new task is created
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1886 42af7a65-404d-4744-a932-0658087f49c3
2009-06-15 21:44:27 +00:00
patacongo
e9711ca1a7 Add logic to clone socket descriptors when a new task is started.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1885 42af7a65-404d-4744-a932-0658087f49c3
2009-06-15 19:50:06 +00:00
patacongo
fdf76b48bc dup() and dup2() support for socket descriptors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1884 42af7a65-404d-4744-a932-0658087f49c3
2009-06-15 18:58:22 +00:00
patacongo
613d405fd4 Add strtoul, strtoll, strtoull, atol, and atoll.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1883 42af7a65-404d-4744-a932-0658087f49c3
2009-06-14 15:36:18 +00:00
patacongo
5670bfa7c1 Prep for 0.4.8 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1882 42af7a65-404d-4744-a932-0658087f49c3
2009-06-13 14:29:41 +00:00
patacongo
81fa020b89 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1881 42af7a65-404d-4744-a932-0658087f49c3
2009-06-13 13:39:16 +00:00
patacongo
bb2fb9e065 Same as last check-in, just implemented more sanely
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1880 42af7a65-404d-4744-a932-0658087f49c3
2009-06-12 00:29:07 +00:00
patacongo
2d9e8251ca eliminate some warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1879 42af7a65-404d-4744-a932-0658087f49c3
2009-06-11 23:38:19 +00:00
patacongo
ec5c6381d8 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1878 42af7a65-404d-4744-a932-0658087f49c3
2009-06-11 21:38:25 +00:00
patacongo
fb460a24bb add build note
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1877 42af7a65-404d-4744-a932-0658087f49c3
2009-06-11 21:21:44 +00:00
patacongo
636e70e891 Additional fixes for devkitARM toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1876 42af7a65-404d-4744-a932-0658087f49c3
2009-06-11 16:32:55 +00:00
patacongo
bb175966a7 Add support for Windows GCC to lpc2148 and str711
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1875 42af7a65-404d-4744-a932-0658087f49c3
2009-06-11 14:47:03 +00:00
patacongo
409a77a354 Basic support for dependencies on Windows GCC toolchains
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1874 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 19:17:47 +00:00
patacongo
345ab7c654 updated
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1873 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 17:59:34 +00:00
patacongo
85a686b52c Fix section placing problems using CodeSourcery toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1872 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 17:08:54 +00:00
patacongo
aa22bbeb39 All file_operations vtables should be static const
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1871 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 15:22:49 +00:00
patacongo
508bf0c351 Fix some bogus (unused) symbol names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1870 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 13:50:31 +00:00
patacongo
c678c8db00 misc updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1869 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 12:27:44 +00:00
patacongo
64497e92d2 Fixes for build CodeSourcery toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1868 42af7a65-404d-4744-a932-0658087f49c3
2009-06-10 02:05:05 +00:00
patacongo
890f761228 Backout cool but useless lost interrupt logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1867 42af7a65-404d-4744-a932-0658087f49c3
2009-06-09 00:17:32 +00:00
patacongo
f054865b14 USB updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1866 42af7a65-404d-4744-a932-0658087f49c3
2009-06-09 00:09:34 +00:00
patacongo
e6919e1fa5 Forgot to update count
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1865 42af7a65-404d-4744-a932-0658087f49c3
2009-06-08 15:00:07 +00:00
patacongo
b1fb4ed0e4 Oops STR7P11 only accepts MMC cards
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1864 42af7a65-404d-4744-a932-0658087f49c3
2009-06-08 14:59:15 +00:00
patacongo
566431826f Back out lost interrupt kludge
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1863 42af7a65-404d-4744-a932-0658087f49c3
2009-06-08 14:42:42 +00:00
patacongo
6eda8be5a8 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1862 42af7a65-404d-4744-a932-0658087f49c3
2009-06-08 14:18:41 +00:00
patacongo
2dd3bdcaa6 Move board specific files from examples/nsh to board source directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1861 42af7a65-404d-4744-a932-0658087f49c3
2009-06-08 13:24:26 +00:00
patacongo
eba07de989 Drastic measures to work around missed interrupts -- must be a better way
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1860 42af7a65-404d-4744-a932-0658087f49c3
2009-06-07 15:48:01 +00:00
patacongo
2b29f8dfc8 More STR7x serial changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1859 42af7a65-404d-4744-a932-0658087f49c3
2009-06-06 18:30:58 +00:00
patacongo
70c20896f3 More UART GPIO pin/interrupt fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1858 42af7a65-404d-4744-a932-0658087f49c3
2009-06-06 16:01:38 +00:00
patacongo
ce84f9db4e Add logic to avoid spurious interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1857 42af7a65-404d-4744-a932-0658087f49c3
2009-06-06 14:12:50 +00:00
patacongo
7384979c33 Fix UART pin configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1856 42af7a65-404d-4744-a932-0658087f49c3
2009-06-06 14:05:23 +00:00
patacongo
6048f52c92 back out assertion
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1855 42af7a65-404d-4744-a932-0658087f49c3
2009-06-06 01:58:43 +00:00
patacongo
bf5720f75e Need to set UART interrupt priority
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1854 42af7a65-404d-4744-a932-0658087f49c3
2009-06-06 01:54:11 +00:00
patacongo
41e025da12 Fixes to SPI header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1853 42af7a65-404d-4744-a932-0658087f49c3
2009-06-05 21:45:42 +00:00
patacongo
ddb2ef1702 Correct a mountain of typos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1852 42af7a65-404d-4744-a932-0658087f49c3
2009-06-05 19:38:04 +00:00
patacongo
ce00be6c49 Fix compile errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1851 42af7a65-404d-4744-a932-0658087f49c3
2009-06-05 14:46:11 +00:00
patacongo
fc019683e2 Added STR-P711 NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1850 42af7a65-404d-4744-a932-0658087f49c3
2009-06-05 13:59:46 +00:00
patacongo
85387f1ade Timer interrupts work; examples/ostest passes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1849 42af7a65-404d-4744-a932-0658087f49c3
2009-06-05 01:42:15 +00:00
patacongo
ab2330bd07 Add test results
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1848 42af7a65-404d-4744-a932-0658087f49c3
2009-06-05 01:38:37 +00:00
patacongo
88e8c12d4a Add I2C header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1847 42af7a65-404d-4744-a932-0658087f49c3
2009-06-04 22:09:46 +00:00
patacongo
ff67154f96 spell checked
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1846 42af7a65-404d-4744-a932-0658087f49c3
2009-06-04 19:45:33 +00:00
patacongo
999c64e6c2 Remove RUNFROMFLASH option from str-p711
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1845 42af7a65-404d-4744-a932-0658087f49c3
2009-06-01 20:50:50 +00:00
patacongo
9e411ecff7 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1844 42af7a65-404d-4744-a932-0658087f49c3
2009-06-01 19:31:52 +00:00
patacongo
1be9ce73ba Fix UART configuration issues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1843 42af7a65-404d-4744-a932-0658087f49c3
2009-06-01 19:29:14 +00:00
patacongo
651eeb78bd update comments; add lib_zeroinstream
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1842 42af7a65-404d-4744-a932-0658087f49c3
2009-06-01 14:24:29 +00:00
patacongo
6fac7a231a Make lib/ stream implementation visible outside of lib/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1841 42af7a65-404d-4744-a932-0658087f49c3
2009-05-31 13:56:24 +00:00
patacongo
ba93c89aab Extend lib to handle incoming streams
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1840 42af7a65-404d-4744-a932-0658087f49c3
2009-05-30 20:06:24 +00:00
patacongo
87f14f9369 Update for buildroot changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1839 42af7a65-404d-4744-a932-0658087f49c3
2009-05-29 19:57:20 +00:00
patacongo
10784ad522 Prep for 0.4.7 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1837 42af7a65-404d-4744-a932-0658087f49c3
2009-05-29 15:36:48 +00:00
patacongo
88e63abfe1 Ethernet controller needs different delay with debug disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1836 42af7a65-404d-4744-a932-0658087f49c3
2009-05-29 14:09:31 +00:00
patacongo
9f478308f7 Fix mount problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1835 42af7a65-404d-4744-a932-0658087f49c3
2009-05-29 13:32:00 +00:00
patacongo
45456750bf warning removal
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1834 42af7a65-404d-4744-a932-0658087f49c3
2009-05-28 23:45:05 +00:00
patacongo
5db59d557b Fix to lpc214x MMC/SD due to lm3s changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1833 42af7a65-404d-4744-a932-0658087f49c3
2009-05-28 23:14:27 +00:00
patacongo
bfacea73ba Add support for CodeSourcery and devkitARM toolchains
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1832 42af7a65-404d-4744-a932-0658087f49c3
2009-05-28 20:36:04 +00:00
patacongo
d61c32887e Add LM3S I2C header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1831 42af7a65-404d-4744-a932-0658087f49c3
2009-05-28 19:13:11 +00:00
patacongo
e15c7e6995 Final integration of microSD
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1830 42af7a65-404d-4744-a932-0658087f49c3
2009-05-28 17:51:24 +00:00
patacongo
75604f27d0 Fix FAT32 bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1829 42af7a65-404d-4744-a932-0658087f49c3
2009-05-27 21:44:20 +00:00
patacongo
f937ea210c Integrating SHDC
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1828 42af7a65-404d-4744-a932-0658087f49c3
2009-05-27 20:45:39 +00:00
patacongo
e832c2ac9b Integrating new MMC/SD design
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1827 42af7a65-404d-4744-a932-0658087f49c3
2009-05-26 23:45:45 +00:00
patacongo
d68f3bc37a Updated MMC/SD SPI driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1826 42af7a65-404d-4744-a932-0658087f49c3
2009-05-26 16:07:25 +00:00
patacongo
53a0d334f2 Fix SD frequency calculation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1825 42af7a65-404d-4744-a932-0658087f49c3
2009-05-25 21:40:51 +00:00
patacongo
cf06f00401 Debug microSD CS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1824 42af7a65-404d-4744-a932-0658087f49c3
2009-05-24 20:40:11 +00:00
patacongo
730667e069 Fixe LM3S GPIO output settings; fix Eagle-100 LEDs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1823 42af7a65-404d-4744-a932-0658087f49c3
2009-05-24 16:03:08 +00:00
patacongo
4a22afc008 Initial SSI debug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1822 42af7a65-404d-4744-a932-0658087f49c3
2009-05-24 13:25:43 +00:00
patacongo
b8f2e53427 Resolve merge conflicts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1821 42af7a65-404d-4744-a932-0658087f49c3
2009-05-23 23:53:03 +00:00
patacongo
44ecaa8789 Add SPI-based MMC/SD support for lm3s
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1820 42af7a65-404d-4744-a932-0658087f49c3
2009-05-23 23:37:25 +00:00
patacongo
887d40853e Need to clear interrupt
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1819 42af7a65-404d-4744-a932-0658087f49c3
2009-05-23 14:30:07 +00:00
patacongo
4d1fd0a378 Add LM3S SSI driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1818 42af7a65-404d-4744-a932-0658087f49c3
2009-05-23 14:26:22 +00:00
patacongo
52c8c15231 Add SSI header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1817 42af7a65-404d-4744-a932-0658087f49c3
2009-05-22 17:20:06 +00:00
patacongo
0c1ff62d16 Add lm3s webserver configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1816 42af7a65-404d-4744-a932-0658087f49c3
2009-05-22 15:15:46 +00:00
patacongo
bb6b06aad4 lm3s ethernet works
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1815 42af7a65-404d-4744-a932-0658087f49c3
2009-05-22 14:45:34 +00:00
patacongo
2c1b9f54e9 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1814 42af7a65-404d-4744-a932-0658087f49c3
2009-05-22 12:48:05 +00:00
patacongo
9b3dae46ae MAC driver development
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1813 42af7a65-404d-4744-a932-0658087f49c3
2009-05-21 22:19:36 +00:00
patacongo
4cc43c22e6 Complete Rx side of ethernet driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1812 42af7a65-404d-4744-a932-0658087f49c3
2009-05-21 17:42:14 +00:00
patacongo
c99fb1abae LM3S ethernet driver development
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1811 42af7a65-404d-4744-a932-0658087f49c3
2009-05-21 00:23:53 +00:00
patacongo
4039e98788 Get MAC address from USER registers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1810 42af7a65-404d-4744-a932-0658087f49c3
2009-05-20 20:56:38 +00:00
patacongo
d77aff6530 MAC driver development
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1809 42af7a65-404d-4744-a932-0658087f49c3
2009-05-20 19:48:55 +00:00
patacongo
448d444233 Add lm3s ethernet header file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1808 42af7a65-404d-4744-a932-0658087f49c3
2009-05-20 16:00:34 +00:00
patacongo
82a88526c7 Prep for 0.4.6 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1806 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 23:45:09 +00:00
patacongo
6b5774b6c0 Fix typo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1805 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 22:53:04 +00:00
patacongo
7bd459ada2 Fix BRD calculation; Handle edge interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1804 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 22:51:33 +00:00
patacongo
c8bb7ef215 NSH integration, fix serial interrupt handling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1803 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 22:14:36 +00:00
patacongo
ca7b3d65e1 Add lm3s6918 NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1802 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 20:50:47 +00:00
patacongo
5c3cbc2c32 lm3s6918 passes OS test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1801 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 20:14:44 +00:00
patacongo
c6bf7f89b1 OS test result file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1800 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 20:12:39 +00:00
patacongo
715984992c pthread_create must return a positive errno on failure
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1799 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 19:30:57 +00:00
patacongo
88efd30570 Make sure all ARM targets still compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1798 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 18:46:14 +00:00
patacongo
2cf35b2d82 Move share-able Cortex-M3 file from lm3s subdirectory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1797 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 17:54:01 +00:00
patacongo
d29858f967 Move ARM and Cortex header files to separate directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1796 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 17:31:58 +00:00
patacongo
98720b6411 Move ARM and Cortex files to separate directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1795 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 17:16:17 +00:00
patacongo
cd4ba16522 Add ARM architecture type to configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1794 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 16:49:50 +00:00
patacongo
bf19cece2d Fix heap setup problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1793 42af7a65-404d-4744-a932-0658087f49c3
2009-05-19 15:17:28 +00:00
patacongo
fea6eb4be1 Calibrate lm3s6918 timing loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1792 42af7a65-404d-4744-a932-0658087f49c3
2009-05-18 23:01:30 +00:00
patacongo
5498fd0fba timer interrupt now works
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1791 42af7a65-404d-4744-a932-0658087f49c3
2009-05-18 22:21:58 +00:00
patacongo
3c2d598379 lm3s6918 now does context switches
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1790 42af7a65-404d-4744-a932-0658087f49c3
2009-05-18 22:14:40 +00:00
patacongo
9ee7b2a325 Progress on Cortex-M3 interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1789 42af7a65-404d-4744-a932-0658087f49c3
2009-05-18 21:08:43 +00:00
patacongo
e4e2edc542 file was unfinished
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1788 42af7a65-404d-4744-a932-0658087f49c3
2009-05-18 16:21:37 +00:00
patacongo
fe701d7084 Debug Cortex-M3 interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1787 42af7a65-404d-4744-a932-0658087f49c3
2009-05-17 17:18:19 +00:00
patacongo
0a18e1ee43 Basic clocking and UART works
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1786 42af7a65-404d-4744-a932-0658087f49c3
2009-05-15 23:26:54 +00:00
patacongo
4a339ab6a3 back out part of last change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1785 42af7a65-404d-4744-a932-0658087f49c3
2009-05-15 22:32:31 +00:00
patacongo
5e8842f1d7 LM3S integration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1784 42af7a65-404d-4744-a932-0658087f49c3
2009-05-15 22:00:05 +00:00
patacongo
8e0c488bf6 Early integration fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1783 42af7a65-404d-4744-a932-0658087f49c3
2009-05-15 18:03:59 +00:00
patacongo
fe427dfa53 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1782 42af7a65-404d-4744-a932-0658087f49c3
2009-05-14 23:37:34 +00:00
patacongo
46ccc6da65 Backup unnecessary bootloader logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1781 42af7a65-404d-4744-a932-0658087f49c3
2009-05-14 23:11:47 +00:00
patacongo
1feb285655 Should be silent on make commands
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1780 42af7a65-404d-4744-a932-0658087f49c3
2009-05-14 22:08:32 +00:00
patacongo
4d979da77c Add GPIO IRQ logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1779 42af7a65-404d-4744-a932-0658087f49c3
2009-05-14 20:50:43 +00:00
patacongo
7afd92fcd4 Add basic lm3s6918 gpio support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1778 42af7a65-404d-4744-a932-0658087f49c3
2009-05-14 18:55:22 +00:00
patacongo
4c4182ecd3 Add basic context switching logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1777 42af7a65-404d-4744-a932-0658087f49c3
2009-05-13 19:53:16 +00:00
patacongo
2664e240f2 1st cut at lm3s6918 interrupt handling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1776 42af7a65-404d-4744-a932-0658087f49c3
2009-05-13 16:19:05 +00:00
patacongo
1d7acd2d43 lm3s6918 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1775 42af7a65-404d-4744-a932-0658087f49c3
2009-05-13 14:29:22 +00:00
patacongo
9e3c1a0024 Flesh out LM3S9618 interrupt control logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1774 42af7a65-404d-4744-a932-0658087f49c3
2009-05-12 22:15:49 +00:00
patacongo
7262cad600 Add lm3s6918 system timer logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1773 42af7a65-404d-4744-a932-0658087f49c3
2009-05-12 18:53:10 +00:00
patacongo
fafdb07d67 First cut at lm3s6918 serial driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1772 42af7a65-404d-4744-a932-0658087f49c3
2009-05-12 15:43:16 +00:00
patacongo
0e835cd897 Fix some UART initialization problems
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1771 42af7a65-404d-4744-a932-0658087f49c3
2009-05-12 13:01:01 +00:00
patacongo
9814eb12ba Add low-level console support for LM3S3918
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1770 42af7a65-404d-4744-a932-0658087f49c3
2009-05-11 22:54:50 +00:00
patacongo
4f999f4775 Add UART definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1769 42af7a65-404d-4744-a932-0658087f49c3
2009-05-11 19:06:52 +00:00
patacongo
16d6c901c8 More lm3s6918 -- clocking + misc fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1768 42af7a65-404d-4744-a932-0658087f49c3
2009-05-11 17:05:13 +00:00
patacongo
b988d91380 Add description of LED support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1767 42af7a65-404d-4744-a932-0658087f49c3
2009-05-09 22:43:49 +00:00
patacongo
197b844fd9 Add support for fast GPIO on lpc214x
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1766 42af7a65-404d-4744-a932-0658087f49c3
2009-05-09 15:18:14 +00:00
patacongo
7172fd9b22 fix typos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1765 42af7a65-404d-4744-a932-0658087f49c3
2009-05-09 13:11:12 +00:00
patacongo
86583f93df lm3s6918 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1764 42af7a65-404d-4744-a932-0658087f49c3
2009-05-08 21:12:33 +00:00
patacongo
53ed4b0916 Add logic to control LED
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1763 42af7a65-404d-4744-a932-0658087f49c3
2009-05-08 13:24:57 +00:00
patacongo
bbcc0bfa4d Add atomic register modification
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1762 42af7a65-404d-4744-a932-0658087f49c3
2009-05-08 13:04:33 +00:00
patacongo
c6eac87aa3 framework for interrupt handling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1761 42af7a65-404d-4744-a932-0658087f49c3
2009-05-08 00:13:50 +00:00
patacongo
b864028c20 Add GPIO register definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1760 42af7a65-404d-4744-a932-0658087f49c3
2009-05-07 21:46:46 +00:00
patacongo
051afc40be Add definitions for system control registers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1759 42af7a65-404d-4744-a932-0658087f49c3
2009-05-07 20:52:29 +00:00
patacongo
b427459286 Add irqsave/restore() macros for Cortex-M3
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1758 42af7a65-404d-4744-a932-0658087f49c3
2009-05-07 15:59:13 +00:00
patacongo
91baa6ee02 Changes necessary to start build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1757 42af7a65-404d-4744-a932-0658087f49c3
2009-05-06 23:32:49 +00:00
patacongo
15c0da8068 Add LM3S6918 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1756 42af7a65-404d-4744-a932-0658087f49c3
2009-05-06 23:09:15 +00:00
patacongo
bde57140b3 Add structure for LM3S6918
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1755 42af7a65-404d-4744-a932-0658087f49c3
2009-05-06 20:42:23 +00:00
patacongo
db0c830885 Add structure for LM3S6918
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1754 42af7a65-404d-4744-a932-0658087f49c3
2009-05-06 18:11:26 +00:00
patacongo
71f760c2d4 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1750 42af7a65-404d-4744-a932-0658087f49c3
2009-05-01 23:42:40 +00:00
patacongo
a9ff87819b more cs89x0 logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1749 42af7a65-404d-4744-a932-0658087f49c3
2009-04-30 22:46:48 +00:00
patacongo
30dbaebe60 Framework for cs89x0 driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1748 42af7a65-404d-4744-a932-0658087f49c3
2009-04-30 00:39:41 +00:00
patacongo
b59a813a80 Fix objcopy problem with newer toolchains
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1746 42af7a65-404d-4744-a932-0658087f49c3
2009-04-29 23:17:39 +00:00
patacongo
dfab83e0d6 buildroot changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1745 42af7a65-404d-4744-a932-0658087f49c3
2009-04-29 01:04:45 +00:00
patacongo
9fae7bb35f Fix errors in last check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1744 42af7a65-404d-4744-a932-0658087f49c3
2009-04-29 01:04:28 +00:00
patacongo
e494bbd7cd Extend SPI interface so that we can set number of bits per word
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1742 42af7a65-404d-4744-a932-0658087f49c3
2009-04-26 18:58:49 +00:00
patacongo
52fcb2a8d6 Incorporate i.MX1 SPI driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1741 42af7a65-404d-4744-a932-0658087f49c3
2009-04-26 18:26:01 +00:00
patacongo
5b7bd6c9df Extend SPI interface for word sizes >8bits
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1740 42af7a65-404d-4744-a932-0658087f49c3
2009-04-26 16:06:29 +00:00
patacongo
ac417ad6f4 spi update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1739 42af7a65-404d-4744-a932-0658087f49c3
2009-04-26 00:25:38 +00:00
patacongo
ef2886d3eb imx update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1738 42af7a65-404d-4744-a932-0658087f49c3
2009-04-25 21:18:19 +00:00
patacongo
6996d4c8ba Fix gcc-4 float option
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1717 42af7a65-404d-4744-a932-0658087f49c3
2009-04-20 23:07:20 +00:00
patacongo
314ce72c38 Need more positive control over C++
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1716 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 16:52:56 +00:00
patacongo
0e018fde27 Fix errors that have crept into DM320 build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1715 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 16:32:08 +00:00
patacongo
c6940dd000 Prep vor 0.4.5 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1714 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 16:08:52 +00:00
patacongo
568d5272e9 Add libxx
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1713 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:59:07 +00:00
patacongo
522ca26210 C++ library function
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1711 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:52:35 +00:00
patacongo
90864d8383 Use cstdio vs stdio.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1710 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:23:14 +00:00
patacongo
cd37d9323a cosmetic updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1709 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:21:22 +00:00
patacongo
2ac46ef75c Standard C headef files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1708 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 15:13:29 +00:00
patacongo
f51ecc4741 Add C++ HelloWorld example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1706 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 13:05:39 +00:00
patacongo
ad69d90fa6 simple C++ example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1705 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 13:01:40 +00:00
patacongo
b7d161d37c Oops.. forgot to include spi.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1704 42af7a65-404d-4744-a932-0658087f49c3
2009-04-19 12:37:35 +00:00
patacongo
bfb4e1f48c more i.MX logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1702 42af7a65-404d-4744-a932-0658087f49c3
2009-04-18 21:56:32 +00:00
patacongo
cbb675b0c2 Add interrupt decode logic for i.MX
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1701 42af7a65-404d-4744-a932-0658087f49c3
2009-04-13 23:24:37 +00:00
patacongo
b052fa2b52 Add system timer logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1700 42af7a65-404d-4744-a932-0658087f49c3
2009-04-12 21:28:59 +00:00
patacongo
de59d27b54 upate
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1699 42af7a65-404d-4744-a932-0658087f49c3
2009-04-12 19:58:58 +00:00
patacongo
ef399205ed Clean up clocking
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1698 42af7a65-404d-4744-a932-0658087f49c3
2009-04-12 18:03:56 +00:00
patacongo
291355c77e Basic UART/console functionality
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1697 42af7a65-404d-4744-a932-0658087f49c3
2009-04-11 23:19:09 +00:00
patacongo
ff0f5c789f Add irq initialization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1696 42af7a65-404d-4744-a932-0658087f49c3
2009-04-10 23:31:35 +00:00
patacongo
ae853aaa49 Basic i.MX1 low-level boot
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1695 42af7a65-404d-4744-a932-0658087f49c3
2009-04-10 22:07:20 +00:00
patacongo
8976d24c60 arm920 is arm4, not arm5
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1694 42af7a65-404d-4744-a932-0658087f49c3
2009-04-09 23:24:44 +00:00
patacongo
1dc7718dea Basic imx infrastructure
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1693 42af7a65-404d-4744-a932-0658087f49c3
2009-04-09 22:53:18 +00:00
patacongo
2700dc12d4 imx1 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1692 42af7a65-404d-4744-a932-0658087f49c3
2009-04-09 22:41:52 +00:00
patacongo
83b6aab7e3 imx1ads config framework
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1690 42af7a65-404d-4744-a932-0658087f49c3
2009-04-09 22:00:19 +00:00
patacongo
a1c420212f Add option to copy to RAM
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1689 42af7a65-404d-4744-a932-0658087f49c3
2009-04-08 23:24:59 +00:00
patacongo
c5b48b552d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1688 42af7a65-404d-4744-a932-0658087f49c3
2009-04-08 22:20:31 +00:00
patacongo
0f381e8976 fix some names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1687 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 21:32:58 +00:00
patacongo
2d394d1da8 Add system registers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1686 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 21:04:26 +00:00
patacongo
5f845e6888 Add GPIO definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1685 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 18:53:33 +00:00
patacongo
b36fb6486c Add SPI, I2C, RTC, and watchdog
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1684 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 17:14:15 +00:00
patacongo
d768466287 Add AITC and DMA
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1683 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 15:53:30 +00:00
patacongo
c7597e76fd Add timer and aitc headers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1682 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 13:08:33 +00:00
patacongo
6287d6ac41 i.MX1 header files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1681 42af7a65-404d-4744-a932-0658087f49c3
2009-04-05 01:11:35 +00:00
patacongo
6d10d5deb9 Add z8 I2C driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1680 42af7a65-404d-4744-a932-0658087f49c3
2009-04-04 20:53:06 +00:00
patacongo
affc606a1d Add eZ80 I2C driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1679 42af7a65-404d-4744-a932-0658087f49c3
2009-04-04 20:27:37 +00:00
patacongo
b1b2689519 Add macro to make it clear we expect 7-bit addresses
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1675 42af7a65-404d-4744-a932-0658087f49c3
2009-03-31 22:30:36 +00:00
patacongo
d044d4f67b setmode method is optional
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1674 42af7a65-404d-4744-a932-0658087f49c3
2009-03-31 22:29:58 +00:00
patacongo
bb54876857 Added I2C register bit definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1673 42af7a65-404d-4744-a932-0658087f49c3
2009-03-31 22:29:08 +00:00
patacongo
41839e378b Fix errors in the initial specificaion
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1672 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 22:14:16 +00:00
patacongo
8b4682657c I2C interface definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1671 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 21:59:32 +00:00
patacongo
fc25c9d661 I2C register definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1670 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 21:43:26 +00:00
patacongo
eb7cadce8f Add SPI method to set SCLK mode
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1669 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 21:14:34 +00:00
patacongo
7b487e8dc9 Add eZ80 SPI driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1668 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 20:34:58 +00:00
patacongo
f7f7c531e0 Add enum argument to SPI status method
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1667 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 18:53:20 +00:00
patacongo
04f44cd858 Add enum argument to SPI select method
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1666 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 18:02:35 +00:00
patacongo
c520a9867c Prep for 0.4.4 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1665 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 13:31:11 +00:00
patacongo
8983524a53 Add logic to build sendmail example on target
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1664 42af7a65-404d-4744-a932-0658087f49c3
2009-03-29 00:06:14 +00:00
patacongo
237a112122 Add examples/sendmail
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1663 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 22:41:26 +00:00
patacongo
a26308e871 Move smtp test from examples/uip to here
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1662 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 22:32:19 +00:00
patacongo
fc346719ec Remove all options from examples/uip except for the webserver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1661 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 21:28:43 +00:00
patacongo
e4220a5706 Partial testing of wget command
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1660 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 20:39:20 +00:00
patacongo
388b883a1d Fix parsing of port number
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1659 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 20:38:13 +00:00
patacongo
540b7c48c9 Add wget command to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1657 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 19:49:28 +00:00
patacongo
6484f2c6bb fix error message
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1656 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 16:36:07 +00:00
patacongo
c15dd10da9 Numerous fixes; seems to handle redirection pretty well now
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1655 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 16:30:39 +00:00
patacongo
4d00519a5a wget now takes only a URL as a argument; not host + file name
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1654 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 16:30:10 +00:00
patacongo
68f8ca16e2 wget now takes only a URL as a argument; not host + file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1653 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 16:11:20 +00:00
patacongo
86d1bc4765 Make HTTP URL parsing common
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1652 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 15:58:19 +00:00
patacongo
3a833afd5f Oops.. check in bad change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1651 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 15:14:16 +00:00
patacongo
a117fe9fb8 Add tftpc
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1650 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 13:58:00 +00:00
patacongo
614277dd7c Fix examples/wget build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1649 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 13:14:13 +00:00
patacongo
4bdf936730 Cloning error in functin name
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1648 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 13:11:43 +00:00
patacongo
e6ff50cbcd Fix problem in conditional compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1647 42af7a65-404d-4744-a932-0658087f49c3
2009-03-28 12:45:28 +00:00
patacongo
518a4e8c1f More bugfixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1646 42af7a65-404d-4744-a932-0658087f49c3
2009-03-27 00:06:28 +00:00
patacongo
d200d5a6ba wget bugfixes (still lots of problems)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1645 42af7a65-404d-4744-a932-0658087f49c3
2009-03-26 23:45:24 +00:00
patacongo
9ab52a276a Add host based test for wget()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1644 42af7a65-404d-4744-a932-0658087f49c3
2009-03-26 02:38:07 +00:00
patacongo
e3f089a210 wget test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1643 42af7a65-404d-4744-a932-0658087f49c3
2009-03-26 02:34:25 +00:00
patacongo
87eb68e5fd 1st cut as BSD-izing uIP web client logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1642 42af7a65-404d-4744-a932-0658087f49c3
2009-03-26 01:31:43 +00:00
patacongo
440a3291ff Patch [2696648] Z80: interrupt flag stored in parity bit
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1641 42af7a65-404d-4744-a932-0658087f49c3
2009-03-22 21:25:34 +00:00
patacongo
44b880d56e Patch [2696648] Z80: interrupt flag stored in parity bit
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1640 42af7a65-404d-4744-a932-0658087f49c3
2009-03-22 19:52:48 +00:00
patacongo
328d303684 Fix an error that was causing Tx to timeout improperly
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1639 42af7a65-404d-4744-a932-0658087f49c3
2009-03-22 17:13:51 +00:00
patacongo
85d77c281b Fix various issues, bad ages, etc. with ez80+uIP webserver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1638 42af7a65-404d-4744-a932-0658087f49c3
2009-03-22 16:10:28 +00:00
patacongo
5cc7066b41 Changes for clean build on ZDS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1637 42af7a65-404d-4744-a932-0658087f49c3
2009-03-21 19:56:54 +00:00
patacongo
d85dc1b75a tiny webserver configuratin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1636 42af7a65-404d-4744-a932-0658087f49c3
2009-03-21 19:09:52 +00:00
patacongo
ce571e9d8e Oops.. interrupts must be disabled when uip_arp_update is called
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1635 42af7a65-404d-4744-a932-0658087f49c3
2009-03-21 17:30:38 +00:00
patacongo
3e821540a5 Fix DHCPD uni-cast problem: Need to update ARP table first
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1634 42af7a65-404d-4744-a932-0658087f49c3
2009-03-21 16:48:17 +00:00
patacongo
249eefc1d9 Expose more ARP APIs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1633 42af7a65-404d-4744-a932-0658087f49c3
2009-03-21 16:00:20 +00:00
patacongo
473c6ec4bb Handler ZDI preprocessor
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1632 42af7a65-404d-4744-a932-0658087f49c3
2009-03-21 15:59:45 +00:00
patacongo
050efed5df updated
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1631 42af7a65-404d-4744-a932-0658087f49c3
2009-03-19 00:22:57 +00:00
patacongo
bd8a4451da Add configuration checking
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1630 42af7a65-404d-4744-a932-0658087f49c3
2009-03-19 00:22:41 +00:00
patacongo
42d4074ce0 Needs to have broadcast enabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1629 42af7a65-404d-4744-a932-0658087f49c3
2009-03-19 00:22:13 +00:00
patacongo
24514c2c7f Fix numerous bugs, mostly associated with broadcast
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1627 42af7a65-404d-4744-a932-0658087f49c3
2009-03-19 00:21:21 +00:00
patacongo
3ace875471 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1626 42af7a65-404d-4744-a932-0658087f49c3
2009-03-19 00:18:34 +00:00
patacongo
8a850fb963 If port=0, UDP should select a port number
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1625 42af7a65-404d-4744-a932-0658087f49c3
2009-03-19 00:18:21 +00:00
patacongo
8f2bf0bf97 updated for dhcpd
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1624 42af7a65-404d-4744-a932-0658087f49c3
2009-03-18 00:33:37 +00:00
patacongo
152a66c8b0 Fix examples/dhcpd build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1623 42af7a65-404d-4744-a932-0658087f49c3
2009-03-18 00:29:34 +00:00
patacongo
d17bccbd2a DHCPD server example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1622 42af7a65-404d-4744-a932-0658087f49c3
2009-03-17 23:52:16 +00:00
patacongo
ec440c81e1 Add examples/dhcpd
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1621 42af7a65-404d-4744-a932-0658087f49c3
2009-03-17 23:45:41 +00:00
patacongo
f6581eed99 DHCP server example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1620 42af7a65-404d-4744-a932-0658087f49c3
2009-03-17 23:41:22 +00:00
patacongo
85721ef2aa Back out part of last change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1619 42af7a65-404d-4744-a932-0658087f49c3
2009-03-16 10:44:59 +00:00
patacongo
c931fc4752 Better fix
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1618 42af7a65-404d-4744-a932-0658087f49c3
2009-03-16 01:05:55 +00:00
patacongo
7f9d35a3c4 Fix calculation of checksum on outgoing ping responses
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1617 42af7a65-404d-4744-a932-0658087f49c3
2009-03-16 00:09:31 +00:00
patacongo
2db7a386d4 use llvdbg because vdbg can cause suspension
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1616 42af7a65-404d-4744-a932-0658087f49c3
2009-03-15 21:47:00 +00:00
patacongo
d9998c0ea9 NSH might need bigger stacks if telnetd is enabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1615 42af7a65-404d-4744-a932-0658087f49c3
2009-03-15 21:46:04 +00:00
patacongo
c973bc392b Turn off NSH debug option that was causing a crash
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1614 42af7a65-404d-4744-a932-0658087f49c3
2009-03-15 21:44:58 +00:00
patacongo
79691fd97a Fix some debug macro defintions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1613 42af7a65-404d-4744-a932-0658087f49c3
2009-03-15 21:44:12 +00:00
patacongo
dd85c333d4 Fix some debug statements that print long as int
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1612 42af7a65-404d-4744-a932-0658087f49c3
2009-03-15 16:02:25 +00:00
patacongo
fd489c69a9 Prep for 0.4.3 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1611 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 22:18:23 +00:00
patacongo
3a1f4ecbe0 Changes for clean compilation with ZDS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1610 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 21:58:48 +00:00
patacongo
4d962b8a60 Misc, most cosmetic, updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1609 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 21:00:56 +00:00
patacongo
efefa99b57 Add examples/poll configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1608 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 20:59:36 +00:00
patacongo
5c03b21469 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1607 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 20:42:38 +00:00
patacongo
acab184c80 Correct setting of rrp
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1606 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 20:10:07 +00:00
patacongo
85b42c7ab2 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1605 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 15:47:33 +00:00
patacongo
e1502fe8c1 Typo introduced in previous check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1604 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 15:46:50 +00:00
patacongo
76ab89bd38 Changes for clean compilation with ZDS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1603 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 15:46:31 +00:00
patacongo
ea041dce05 Handle RX descriptor wrapping
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1602 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 14:24:22 +00:00
patacongo
ff553a8683 Finishes initial verification of priority inheritance logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1601 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 01:18:07 +00:00
patacongo
06e367a9e2 Finishes initial verification of priority inheritance logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1600 42af7a65-404d-4744-a932-0658087f49c3
2009-03-14 00:46:02 +00:00
patacongo
e1412760e1 Add debug instrumentation; fix pholder freeing logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1599 42af7a65-404d-4744-a932-0658087f49c3
2009-03-13 22:35:23 +00:00
patacongo
b72d773051 Free holder containers on sem_destroy
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1598 42af7a65-404d-4744-a932-0658087f49c3
2009-03-13 11:27:34 +00:00
patacongo
7f1b7c7c75 Add test for CONFIG_SEM_PREALLOCHOLDERS > 0
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1597 42af7a65-404d-4744-a932-0658087f49c3
2009-03-13 00:54:10 +00:00
patacongo
264806e5b2 Add test for CONFIG_SEM_PREALLOCHOLDERS > 0
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1596 42af7a65-404d-4744-a932-0658087f49c3
2009-03-13 00:25:05 +00:00
patacongo
e09b3b3ecd Fix count initialization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1595 42af7a65-404d-4744-a932-0658087f49c3
2009-03-12 11:24:26 +00:00
patacongo
b39fb58786 Finishes basic implementation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1594 42af7a65-404d-4744-a932-0658087f49c3
2009-03-12 10:55:26 +00:00
patacongo
dcf1176284 More priority inheritance logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1593 42af7a65-404d-4744-a932-0658087f49c3
2009-03-12 01:53:20 +00:00
patacongo
11cdf4251e Repartition functionality in preparation for nested, pending reprioritization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1592 42af7a65-404d-4744-a932-0658087f49c3
2009-03-11 00:03:58 +00:00
patacongo
367beee228 Repartition functionality in preparation for nested, pending reprioritization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1591 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 23:52:46 +00:00
patacongo
8e93df66c6 Extend, improve, and partially fix priority inheritance logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1590 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 11:41:20 +00:00
patacongo
338d225af9 Use new sourceforge logo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1589 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 03:33:33 +00:00
patacongo
8c8f2bfd43 Make better use of new sched_settcpprio() API
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1588 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 02:03:24 +00:00
patacongo
327cdee632 Improve internal priority setting logi
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1587 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 01:13:35 +00:00
patacongo
5baa73f8e8 Use sched_setparam(), not up_reprioritize_rtr()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1586 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 00:40:09 +00:00
patacongo
93355c7e40 Back out part of the last change -- that was a bad idea
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1585 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 00:38:35 +00:00
patacongo
7f0c37a469 Fix priority inheritance bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1584 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 00:24:37 +00:00
patacongo
dc8b78447a Enhance priority inheritance test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1583 42af7a65-404d-4744-a932-0658087f49c3
2009-03-10 00:23:41 +00:00
patacongo
f4bb32479b Add option to select priority inheritance
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1582 42af7a65-404d-4744-a932-0658087f49c3
2009-03-09 00:33:39 +00:00
patacongo
166b4da551 Add support for priority inheritance
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1581 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 23:33:41 +00:00
patacongo
aafb6b8f42 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1580 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 19:42:15 +00:00
patacongo
bbc8d51396 MAXF setting was too small
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1579 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 19:35:35 +00:00
patacongo
980c892b63 Big restructuring of TX logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1578 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 19:00:28 +00:00
patacongo
e3fb74656d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1577 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 18:58:01 +00:00
patacongo
0a4a5afc67 Add more debug output
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1576 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 18:57:27 +00:00
patacongo
39b5dd41b6 Changes to work around bug in ZDS compiler
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1575 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 14:42:36 +00:00
patacongo
20e7fa5778 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1574 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 23:30:19 +00:00
patacongo
64b9459a4c Complete replacement of PHY logic for Am79c874
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1573 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 23:29:17 +00:00
patacongo
e8a4d3516b cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1572 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 23:28:10 +00:00
patacongo
83f444b10f For some platorms, need to really use type long constants and types in HTONL and NTOHL
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1571 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 23:27:38 +00:00
patacongo
8af0d8ce8f Seemingly un-necessary changes but works around some bad ZDS behavior
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1570 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 23:26:33 +00:00
patacongo
6eff0f3485 Fix endian-ness
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1569 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 20:52:41 +00:00
patacongo
920e84cfcc Add AMD PHY id
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1568 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 17:59:59 +00:00
patacongo
89951c94cc cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1567 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 17:59:28 +00:00
patacongo
f8ee104e6e Add RAM addr, PHY type
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1566 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 17:59:03 +00:00
patacongo
9aea2c6657 Integrating EMAC
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1565 42af7a65-404d-4744-a932-0658087f49c3
2009-03-07 17:56:27 +00:00
patacongo
d8ddcb49a8 Need to enable EMAC
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1564 42af7a65-404d-4744-a932-0658087f49c3
2009-03-03 12:14:03 +00:00
patacongo
ccbc1a8e59 Fix status macro
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1563 42af7a65-404d-4744-a932-0658087f49c3
2009-03-03 12:12:49 +00:00
patacongo
8674aaea98 Update for buildroot release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1562 42af7a65-404d-4744-a932-0658087f49c3
2009-03-03 12:06:51 +00:00
patacongo
18f2ed46a5 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1561 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 21:23:11 +00:00
patacongo
579fa244a1 Sample run
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1560 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 18:12:37 +00:00
patacongo
13d6191c0e update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1559 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 18:07:36 +00:00
patacongo
e5365440b8 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1558 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 18:00:58 +00:00
patacongo
6a9e83fbdb Fixes for correct NSH build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1557 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 18:00:37 +00:00
patacongo
601390e5d9 Fixes for correct compilation with ZDS-II
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1556 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 17:42:24 +00:00
patacongo
6d8f5db38f NSH configuration for the eZ80
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1555 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:50:29 +00:00
patacongo
8394f27a36 updates in preparation for EMAC testing
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1554 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:23:57 +00:00
patacongo
eb4e876d9e Fixes to serial driver configuratin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1553 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:23:36 +00:00
patacongo
550eb5cd8b Numerous changes made during the course of integration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1552 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:22:26 +00:00
patacongo
035416320e Debug output should be conditioned on CONFIG_DEBUG_SCHED
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1551 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:21:11 +00:00
patacongo
a20b9e63de Clarification in usage
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1550 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:06:46 +00:00
patacongo
1f3080c62f Fix typo in name
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1549 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 16:06:18 +00:00
patacongo
2d8487f219 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1548 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 15:59:01 +00:00
patacongo
c10f5b9dbd up_earlyserialinit is not used on these platforms
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1547 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 15:58:25 +00:00
patacongo
2f7ee2448c up_earlyserinit is never called
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1546 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 15:57:59 +00:00
patacongo
e5e08517b4 Remove references to unused symbols
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1545 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 15:57:37 +00:00
patacongo
38affba148 Fix error in organization of vector table
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1544 42af7a65-404d-4744-a932-0658087f49c3
2009-03-01 15:56:48 +00:00
patacongo
1a7c3aba48 prep for 0.4.2 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1542 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 22:12:29 +00:00
patacongo
434c6c27ca Fix errors in handling interrupt bits on context restore
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1541 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 21:58:27 +00:00
patacongo
6c0b393697 Fix errors in handling interrupt bits on context restore
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1540 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 21:52:35 +00:00
patacongo
bd0d170002 Enable signals
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1539 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 21:51:53 +00:00
patacongo
b5d1f70c77 Can't display interrupt glyph because LEDs are interrupt driven
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1538 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 21:51:23 +00:00
patacongo
3b78e0a8f3 Fix more overflow/truncation problems in timer setups
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1537 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 18:50:44 +00:00
patacongo
01a50c427d upate
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1536 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 14:26:27 +00:00
patacongo
53a5ea9459 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1535 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 14:24:48 +00:00
patacongo
adf3ac8b7b Increase ostest stack size
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1534 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 14:23:49 +00:00
patacongo
2bd33dbe70 Fix signal-related compilation errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1533 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 14:23:20 +00:00
patacongo
5640825b3f Add up_puts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1532 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 14:22:57 +00:00
patacongo
144644600e Fixe ez80 serial setup
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1531 42af7a65-404d-4744-a932-0658087f49c3
2009-02-28 01:27:30 +00:00
patacongo
ea4e5d904f Bring all eZ80 config files to same level
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1530 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 03:56:35 +00:00
patacongo
371881444e Fix for overflow in calculation of baud divisor
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1529 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 02:07:53 +00:00
patacongo
ec2e5163af cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1528 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 02:07:06 +00:00
patacongo
4a55031b2d Fix error in calculating baud rate generation value
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1527 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 00:47:30 +00:00
patacongo
99c50ff0a5 Misc changes to match output from F91 project
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1526 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 00:44:12 +00:00
patacongo
428f7a08f5 Console needs to be enabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1525 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 00:41:21 +00:00
patacongo
54434c99ba Fix error in calculating baud rate generation value
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1524 42af7a65-404d-4744-a932-0658087f49c3
2009-02-26 00:40:44 +00:00
patacongo
710ba7a8f0 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1523 42af7a65-404d-4744-a932-0658087f49c3
2009-02-25 01:53:38 +00:00
patacongo
94d4825055 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1522 42af7a65-404d-4744-a932-0658087f49c3
2009-02-24 01:28:17 +00:00
patacongo
ef0f434bb1 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1521 42af7a65-404d-4744-a932-0658087f49c3
2009-02-21 00:49:52 +00:00
patacongo
dad4547c71 Fix some stack sizes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1520 42af7a65-404d-4744-a932-0658087f49c3
2009-02-21 00:13:23 +00:00
patacongo
1122bafccd Add support for M16C buttons and LEDs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1519 42af7a65-404d-4744-a932-0658087f49c3
2009-02-20 00:59:18 +00:00
patacongo
dd080051f5 Improve console configuration settings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1518 42af7a65-404d-4744-a932-0658087f49c3
2009-02-19 02:26:04 +00:00
patacongo
6d307da147 Add basic LCD support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1517 42af7a65-404d-4744-a932-0658087f49c3
2009-02-19 02:08:36 +00:00
patacongo
35fe68c3d8 Use the lowconsole driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1516 42af7a65-404d-4744-a932-0658087f49c3
2009-02-19 00:07:46 +00:00
patacongo
f1cd38a52f Remove all references to serial
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1515 42af7a65-404d-4744-a932-0658087f49c3
2009-02-19 00:07:23 +00:00
patacongo
7ba1fb4daf add framework for an LCD console.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1514 42af7a65-404d-4744-a932-0658087f49c3
2009-02-19 00:06:38 +00:00
patacongo
6286423da8 cosmetic renaming
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1513 42af7a65-404d-4744-a932-0658087f49c3
2009-02-18 12:02:22 +00:00
patacongo
b1298c8c4c Add support for boards with no serial ports
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1512 42af7a65-404d-4744-a932-0658087f49c3
2009-02-18 12:00:36 +00:00
patacongo
729525f67c Hook in low-level UART init
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1511 42af7a65-404d-4744-a932-0658087f49c3
2009-02-18 03:22:17 +00:00
patacongo
39d7ac0d2b Complete coding of M16C port
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1510 42af7a65-404d-4744-a932-0658087f49c3
2009-02-17 02:53:24 +00:00
patacongo
f4aceff482 Add M16C serial driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1509 42af7a65-404d-4744-a932-0658087f49c3
2009-02-17 02:43:47 +00:00
patacongo
32fddbe1d2 Add low level UART support for M16C
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1508 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 23:28:10 +00:00
patacongo
59f461ac30 Added support for M16C small memory model
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1507 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 19:10:29 +00:00
patacongo
4880ca3f30 Add support for nestable interrupts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1506 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 19:09:28 +00:00
patacongo
5b7fcc12a2 Add support for M16C timer interrupt
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1505 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 18:29:40 +00:00
patacongo
a06bc37358 cosmet
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1504 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 18:29:14 +00:00
patacongo
f73bfa5307 Add M16C register dump logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1503 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 01:43:01 +00:00
patacongo
87dd780ff5 Need to export symbols
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1502 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 00:27:24 +00:00
patacongo
ede5f9792e Add interrupt initialization logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1501 42af7a65-404d-4744-a932-0658087f49c3
2009-02-15 00:27:06 +00:00
patacongo
1b8bc0682a ez80Acclaim fixes from Kevin Franzen
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1500 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 23:57:26 +00:00
patacongo
4a0b4eb68c Change updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1499 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 22:12:57 +00:00
patacongo
6a31e650e8 Use MAX_INT, not 0x7fffffff. On some machines int is 16-bits
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1498 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 22:11:58 +00:00
patacongo
7127caf67d Back out last change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1497 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 22:11:22 +00:00
patacongo
c9cdb5b1a1 Add M16C interrupt/context switch logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1496 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 22:10:30 +00:00
patacongo
dc8f09cc34 Need separate limits.h files to support M16Climits.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1495 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 22:09:46 +00:00
patacongo
8a66212a6d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1494 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 01:56:40 +00:00
patacongo
364e4ac100 Add FAR to sigdeliver_t
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1493 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 01:11:14 +00:00
patacongo
db5679f13d Add task register intialization logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1492 42af7a65-404d-4744-a932-0658087f49c3
2009-02-14 01:08:39 +00:00
patacongo
bf31ea1816 Fix syntax errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1491 42af7a65-404d-4744-a932-0658087f49c3
2009-02-13 01:01:16 +00:00
patacongo
7d2247f00c Fix assembly errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1490 42af7a65-404d-4744-a932-0658087f49c3
2009-02-13 00:56:23 +00:00
patacongo
0fcb411368 Move vectors to a separate file (more needed)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1489 42af7a65-404d-4744-a932-0658087f49c3
2009-02-13 00:51:57 +00:00
patacongo
fa6eb024dc Fix some assembly errors (some still exist)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1488 42af7a65-404d-4744-a932-0658087f49c3
2009-02-12 00:30:33 +00:00
patacongo
313eedf9b5 signal deliver is specific to SoC
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1487 42af7a65-404d-4744-a932-0658087f49c3
2009-02-12 00:30:04 +00:00
patacongo
97bdcb112f Adding M16C support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1486 42af7a65-404d-4744-a932-0658087f49c3
2009-02-09 00:11:22 +00:00
patacongo
24fea23151 Addng M16C logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1485 42af7a65-404d-4744-a932-0658087f49c3
2009-02-08 22:55:04 +00:00
patacongo
9d1965ba08 M16C chip support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1484 42af7a65-404d-4744-a932-0658087f49c3
2009-02-08 22:52:08 +00:00
patacongo
2bf7ee9ad8 Add M16C info
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1483 42af7a65-404d-4744-a932-0658087f49c3
2009-02-08 20:30:10 +00:00
patacongo
b863621984 Improve build instructions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1482 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 22:33:24 +00:00
patacongo
2ec8813b98 Add framework for MC16C buttons
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1480 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 20:43:22 +00:00
patacongo
37328232b7 Add instructions for building toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1479 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 20:43:04 +00:00
patacongo
48ee466699 Renesas M16C support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1478 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 15:24:32 +00:00
patacongo
073914c5bc Renesas M16C support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1477 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 15:17:58 +00:00
patacongo
e0dd51f808 Renesas M16C Support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1476 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 15:16:55 +00:00
patacongo
a87b9791d1 Prep for 0.4.1 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1475 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 03:23:50 +00:00
patacongo
f5ed3ae106 X11 stuff doesn't build correctly on Cygwin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1474 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 03:10:03 +00:00
patacongo
196260a8c5 Fix compilation problems with eZ80 targets
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1473 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 02:46:14 +00:00
patacongo
88bb6cca07 Fixes for z16f compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1472 42af7a65-404d-4744-a932-0658087f49c3
2009-02-07 02:07:42 +00:00
patacongo
0fc51ed9e2 nettest config
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1471 42af7a65-404d-4744-a932-0658087f49c3
2009-01-21 22:24:52 +00:00
patacongo
e4e5c620be update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1470 42af7a65-404d-4744-a932-0658087f49c3
2009-01-21 21:56:52 +00:00
patacongo
c20aaf755a update project
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1469 42af7a65-404d-4744-a932-0658087f49c3
2009-01-20 14:01:17 +00:00
patacongo
4fb8a871ab Add support for gcc 2.4.2 toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1466 42af7a65-404d-4744-a932-0658087f49c3
2009-01-06 14:34:33 +00:00
patacongo
79dc0fd773 bad hyperlink
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1455 42af7a65-404d-4744-a932-0658087f49c3
2009-01-04 16:09:38 +00:00
patacongo
a6c528bcd1 More fixes for picky ZDS archiver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1454 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 19:02:28 +00:00
patacongo
6930fc4262 Name changes for ZDS archiver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1453 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 18:57:05 +00:00
patacongo
bb45db5b2e Filename changes needed by ZDS archiver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1452 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 18:33:36 +00:00
patacongo
703a3b1e88 Misc fixes for ZDS compile/build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1451 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 18:01:25 +00:00
patacongo
a51a122fb8 Add eZ80F91 EMAC driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1450 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 16:57:52 +00:00
patacongo
1a3d9672fe Fix compile error only noted with ZDS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1449 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 16:55:51 +00:00
patacongo
1d66317ea8 Eliminate warnings with ZDS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1448 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 16:55:31 +00:00
patacongo
23dbbcdcdf Add Am79c874 register definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1447 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 13:56:07 +00:00
patacongo
1e94c9f7e2 Add MDC clock divisors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1446 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 02:20:03 +00:00
patacongo
88d4e7e0df MII definitions needed by ez80 EMAC driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1445 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 02:19:07 +00:00
patacongo
74e239317c cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1444 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 02:18:34 +00:00
patacongo
56eac423c4 fix typo in comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1443 42af7a65-404d-4744-a932-0658087f49c3
2008-12-12 02:17:15 +00:00
patacongo
6c1cdc5213 Move EMAC definitions to a separate file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1442 42af7a65-404d-4744-a932-0658087f49c3
2008-12-11 02:30:58 +00:00
patacongo
4b88c289d7 Move some memory map definitions to a common file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1441 42af7a65-404d-4744-a932-0658087f49c3
2008-12-11 02:30:37 +00:00
patacongo
721696a066 Add more EMAC register definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1440 42af7a65-404d-4744-a932-0658087f49c3
2008-12-09 01:07:11 +00:00
patacongo
c0dfcb5084 Need to use cygpath consistently for compilation in subdirectories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1439 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 21:21:46 +00:00
patacongo
0a7fb63270 fix CC case-ness
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1438 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 20:45:26 +00:00
patacongo
09de1a3a52 Remove Olimex references
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1437 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 18:54:39 +00:00
patacongo
c0f9c73868 ez80f910200zco port
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1436 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 18:44:43 +00:00
patacongo
ee5fbae36e Remove extra line
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1435 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 17:00:16 +00:00
patacongo
b933b1cad6 Add LED support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1434 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 16:59:46 +00:00
patacongo
2b8ff49fe0 Add button support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1433 42af7a65-404d-4744-a932-0658087f49c3
2008-12-08 16:58:18 +00:00
patacongo
922ecbf5aa Fix errors in prototypes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1432 42af7a65-404d-4744-a932-0658087f49c3
2008-12-07 18:22:36 +00:00
patacongo
b6e4104733 Several syntax errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1431 42af7a65-404d-4744-a932-0658087f49c3
2008-12-07 17:36:04 +00:00
patacongo
72c61eeef8 NX needs to be disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1430 42af7a65-404d-4744-a932-0658087f49c3
2008-12-07 17:35:04 +00:00
patacongo
a652c323e7 Add ez80f910200zco board config
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1429 42af7a65-404d-4744-a932-0658087f49c3
2008-12-07 15:46:06 +00:00
patacongo
764606c852 Config for ez80f910200zco board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1428 42af7a65-404d-4744-a932-0658087f49c3
2008-12-07 15:44:56 +00:00
907 changed files with 97111 additions and 7528 deletions

243
ChangeLog
View File

@@ -599,4 +599,245 @@
* Integrated the new font support with a font test in examples/nx
* Add documentation for NX graphics subsystem
0.4.1 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
0.4.1 2009-02-06 Gregory Nutt <spudmonkey@racsa.co.cr>
* Added board support fot the ZiLog eZ80Acclaim! ez80f910200zco Development Kit.
* Fixed several compilation errors in fixed precision math library when built
against toolchains that do not support 64-bit type 'long long'.
* Fix errors in some function prototypes in dirent.h
* Add eZ80F91 EMAC driver
* Fix recvfrom() compilation error -- only noted under ZDS
* Updated all ARM Make.def files to work with gcc 2.4.2 (However, there are
still some build issues associated with that toolchain in use of arm-elf-objcopy
-- see the TODO.txt list for details)
* Fix problems with Z16F and eZ80 compilation introduced with recent changes.
0.4.2 2009-02-28 Gregory Nutt <spudmonkey@racsa.co.cr>
* M16C: Add support for the Renesas M16C MCU and the SKP16C26 StarterKit. However,
the target cannot be built because the GNU m16c-elf-ld link fails with
the following message:
m32c-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482
Where the reference line is:
/* If the symbol is out of range for a 16-bit address,
we must have allocated a plt entry. */
BFD_ASSERT (*plt_offset != (bfd_vma) -1);
No workaround is known at this time. This is a show stopper for M16C.
* eZ80Acclaim!: Fix interrupt vectors positioning; they were being positioned
wrong by 64 bytes (Kevin Franzen).
* eZ80Acclaim!: Corrected some stack handling errors during interrupt handling
context save and restore (Kevin Franzen).
* eZ80Acclaim!: Corrected vector intialization logic (Kevin Franzen).
* eZ80Acclaim!: Corrected overflow problem in the calculation of UART baud rate
divisor, the system timer divisor, and the EMAC poll timer.
* eZ80Acclaim!: Fixed GPIO pin configuration get serial output
* eZ80Acclaim!: Correct stack overflow in ostest example configuration
* eZ80Acclaim!: Fixed restoration of interrupts state on interrupt level context swith.
0.4.3 2009-03-04 Gregory Nutt <spudmonkey@racsa.co.cr>
* z8Encore! and eZ80Acclaim!: Fixed the serial driver initialization sequence
* eZ80Acclaim!: Fixed error in vector table: Missing space set aside for the
"unused" vectors. As a result, all vectors above timer4 were skewed.
* eZ80Acclaim!: Fixed logic error in UART interrupt handler.
* Many fixes in FAT file system and in NSH for correct compilation with ZDS-II
* eZ80Acclaim!: Added and verified a NuttShell (NSH) configuration.
* eZ80Acclaim!: Correct endian-ness; defconfig files said BIG endian.
* Restructured parts of the uIP port for correct compilation with ZDS-II
* eZ80Acclaim!: Complete basic integration of the eZ80F91 EMAC driver. The
driver is basically functional and should mature prior to the 0.4.3 release.
* Implemented priority inheritance logic for POSIX semaphores. Because the pthread
mutexes are built on semaphores, they will have this property as well.
0.4.4 2009-03-29 Gregory Nutt <spudmonkey@racsa.co.cr>
* examples/nsh: A debug option was left on that can (and does) cause
infinite loops and stack overflows.
* net/uip: Correct calculation of checksum on ICMP ping response.
* examples/dchpd: Added a tiny DHCP server example
* net/uip: Correct UDP bind behavior. It should select a valid port number
if it receives a port number of zero.
* netutils/dhcpd: Corrrect for ZDS compiler. Fix issue with re-use of a
port number. Fixed a number of broadcast-related problems.
* eZ80Acclaim!: Add a tiny webserver configuration
* eZ80Acclaim!: Fixed an important bug in the EMAC Tx timeout logic. It was
always timing out when the load was heavy and worse, for some reason,
resetting the Tx function caused unexpected registers to be reset in
the Rcv function was well.
* Z80: Patch incorported: "[2696648] Z80: interrupt flag stored in parity bit"
(submitted by JPelletier). The is the same fix that was needed for the
eZ80 and fixed in 0.4.2.
* netutils: Added logic to support a simple wget() function
* examples/wget: Added a test for wget() (untested -- see NOTE)
* lib/strncasecmp: Fix cut'n'paste error in function name.
* NSH: Added wget command (untested -- see NOTE).
* examples/sendmail: A simple sendmail example (untested -- see NOTE)
NOTE: Features related to wget and sendmail are not tested on the target platform
in this release and, hence, most likely have problems. I don't have the correct network
network setup to perform that testing now (I'm in a hotel).
0.4.5 2009-04-19 Gregory Nutt <spudmonkey@racsa.co.cr>
* Add an enumeration argument to the SPI chip select and status methods so
that the interface can handle more than one device.
* eZ80Acclaim!: Add a generic SPI driver for all eZ80 boards.
* Add a setmode() method to the SPI interface to handle parts with differing
mode requirements.
* include/nuttx/i2c.h: Defined a standard I2C interface
* eZ80Acclaim!: Add an I2C driver.
* eZ8Encore!: Add an I2C driver.
* Add support for the Freescale i.MX1/L architecture and a configuration for
the Freescale MX1ADS development board.
* examples/helloxx: Added a simple C++ hello world example
* include/css: Added std header files
* libxx: New C++-only directory provides support for minimal C++ applications
0.4.6 2009-05-19 Gregory Nutt <spudmonkey@racsa.co.cr>
* Change SPI interface so that is can accomodate interfaces where the
number of bits per word is greater an 8 (such as with many 9-bit display
interfaces). -- this might have broken a few things which will need to
be retested!
* arch/arm/src/imx: Added i.MX SPI driver
* SPI: Add a method to set the number of bits per word. Also add an
alternative interface for so that (eventually) I can phase the sndblock
and recvblock methods and replace them with a single exchange method
* Build: objcopy fails with toolchains that use newer GCC and binutils. The
following arguments need to be included in the objcopy command line "-R .note
-R .note.gnu.build-id -R .comment" This has bin fixed in arch/arm/src/Makefile,
but other architectures may have the same problem. Thanks to Dave Marples
for verifying this.
* configs/eagle100/ostest: Added support for the MicroMint Eagle100 board.
This board has a Luminary LM3S6918 Cortex-M3. Added a configuration to build
examples/ostest.
* arch/arm/src/lpc214x: Add configuration option to enable fast GPIO (vs.
legacy, "slow" GPIO) for LPC214x.
* arch/arm: Restructured the arch/arm directory structure to better suppor ARM
and Cortex-M3.
* sched/: pthread_create() must return a (non-negated) errno value on failure.
* configs/eagle100/nsh: Add a NuttShell (NSH) configuration for the Eagle-100
0.4.7 2009-05-29 Gregory Nutt <spudmonkey@racsa.co.cr>
* arch/arm/src/lm3s: Added an Ethernet driver for the LM3S6918
* configs/eagle100/nettest: Added an examples/nettest configuration for the
Micromint Eagle100 board.
* Documentation/NuttxPortingGuide.html: Added a section on NuttX device drivers.
* configs/eagle100/httpd: Added an examples/uip configuration for the
Micromint Eagle100 board.
* arch/arm/src/lm3s: Added an SSI driver for the LM3S6918
* examples/nsh: Added MMC/SD support for the LM3S6918
* arch/arm/src/lm3s: Fix logic for setting and clearing output GPIOs (critical
fix!).
* drivers/mmcsd: Found numerous errors in current MMC/SD SPI driver. Bad frequency
calculation based on CSD settings, inappropriate timeouts, odd code that looks like
a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
largely redesigned and probably non-functional in the first check-in.
* drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb
SanDisk microSDC card on the Eagle100 platform.
* fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
Found and corrected a problem that prevented use of FAT32: It was not updating
the sector cache before checking the FAT32 FSINFO sector.
* configs/eagle100/*/Make.defs: Added configuration options that should make
it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain
and the devkitARM GNU toolchain.
* configs/mcu123-lpc214x/src: Corrected some logic in the LPC2148 SPI receive block
logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, and
4Gb Kingston SDHC. There are CMD0 issues with the 2Gb SanDisk SDC on this board.
* fs/fs_mount.c: Corrected error handling that could cause a deadlock on certain
mount() failures.
0.4.8 2009-06-13 Gregory Nutt <spudmonkey@racsa.co.cr>
* lib/lib_*stream.c: Extend internal stream logic to support incoming streams.
* arch/arm/src/str71x: Serial output is now correct and timer interrupts are
working. The test at configs/olimex-strp711/ostest passes. This means that
the basic STR-P711 port is complete.
* configs/olimex-strp711/nsh: Add and verifed a NuttShell (NSH) configuration
for the STR-P711.
* arch/arm/str71x/str71x_serial.c: The STR711 interrupt driven serial driver
finally works after some extradinary measures to handle missed interrupts.
NSH is fully functional on the Olimex STR-P711 board.
* example/nsh: Moved architecture specific files from NSH directory to board-
specific directories.
* config/olimex-strp711/src/up_nsh.c: Add an NSH board specific directory for
for the Olimex STR7P11 board.
* Fixed build of LM3X6918 using the CodeSourcery Windows native toolchain. There
were lots of issues with Cygwin paths and Cygwin symbolic links. These changes
may work with the devarmKIT as well, but that remains untested.
* The NXP LPC2148 and STR711 targets can now also be built using the CodeSourcery
or devkitARM Windows native toolchains.
0.4.9 2009-06-26 Gregory Nutt <spudmonkey@racsa.co.cr>
* Add strtoll() and strtoull(); Add macros for atol() and atoll().
* dup() and dup2() will now clone socket descriptors
* All socket descriptors ar now cloned when when a new task is started
via task_create().
* Add configuration options to suppress or eliminate cloning of file
and/or socket descriptors when a new task is started by task_create():
CONFIG_FDCLONE_DISABLE, CONFIG_FDCLONE_STDIO, CONFIG_SDCLONE_DISABLE.
* Use of C++ reserved word 'private' in C header files causes problems
for C++ that include them.
* Added 'binfmt' support to allow execution of programs in a file system,
binding to NuttX symbols. A custom format call NXFLAT is used; this
derives from http://xflat.sourceforge.net. At present is supports on
XIP execution from ROMFS file systems. Initial check-in is untested
and probably breaks many builds.
* examples/lib: Added qsort()
* examples/nxflat: Added support for symbol tables
* Correct logic that creates compiler include paths. On Cygwin, the
include paths for Cygwin-based GCC were being converted to windows
native paths. That causes many problems -- breaking dependencies
for one.
* Fixed an important bug in ROMFS. The initial XIP offset was set
incorrectly so if sector zero was read first, there was a bad read.
I don't know how it worked before.
* arch/arm/src/common/up_use_stack.c. Fixed a fatal stack setup error.
This file has been around for a long time, but I don't think it has
every been used before (i.e., prior to the NXFLAT logic)
0.4.10 2009-08-08 Gregory Nutt <spudmonkey@racsa.co.cr>
* lib/: Added some basic regex-subset, pattern matching functions
* lib/: Greatly simplified mktime() and gmtime_r(). The Gregorian and
Julian time calculations were interesting, but not necessary in the
typical embeddd system.
* sched/: Added gettimeofday(). This implementation is simply a thin
wrapper around clock_gettimer().
* lib/: Add gmtime(), localtime(), and strftime()
* binfmt/: Add exec(). This is just a wrapper that executes both
load_ and exec_module() in a more familiar manner. It is not consistent
with more standard exec() functions, however, because (1) it returns
and (2) it requires symbol table arguments.
* lib/: Add fileno()
* examples/ostest: Several of the tests used a big, hard-coded stack size
when creating test threads (16Kb stacksize). The stack size should
be controlled by the .config file or the OSTest won't work on platforms
with memory constraints.
* netutils/thttpd: An initial port of Jeff Poskanzer's THTTPD HTTP server.
See http://acme.com/software/thttpd/.
* examples/thttpd: A basic test program for THTTPD
* configs/eagle100/thttpd: A build configuration for THTTPD on the Micromint
Eagle-100 LMS6918 (Cortex-M3) board.
* configs/ntosd-dm320/thttpd: A build configuration for THTTPD on the Neuros
DM320 platform.
* lib/: Added strstr() and strpbrk().
* net/recvfrom.c and net/accept(): Sockets now support some non-blocking
operations, specifically for (1) TCP/IP read operations when read-ahead
buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
connection backlog is enabled.
* fs/fs_fcntl.c and net/net_vfcntl.c: Minimal support provided for fcntl().
It can, at least, be used to mark sockets as blocking or non-blocking.
* net/net_close.c: Fix bug in close(). If reference count not set to zero
then uip_tcpfree() will assert when DEBUG is enabled.
* net/accept.c: Fix bug in accept(). The logic expected parts of the
return address structure to be initialized or it would return an error.
0.4.11 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>

View File

@@ -342,7 +342,7 @@
</p>
<p>
However, the same end result can be obtained by using the
<a href="nxrequestbkgd"><code>nx_requestbkgd()</code></a> API.
<a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a> API.
It still may be possible to reduce the footprint in this usage case by developing
and even thinner NXNULL front-end.
That is a possible future development.
@@ -1652,7 +1652,7 @@ int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest,
or <a href="#nxrequestbkgd"><code>nx_requestbkgd()</code></a> that specifies the
window that will receive the bitmap image.
<dt><code>dest</code>
<dd> Describes the rectangular on the display that will receive the the bit map.
<dd> Describes the rectangular on the display that will receive the bit map.
<dt><code>src</code>
<dd>The start of the source image. This is an array source images of size
<code>CONFIG_NX_NPLANES</code> (probably 1).

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: November 15, 2008</p>
<p>Last Updated: June 08, 2009</p>
</td>
</tr>
</table>
@@ -275,7 +275,13 @@
<tr>
<td><br></td>
<td>
<a href="#cmdxd">2.33 Hexadecimal Dump (xd)</a>
<a href="#cmdwget">2.33 Get File Via HTTP (wget)</a>
</td>
</tr>
<tr>
<td><br></td>
<td>
<a href="#cmdxd">2.34 Hexadecimal Dump (xd)</a>
</td>
</tr>
<tr>
@@ -1342,7 +1348,7 @@ mount -t &lt;fstype&gt; &lt;block-device&gt; <code>&lt;dir-path&gt;</code>
</li>
</ol>
<p>
After the the volume has been mounted in the NuttX
After the volume has been mounted in the NuttX
<a href="NuttxUserGuide.html#FileSystemOverview"><i>pseudo</i> filesystem</a>,
it may be access in the same way as other objects in thefile system.
</p>
@@ -1673,7 +1679,34 @@ usleep &lt;usec&gt;
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<a name="cmdxd"><h2>2.33 Hexadecimal dump (xd)</h2></a>
<a name="cmdwget">2.33 Get File Via HTTP (wget)</a>
</td>
</tr>
</table>
<a <p><b>Command Syntax:</b></p>
<ul><pre>
wget [-o &lt;local-path&gt;] &lt;url&gt;
</pre></ul>
<p>
<b>Synopsis</b>.
Use HTTP to copy the file at <code>&lt;url&gt;</code> to the current directory.
</p>
<p><b>Options:</b></p>
<ul><table>
<tr>
<td><b><code>-o &lt;local-path&gt;</code></b></td>
<td>
The file will be saved relative to the current working directory
and with the same name as on the HTTP server unless <code>&lt;local-path&gt;</code> is provided.
</td>
</tr>
</table></ul>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<a name="cmdxd"><h2>2.34 Hexadecimal dump (xd)</h2></a>
</td>
</tr>
</table>
@@ -1909,6 +1942,12 @@ nsh>
<td>!<code>CONFIG_DISABLE_SIGNALS</code></td>
<td><code>CONFIG_EXAMPLES_NSH_DISABLE_USLEEP</code></td>
</tr>
<tr>
<td><b><code>wget</code></b></td>
<td><code>CONFIG_NET</code> &amp;&amp; <code>CONFIG_NET_TCP</code> &amp;&amp;
<code>CONFIG_NFILE_DESCRIPTORS</code> &gt; 0</td>
<td><code>CONFIG_EXAMPLES_NSH_DISABLE_WGET</code></td>
</tr>
<tr>
<td><b><code>xd</code></b></td>
<td><br></td>
@@ -2037,6 +2076,15 @@ nsh>
access NSH.
</td>
</tr>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ARCHINIT</code></b></td>
<td>
Set <code>CONFIG_EXAMPLES_NSH_ARCHINIT</code> if your board provides architecture
specific initialization via the board-specific function <code>nsh_archinitialize()</code>.
This function will be called early in NSH initialization to allow board logic to
do such things as configure MMC/SD slots.
</td>
</tr>
</table></center>
<p>
@@ -2060,7 +2108,7 @@ nsh>
<tr>
<td valign="top"><b><code>CONFIG_EXAMPLES_NSH_DHCPC</code></b></td>
<td>
Obtain the the IP address via DHCP.
Obtain the IP address via DHCP.
</td>
</tr>
<tr>
@@ -2255,6 +2303,7 @@ nsh>
<li><a href="#cmdunmount"><code>umount</code></a></li>
<li><a href="#cmdunset"><code>unset</code></a></li>
<li><a href="#cmdusleep"><code>usleep</code></a></li>
<li><a href="#cmdwget"><code>wget</code></a></li>
<li><a href="#cmdxd"><code>xd</code></a></li>
</ul></td>
</tr></table>

File diff suppressed because it is too large Load Diff

View File

@@ -5,37 +5,32 @@
<body background="backgd.gif">
<table width="100%">
<tr>
<td width="210" valign="top">
<a href="http://sourceforge.net/">
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=235&amp;type=5" width="210" height="62" border="0" alt="SourceForge"/>
</a>
</td>
<td>
<table width="100%">
<tr>
<td bgcolor="#e4e4e4" colspan="2">
<big><b><i><font color="#3c34ec">NuttX RTOS</font></i></b></big>
<td bgcolor="#e4e4e4">
<big><b><i><font color="#3c34ec">NuttX RTOS</font></i></b></big> ...
<a href="http://nuttx.sourceforge.net" target="_top">Home</a> ...
<a href="freeports.html">Free Ports</a><br>
</td>
<td width="100" align="center">
<a href="http://sourceforge.net/projects/nuttx" target="_top">
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=189573&type=8" width="80" height="15" border="0" alt="Get NuttX at SourceForge.net. Fast, secure and Free Open Source software downloads" />
</a>
</td>
</tr>
<tr>
<td valign="top">
<a href="http://sourceforge.net/projects/nuttx" target="_top">Project</a><br>
<a href="http://nuttx.sourceforge.net" target="_top">Home</a>
</td>
<td valign="top">
<a href="http://tech.groups.yahoo.com/group/nuttx" target="_top">Yahoo! Groups</a><br>
<a href="freeports.html">Free Ports</a><br>
<td><br></td>
<td width="100" align="center">
<a href="http://groups.yahoo.com/group/nuttx/join" target="_top">
<img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/i/us/ui/join.gif"
style="border: 0px;"
alt="Click to join nuttx"/>
</a>
</td>
</tr>
</table>
</td>
<td width="100" valign="top">
<a href="http://groups.yahoo.com/group/nuttx/join" target="_top">
<img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/i/us/ui/join.gif"
style="border: 0px;"
alt="Click to join nuttx"/>
</a>
</td>
</tr>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
############################################################################
# Makefile
#
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@@ -44,6 +44,14 @@ DIRLINK = $(TOPDIR)/tools/link.sh
DIRUNLINK = $(TOPDIR)/tools/unlink.sh
endif
# This is the final executable
ifeq ($(WINTOOL),y)
NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}"
else
NUTTX = $(TOPDIR)/nuttx
endif
# Process architecture and board-specific directories
ARCH_DIR = arch/$(CONFIG_ARCH)
@@ -62,7 +70,7 @@ ADDON_DIRS := $(PCODE_DIR) $(NX_DIR)
# from the build if file descriptor support is disabled
NONFSDIRS = sched lib $(ARCH_SRC) mm examples/$(CONFIG_EXAMPLE) $(ADDON_DIRS)
FSDIRS = fs drivers
FSDIRS = fs drivers binfmt
ifeq ($(CONFIG_NET),y)
NONFSDIRS += net netutils
@@ -98,10 +106,21 @@ endif
LINKLIBS = sched/libsched$(LIBEXT) $(ARCH_SRC)/libarch$(LIBEXT) mm/libmm$(LIBEXT) \
lib/liblib$(LIBEXT) examples/$(CONFIG_EXAMPLE)/lib$(CONFIG_EXAMPLE)$(LIBEXT)
ifeq ($(CONFIG_NET),y)
LINKLIBS += net/libnet$(LIBEXT) netutils/libnetutils$(LIBEXT)
# Add libraries for network support. CXX, CXXFLAGS, and COMPILEXX must
# be defined in Make.defs for this to work!
ifeq ($(CONFIG_HAVE_CXX),y)
LINKLIBS += libxx/liblibxx$(LIBEXT)
endif
# Add libraries for network support
ifeq ($(CONFIG_NET),y)
LINKLIBS += net/libnet$(LIBEXT) netutils/libnetutils$(LIBEXT)
endif
# Add libraries for file system support
ifeq ($(CONFIG_NFILE_DESCRIPTORS),0)
ifneq ($(CONFIG_NSOCKET_DESCRIPTORS),0)
LINKLIBS += fs/libfs$(LIBEXT)
@@ -110,13 +129,17 @@ ifeq ($(CONFIG_NET),y)
LINKLIBS += drivers/libdrivers$(LIBEXT)
endif
else
LINKLIBS += fs/libfs$(LIBEXT) drivers/libdrivers$(LIBEXT)
LINKLIBS += fs/libfs$(LIBEXT) drivers/libdrivers$(LIBEXT) binfmt/libbinfmt$(LIBEXT)
endif
# Add libraries for Pascall P-Code
ifneq ($(PCODE_DIR),)
LINKLIBS += $(PCODE_DIR)/libpcode$(LIBEXT)
endif
# Add libraries for the NX graphics sub-system
ifneq ($(NX_DIR),)
LINKLIBS += $(NX_DIR)/libnx$(LIBEXT)
endif
@@ -129,7 +152,7 @@ endif
BIN = nuttx$(EXEEXT)
all: $(BIN)
.PHONY: clean context clean_context distclean
.PHONY: context clean_context check_context subdir_clean clean subdir_distclean distclean
# Build the mkconfig tool used to create include/nuttx/config.h
tools/mkconfig:
@@ -188,6 +211,9 @@ sched/libsched$(LIBEXT): context
lib/liblib$(LIBEXT): context
@$(MAKE) -C lib TOPDIR="$(TOPDIR)" liblib$(LIBEXT)
libxx/liblibxx$(LIBEXT): context
@$(MAKE) -C libxx TOPDIR="$(TOPDIR)" liblibxx$(LIBEXT)
$(ARCH_SRC)/libarch$(LIBEXT): context
@$(MAKE) -C $(ARCH_SRC) TOPDIR="$(TOPDIR)" libarch$(LIBEXT)
@@ -206,6 +232,9 @@ fs/libfs$(LIBEXT): context
drivers/libdrivers$(LIBEXT): context
@$(MAKE) -C drivers TOPDIR="$(TOPDIR)" libdrivers$(LIBEXT)
binfmt/libbinfmt$(LIBEXT): context
@$(MAKE) -C binfmt TOPDIR="$(TOPDIR)" libbinfmt$(LIBEXT)
pcode/libpcode$(LIBEXT): context
@$(MAKE) -C pcode TOPDIR="$(TOPDIR)" libpcode$(LIBEXT)
@@ -227,13 +256,13 @@ ifeq ($(CONFIG_RRLOAD_BINARY),y)
fi
endif
ifeq ($(CONFIG_INTELHEX_BINARY),y)
@$(OBJCOPY) -O ihex $(TOPDIR)/$@ $(TOPDIR)/$@.ihx
@$(OBJCOPY) $(OBJCOPYARGS) -O ihex $(NUTTX)$(EXEEXT) $(NUTTX)$(EXEEXT).ihx
endif
ifeq ($(CONFIG_MOTOROLA_SREC),y)
@$(OBJCOPY) -O srec $(TOPDIR)/$@ $(TOPDIR)/$@.srec
@$(OBJCOPY) $(OBJCOPYARGS) -O srec $(NUTTX)$(EXEEXT) $(NUTTX)$(EXEEXT).srec
endif
ifeq ($(CONFIG_RAW_BINARY),y)
@$(OBJCOPY) -O binary $(TOPDIR)/$@ $(TOPDIR)/$@.bin
@$(OBJCOPY) $(OBJCOPYARGS) -O binary $(NUTTX)$(EXEEXT) $(NUTTX)$(EXEEXT).bin
endif
depend:
@@ -251,7 +280,7 @@ subdir_clean:
@$(MAKE) -C mm -f Makefile.test TOPDIR="$(TOPDIR)" clean
clean: subdir_clean
@rm -f $(BIN) $(BIN).* mm_test *.map *~
@rm -f $(BIN) nuttx.* mm_test *.map *~
subdir_distclean:
@for dir in $(CLEANDIRS) ; do \

View File

@@ -769,3 +769,192 @@ also numerous extensions to the NuttShell, NuttX APIs, and architecture ports.
This tarball contains a complete CVS snapshot from December 6, 2008.
nuttx-0.4.1
^^^^^^^^^^^
This is the 33rd release of NuttX. This is a minor bugfix release. The primary reason
for this release is to correct numerous build errors that have accumulated for the ZiLOG
ZDS-II based targets. All ZDS-II targets now build correctly (but have not been re-tested).
In addition to platform-specific build failures, release also adds the following features
which were not tested as of the time of the release:
* Board support fot the ZiLog ez80Acclaim! ez80f910200zco Development Kit
* ZiLOG eZ80F91 EMAC driver
These changes were verified only on the NuttX simulation platform. Please report any errors
to me.
This tarball contains a complete CVS snapshot from Februrary 6, 2009.
nuttx-0.4.2
^^^^^^^^^^^
This is the 34th release of NuttX. This release adds no new OS features but does include
support for two new architectures:
* ez80Acclaim! Basic support has been integrated and verified for the ez80f910200zcog-d
board (eZ80F91-based). That basic support includes timer interrupts and serial
console. Ongoing work includes an EMAC driver that should be integrated for
the next release nuttx-0.4.2.
eZ80Acclaim! support has been in the code base for some time, but has only just
been integrated due to toolchain issues.
* Renesas M16C/20. Support for the Renesas SKP16C20 board has been included in
the NuttX source tree. However, as the eZ80Acclaim!, testing and integration
of that port is stalled due to toolchain issues.
These changes were verified only on the ZiLOG eZ80910200zcog-d board. Please report any errors
to me.
This tarball contains a complete CVS snapshot from Februrary 28, 2009.
nuttx-0.4.3
^^^^^^^^^^^
This is the 35th release of NuttX. This release one important new OS feature and corrects
and extends the eZ80 port:
* Priority Inheritance. The basic NuttX waiting logic was extended to
support priority inheritance. See the NuttX User Manual for further
information: http://www.nuttx.org/NuttxUserGuide.html#priorityinheritance.
* ez80Acclaim! Corrected several critical, show-stopping bugs on that
platform including: Errors in the serial driver intrrupts and an error
in the eZ80 table,.
* eZ80Acclaim!: Completed integration of the eZ80F91 EMAC driver.
These changes were verified only on the ZiLOG eZ80910200zcog-d board and on Cygwin-based
simulation platform in various configurations. Please report any errors to me.
This tarball contains a complete CVS snapshot from March 13, 2009.
nuttx-0.4.4
^^^^^^^^^^^
This is the 36th release of NuttX. This release focuses on bugfixes and extending
and verifying certain networking features.
* Important bugs were fixed in NSH, UDP checksum calculation, UDP bind()
behavior for port==0, the eZ80Acclaim! EMAC driver, Z80 interrupt handling,
and in the C libraries.
* Testing was extended to further verify the tiny webserver, DHCPD, wget(),
and sendmail.
See the Changelog for a detailed description of these changes.
These changes were verified only on the ZiLOG eZ80910200zcog-d board using the
ZDS-II toolchain in Cygwin-based environment. Please report any errors to me.
This tarball contains a complete CVS snapshot from March 29, 2009.
nuttx-0.4.5
^^^^^^^^^^^
This is the 37th release of NuttX. This release focuses on a few new features.
* The basic port for the FreeScale ARM920T i.MX1 processor on the
Freescale MX1ADS board. Coding is complete for this port, but it is
has not yet fully integrated
* Extended I2C and SPI interface definitions
* Add basic support for C++ applications. Very simple C++ applications
can now be built against NuttX without any external libraries. At
present, only the most primitive C++ programs are supported, but it
is hoped that this support will be extended in future releases.
See the Changelog for a detailed description of these changes.
This tarball contains a complete CVS snapshot from April 19, 2009.
nuttx-0.4.6
^^^^^^^^^^^
This is the 38th release of NuttX. The release features support for the Micromint
Eagle-100 development board. This board is based around, the Luminary LM3S6918 MCU.
This is the first ARM Cortex-M3 architecture supported by Nuttx. This initial, basic
port includes timer and serial console with configurations to execute the NuttX OS
test and to run the NuttShell (NSH). Work is still underway on this port and current
plans are to have I2C, SSI, MMC/SD, and and Ethernet driver in the 0.4.7 release.
Additional work was done on the MXADS i.MX1 port, however, that work has been set
aside until I complete work on the Eagle-100 (I also need to come up with a 3V power
supply).
Other changes in this release include: Extensions to the SPI interface definition
in order to handle 9-bit interfaces to displays. Several bugs were fixed (see the
ChangeLog for a complete list of changes).
This tarball contains a complete CVS snapshot from May 19, 2009.
nuttx-0.4.7
^^^^^^^^^^^
This is the 39th release of NuttX. This release focuses on cleaning up and
extending the Eagle100/LM3S6918 port released in nuttx-0.4.6 and on improved
MMC/SD support. New features include:
o Improved reliably and additional drivers for the Eagle-100 board (LM3S6918
ARM Cortex-M3). Additional drivers include Ethernet, SSI, and support for
the on-board LEDs and microSD cards.
o The SPI-based MMC/SD driver was extended to support SDHC Version 2.xx cards.
In addition, this release includes several important bugfixes for the LM3S6918,
the LPC2148, the SPI-based MMC/SD driver, and to FAT32. See the ChangeLog for
details of these bugfixes.
This tarball contains a complete CVS snapshot from May 29, 2009.
nuttx-0.4.8
^^^^^^^^^^^
This is the 40th release of NuttX. This release adds:
o Support for the Olimex STRP711 board. That board is based on the STMicro
STR711 MCU (ARM7TDMI). Integration is complete on the basic port (boot logic,
system time, serial console). Two configurations have been verified: (1) The
board boots and passes the OS test with console output visible on UART0, and
the NuttShell (NSH) is fully functional with interrupt driven serial console.
An SPI driver is available but untested (because the Olimex card slot appears
to accept only MMC cards; I have only SD cards). Additional needed: USB and
driver, MMC integration.
o Support for the CodeSourcery and devkitARM Windows-native GNU toolchains.
Makefiles have been modified for the LM3S6918, LPC2148, and STR711 to support
these toolchains under Cygwin.
This tarball contains a complete CVS snapshot from June 13, 2009.
nuttx-0.4.9
^^^^^^^^^^^
This is the 41st release of NuttX. This release adds:
* Support for a new binary format call NXFLAT that can be used to
execute separately linked programs in place in a file system.
See http://www.nuttx.org/NuttXNxFlat.html.
* Several important bugs were files related to networking and ROMFS
(see the ChangeLog for a complete list).
This tarball contains a complete CVS snapshot from June 26, 2009.
nuttx-0.4.10
^^^^^^^^^^^
This is the 42nd release of NuttX. This released focused on the port of Jeff
Poskanzer's THTTPD HTTP server (see http://acme.com/software/thttpd/.). As of
the 0.4.10 release, that port is still not fully complete and functional.
However, numerous related bug-fixes and functional additions for THTTPD were
added:
* Several new standard C-library functions (fileno, strstr, strpbrk, fcntl).
* Improved and extended timing APIs (mktime, gmtime, gmtime_r, gettimeofday,
localtime, localtime_r, and strftime)
* Networking enhancements: recvfrom and accept now work with non-blocking
sockets.
* NXFLAT extensions (exec)
* Pattern matching logic.
* And miscellaneous bug fixes (see the ChangeLog for details).
This tarball contains a complete CVS snapshot from August 8, 2009.

303
TODO
View File

@@ -1,30 +1,33 @@
NuttX TODO List (Last updated November 20, 2008)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NuttX TODO List (Last updated August 8, 2009)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(7) Task/Scheduler (sched/)
(1) Dynamic loader (N/A)
(5) Task/Scheduler (sched/)
(2) Memory Managment (mm/)
(1) Signals (sched/, arch/)
(1) pthreads (sched/)
(1) C++ Support
(12) Network (net/, netutils/)
(5) Binary loaders (binfmt/)
(15) Network (net/, netutils/)
(1) USB (drivers/usbdev)
(4) Libraries (lib/)
(6) File system/Generic drivers (fs/, drivers/)
(8) File system/Generic drivers (fs/, drivers/)
(2) Graphics subystem (graphics/)
(1) Pascal add-on (pcode/)
(2) Documentation (Documentation/)
(5) Build system
(2) NuttShell (NSH) (examples/nsh)
(1) Other Applications & Tests (examples/)
(1) Linux/Cywgin simulation (arch/sim)
(2) ARM (arch/arm/)
(1) Documentation (Documentation/)
(6) Build system / Toolchains
(3) NuttShell (NSH) (examples/nsh)
(3) Other Applications & Tests (examples/)
(2) Linux/Cywgin simulation (arch/sim)
(3) ARM (arch/arm/)
(1) ARM/C5471 (arch/arm/src/c5471/)
(3) ARM/DM320 (arch/arm/src/dm320/)
(6) ARM/LPC214x (arch/arm/src/lpc214x/)
(2) ARM/i.MX (arch/arm/src/imx/)
(8) ARM/LPC214x (arch/arm/src/lpc214x/)
(3) ARM/STR71x (arch/arm/src/str71x/)
(3) ARM/LM3S6918 (arch/arm/src/lm3s/)
(4) pjrc-8052 / MCS51 (arch/pjrc-8051/)
(1) SH-1 (arch/sh)
(2) Hitachi/Renesas SH-1 (arch/sh/src/sh1)
(4) Renesas M16C/26 (arch/sh/src/m16c)
(8) z80/z8/ez80 (arch/z80/)
(8) z16 (arch/z16/)
@@ -52,30 +55,11 @@ o Task/Scheduler (sched/)
Status: Open
Priority: Low
Description: Implement priority inheritance
Status: Open
Priority: Medium, this is a good feature for realtime systems.
Description: Several APIs do not set errno. Need to review all APIs.
Status: Open
Priority: Medium, required for standard compliance (but makes the
code bigger)
Description: socket descriptors are not cloned as are file descriptors
by task_create().
Status: Open
Priority: Medium-to-High
o Dynamic Loader
^^^^^^^^^^^^^^
Description: At some point in the future, I intend to port the XFLAT
dynamic loader into NuttX (see http://xflat.sourceforge.net/).
That would allow NuttX to dynamically load and link
external code in a mounted filesystem.
Status: Open
Priority: Low, Nice feature and I might do it someday
o Memory Managment (mm/)
^^^^^^^^^^^^^^^^^^^^^^
@@ -119,12 +103,46 @@ o C++ Support
constructor logic will probably have to be performed by
user logic in user_start().
o Binary loaders (binfmt/)
^^^^^^^^^^^^^^^^^^^^^^^^
Description: Not all of the NXFLAT test under examples/nxflat are working.
Most simply do not compile yet. tests/mutex runs okay but
outputs garbage on completion.
Status: Open
Priority: High
Description: The ARM up_getpicbase() does not seem to work. This means
the some features like wdog's might not work in NXFLAT modules.
Status: Open
Priority: Medium-High
Description: At present, all .rodata must be put into RAM. There is a
tentative design change that might allow .rodata to be placed
in FLASH (see Documentation/NuttXNxFlat.html).
Status: Open
Priority: Medium
Description: If the function pointer to a statically defined function is
taken, then GCC generates a relocation that cannot be handled
by NXFLAT. There is a solution described in Documentataion/NuttXNxFlat.html,
by that would require a compiler change (which we want to avoid).
The simple workaround is to make such functions global in scope.
Status: Open
Priority: Low (probably will not fix)
Description: In the NXFLAT symbol tables... Using a 32-bit hash value instead
of a string to identify a symbol should result in a smaller footprint.
Status: Open
Priority: Low
o Network (net/, netutils/)
^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Several of the netutils/ apps are untested. These include
uIP's netutils/smtp, dhcpd, resolv, webclient. Only minimal
testing of the others has been performed.
Description: One critical part of netutils/ apps is untested: The uIP
resolver in netutils/resolv. The webclient code has been
tested on host using gethosbyname(), but still depends on the
untested resolve logic.
Status: Open
Priority: Medium, Important but not core NuttX functionality
@@ -216,6 +234,18 @@ o Network (net/, netutils/)
Status: Open, depends on UDP read-ahead support
Priority: Medium
Description: sockets do not support all modes except for O_NONBLOCK. Sockets
support only (1) TCP/IP non-blocking read operations when read-ahead
buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
connection backlog is enabled.
Status: Open
Priority: Low.
Description: THTTPD is included in the source tree, but has not yet been fully
integrated.
Status: Open
Priority: High
o USB (drivers/usbdev)
^^^^^^^^^^^^^^^^^^^^
@@ -289,16 +319,22 @@ o File system / Generic drivers (fs/, drivers/)
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
Description: The simple SPI based MMCS/SD driver in fs/mmcsd does not
yet handle multiple block transfers.
Status: Open
Priority: Medium-Low
Description: At present, mmap() only works with file descriptors associated
with a ROMFS file system. Generalize this logic so that if
mmap is not supported by the file system or block driver, it
will allocate memory and copy the file into RAM. This would
need some centralized logic so that the memory region would
be shared on later mmap()'s on the same inode. Reference counting
would be required so that the multiply mmap()'ed region persists
until the last munmap().
Status: Open
Priority: Low
o Graphics subystem (graphics/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -330,11 +366,8 @@ o Pascal Add-On (pcode/)
o Documentation (Documentation/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Document driver/ logic
Status: Open
Priority: Low
Description: Document C-library APIs
Description: Need to document which APIs can be used in interrupt
handlers (like mq_send and sem_post) and which cannot.
Status: Open
Priority: Low
@@ -367,6 +400,12 @@ o Build system
Status: Open
Priority: Medium-low
Description: At present, NuttX builds only under Linux or Cygwin.
Investigate the possibility of a native Windows build using
something like the GNUWin32 tools (coreutils+make+grep+sed+uname).
Status: Open
Priority: Low
o NuttShell (NSH) (examples/nsh)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -377,8 +416,15 @@ o NuttShell (NSH) (examples/nsh)
Status: Open
Priority: Low
Description: Here are some commands that would be good to have in NSH:
ping
Description: The wget command has been incorporated into NSH, however
it is still untested as of this writing (only because I
have not had the correct network setup for the testing
yet). Since wget depends on the also untest uIP resolv/
logic, it is like non-functional.
Status: Open
Priority: Med-High
Description: Add support to NSH to run NXFLAT programs from a ROMFS file system
Status: Open
Priority: Low
@@ -388,6 +434,19 @@ o Other Applications & Tests (examples/)
Description: The redirection test (part of examples/pipe) terminates
incorrectly on the Cywgin-based simulation platform (but works
fine on the Linux-based simulation platform).
Status: Open
Priority: Low
Description: examples/wget is untested on the target (it has been tested
on the host, but not in the target using the uIP resolv logic).
Status: Open
Priority: Med
Description: examples/sendmail is untested on the target (it has been tested
on the host, but not on the target.
Status: Open
Priority: Med
o Linux/Cywgin simulation (arch/sim)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -400,22 +459,37 @@ o Linux/Cywgin simulation (arch/sim)
Status: Open
Priority: Low (because the simulator is only a test/development platform)
Description: Simulator does not build correctly on 64-bit machines. Two
issues:
1) It saves addresses in 32-bit types and these fail when cast
to pointers on a 64-bit host.
2) up_setjmp.S does not build
Status: Open
Priority: Medium and increasing (as 32-bit hosts gradually disappear)
o ARM (arch/arm/)
^^^^^^^^^^^^^^^
Description: ARM interrupt handling performance could be improved in many
ways. One easy way is to use a pointer to the context save
Description: ARM interrupt handling performance could be improved in some
ways. One easy way is to use a pointer to the context save
area in current_regs instead of using up_copystate so much.
see handling of 'current_regs" in arch/sh/src/common/* for
see handling of 'current_regs" in arch/arm/src/cortexm3/* for
examples of how this might be done.
Status: Open
Priority: Low
Description: The ARM and Cortex-M3 interrupt handlers restores all regisers
upon return. This could be improved as well: If there is no
context switch, then the static registers need not be restored
because they will not be modified by the called C code.
(see arch/sh/src/sh1/sh1_vector.S for example)
Status: Open
Priority: Low
Description: The ARM interrupt handler restores all regisers upon return.
This could be improved as well: If there is not context
switch, then the static registers need not be restored
because they will not be modified by the called C code.
(see arch/sh/src/sh1/sh1_vector.S for example)
Description: The Cortex-M3 user context swich logic uses SVCall instructions.
This user context switching time could be improved by eliminating
the SVCalls and developing assembly language implementations
of the context save and restore logic.
Status: Open
Priority: Low
@@ -452,6 +526,19 @@ o ARM/DM320 (arch/arm/src/dm320/)
Status: Open
Priority: Medium (high if you need to use the framebuffer driver)
o ARM/i.MX (arch/arm/src/imx/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: The basic port of the i.MX1 architecuture is underway. The port
is incomplete (as of this writing, is still lacks a timer, interrupt
decoding, USB, network) and untested.
Status: Open (and in work)
Priority: Medium (high if you need i.MX1/L support)
Description: SPI methods are not thread safe. Needs a semaphore to protect from re-entrancy.
Status: Open
Priority: Medium -- Will be very high if you do SPI access from multiple threads.
o ARM/LPC214x (arch/arm/src/lpc214x/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -478,9 +565,16 @@ o ARM/LPC214x (arch/arm/src/lpc214x/)
Priority: High
Description: At present the SPI driver is polled. Should it be interrupt driven?
Look at arch/arm/src/imx/imx_spi.c -- that is a good example of an
interrupt driven SPI driver. Should be very easy to part that architecture
to the LPC.
Status: Open
Priority: Medium
Description: SPI methods are not thread safe. Needs a semaphore to protect from re-entrancy.
Status: Open
Priority: Medium -- Will be very high if you do SPI access from multiple threads.
Description: At present the SPI driver is polled -AND- there is a rather large, arbitrary,
delay in one of the block access routines. The purpose of the delay is to
avoid a race conditions. This begs for a re-design -OR- at a minimum, some
@@ -488,22 +582,49 @@ o ARM/LPC214x (arch/arm/src/lpc214x/)
Status: Open
Priority: Medium
Desription: I am unable to initialize a 2Gb SanDisk microSD card (in adaptor) on the
the mcu123 board. The card fails to accept CMD0. Doesn't seem like a software
issue, but if anyone else sees the problem, I'd like to know.
Status: Open
Priority: Uncertain
o ARM/STR71x (arch/arm/src/str71x/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Basic port is complete but untested. Complete integration
Status: Open
Priority: High
Description: Add SPI driver and integrate with MMC/SD support.
Description: Verify SPI driver and integrate with MMC support. This effort is stalled
at the moment because the slot on the Olimex board only accepts MMC card;
I have no MMC cards, only SD cards which won't fit into the slot.
Status: Open
Priority: Medium
Description: Develop a USB driver and integrate with existing USB serial
and storage class drivers.
Description: Develop a USB driver and integrate with existing USB serial and storage
class drivers.
Status: Open
Priority: Medium
Description: SPI methods are not thread safe. Needs a semaphore to protect from re-entrancy.
Status: Open
Priority: Medium -- Will be very high if you do SPI access from multiple threads.
o ARM/LM3S6918 (arch/arm/src/lm3s/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Still need to implement I2C
Status: Open
Priority: Low
Description: Should terminate SSI/SPI transfer if an Rx FIFO overrun occurs.
Right now, if an Rx FIFO overrun occurs, the SSI driver hangs.
Status: Open
Priority: Medium, If the transfer is properly tuned, then there should not
be any Rx FIFO overruns.
Description: Dependency generation is currently disabled when a Windows native
toolchain is used. I think that the only issue is that all of the
Windows dependencies needed to be quoted in the Make.dep files.
Status: Open
Priority: Low -- unless some dependency-related build issues is discovered.
o pjrc-8052 / MCS51 (arch/pjrc-8051/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -540,8 +661,8 @@ o pjrc-8052 / MCS51 (arch/pjrc-8051/)
Priority: Low -- only because there as so many other issues with 8051
o SH-1 (arch/sh)
^^^^^^^^^^^^^^
o Hitachi/Renesas SH-1 (arch/sh/src/sh1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: There are instabilities that make the SH-1 port un-usable. The
nature of these is not understood; the behavior is that certain SH-1
@@ -563,6 +684,42 @@ o SH-1 (arch/sh)
Priority: Low -- because the SH-1, SH7032, is very old and only of historical
interest.
Description: arch/sh has been restructured to support M16C. Need to verify that
SH-1 still builds.
Status: Open
Priority: Low
Description: The M16C target cannot be built. The GNU m16c-elf-ld link fails with
the following message:
m32c-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482
Where the reference line is:
/* If the symbol is out of range for a 16-bit address,
we must have allocated a plt entry. */
BFD_ASSERT (*plt_offset != (bfd_vma) -1);
No workaround is known at this time.
Status: Open
Priority: High -- this is a show stopper for M16C.
o Renesas M16C/26 (arch/sh/src/m16c)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Coding of the initial port is complete, but is untested.
Status: Open
Priority: Low
Description: Serial drivers were developed for the M16C, however, the SKP16C26
StarterKit has no serial connectors.
Status: Open
Priority: Low
Description: Should implement SPI, I2C, Virual EEPROM, FLASH, RTC drivers
Status: Open
Priority: Medium
o z80/z8/ez80 (arch/z80)
^^^^^^^^^^^^^^^^^^^^^^^
@@ -631,6 +788,22 @@ o z80/z8/ez80 (arch/z80)
Status: Open
Priority: High if you happen to be working with XTRS.
Description: A "generic" SPI and I2C drivers have been coded for the eZ80Acclaim!
However, these remains untested since I have no SPI or I2C devices for
the board (yet).
Status: Open
Priority: Med
Description: SPI methods are not thread safe. Needs a semaphore to protect from re-entrancy.
Status: Open
Priority: Medium -- Will be very high if you do SPI access from multiple threads.
Description: A "generic" I2C driver has been coded for the eZ8Encore!
However, this remains untested since I have no I2C devices for
the board (yet).
Status: Open
Priority: Med
o z16 (arch/z16)
^^^^^^^^^^^^^^^^

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/include/arch.h
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -48,6 +48,41 @@
* Definitions
****************************************************************************/
/* This identifies the register the is used by the processor as the PIC base
* register. It is usually r9 or r10
*/
#define PIC_REG r10
#define PIC_REG_STRING "r10"
/* Macros to get and set the PIC base register. picbase is assumed to be
* of type (void*) and that it will fit into a uint32. These must be
* inline so that they will be compatible with the ABIs rules for
* preserving the PIC register
*/
#define up_getpicbase(ppicbase) \
do { \
uint32 picbase; \
__asm__ \
( \
"\tmov %0, " PIC_REG_STRING "\n\t" \
: "=r"(picbase) \
); \
*ppicbase = (FAR void*)picbase; \
} while (0)
#define up_setpicbase(picbase) \
do { \
uint32 _picbase = (uint32)picbase; \
__asm__ \
( \
"\tmov " PIC_REG_STRING ", %0\n\t" \
: : "r"(_picbase) : PIC_REG_STRING \
); \
} while (0)
/****************************************************************************
* Inline functions
****************************************************************************/

235
arch/arm/include/arm/irq.h Normal file
View File

@@ -0,0 +1,235 @@
/****************************************************************************
* arch/arm/include/arm/irq.h
*
* Copyright (C) 2009 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.
*
****************************************************************************/
/* This file should never be included directed but, rather, only indirectly
* through nuttx/irq.h
*/
#ifndef __ARCH_ARM_INCLUDE_ARM_IRQ_H
#define __ARCH_ARM_INCLUDE_ARM_IRQ_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/irq.h>
#include <sys/types.h>
/****************************************************************************
* Definitions
****************************************************************************/
/* IRQ Stack Frame Format:
*
* Context is always saved/restored in the same way:
*
* (1) stmia rx, {r0-r14}
* (2) then the PC and CPSR
*
* This results in the following set of indices that
* can be used to access individual registers in the
* xcp.regs array:
*/
#define REG_R0 (0)
#define REG_R1 (1)
#define REG_R2 (2)
#define REG_R3 (3)
#define REG_R4 (4)
#define REG_R5 (5)
#define REG_R6 (6)
#define REG_R7 (7)
#define REG_R8 (8)
#define REG_R9 (9)
#define REG_R10 (10)
#define REG_R11 (11)
#define REG_R12 (12)
#define REG_R13 (13)
#define REG_R14 (14)
#define REG_R15 (15)
#define REG_CPSR (16)
#define XCPTCONTEXT_REGS (17)
#define XCPTCONTEXT_SIZE (4 * XCPTCONTEXT_REGS)
#define REG_A1 REG_R0
#define REG_A2 REG_R1
#define REG_A3 REG_R2
#define REG_A4 REG_R3
#define REG_V1 REG_R4
#define REG_V2 REG_R5
#define REG_V3 REG_R6
#define REG_V4 REG_R7
#define REG_V5 REG_R8
#define REG_V6 REG_R9
#define REG_V7 REG_R10
#define REG_SB REG_R9
#define REG_SL REG_R10
#define REG_FP REG_R11
#define REG_IP REG_R12
#define REG_SP REG_R13
#define REG_LR REG_R14
#define REG_PC REG_R15
/* The PIC register is usually R10. It can be R9 is stack checking is enabled
* or if the user changes it with -mpic-register on the GCC command line.
*/
#define REG_PIC REG_R10
/****************************************************************************
* Public Types
****************************************************************************/
/* This struct defines the way the registers are stored. We
* need to save:
*
* 1 CPSR
* 7 Static registers, v1-v7 (aka r4-r10)
* 1 Frame pointer, fp (aka r11)
* 1 Stack pointer, sp (aka r13)
* 1 Return address, lr (aka r14)
* ---
* 11 (XCPTCONTEXT_USER_REG)
*
* On interrupts, we also need to save:
* 4 Volatile registers, a1-a4 (aka r0-r3)
* 1 Scratch Register, ip (aka r12)
*---
* 5 (XCPTCONTEXT_IRQ_REGS)
*
* For a total of 17 (XCPTCONTEXT_REGS)
*/
#ifndef __ASSEMBLY__
struct xcptcontext
{
/* The following function pointer is non-zero if there
* are pending signals to be processed.
*/
#ifndef CONFIG_DISABLE_SIGNALS
void *sigdeliver; /* Actual type is sig_deliver_t */
/* These are saved copies of LR and CPSR used during
* signal processing.
*/
uint32 saved_pc;
uint32 saved_cpsr;
#endif
/* Register save area */
uint32 regs[XCPTCONTEXT_REGS];
};
#endif
/****************************************************************************
* Inline functions
****************************************************************************/
#ifndef __ASSEMBLY__
/* Save the current interrupt enable state & disable IRQs */
static inline irqstate_t irqsave(void)
{
unsigned int flags;
unsigned int temp;
__asm__ __volatile__
(
"\tmrs %0, cpsr\n"
"\torr %1, %0, #128\n"
"\tmsr cpsr_c, %1"
: "=r" (flags), "=r" (temp)
:
: "memory");
return flags;
}
/* Restore saved IRQ & FIQ state */
static inline void irqrestore(irqstate_t flags)
{
__asm__ __volatile__
(
"msr cpsr_c, %0"
:
: "r" (flags)
: "memory");
}
static inline void system_call(swint_t func, int parm1,
int parm2, int parm3)
{
__asm__ __volatile__
(
"mov\tr0,%0\n\t"
"mov\tr1,%1\n\t"
"mov\tr2,%2\n\t"
"mov\tr3,%3\n\t"
"swi\t0x900001\n\t"
:
: "r" ((long)(func)), "r" ((long)(parm1)),
"r" ((long)(parm2)), "r" ((long)(parm3))
: "r0", "r1", "r2", "r3", "lr");
}
#endif /* __ASSEMBLY__ */
/****************************************************************************
* Public Variables
****************************************************************************/
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#ifndef __ASSEMBLY__
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C" {
#else
#define EXTERN extern
#endif
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif
#endif /* __ARCH_ARM_INCLUDE_ARM_IRQ_H */

View File

@@ -0,0 +1,296 @@
/****************************************************************************
* arch/arm/include/cortexm3/irq.h
*
* Copyright (C) 2009 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.
*
****************************************************************************/
/* This file should never be included directed but, rather, only indirectly
* through nuttx/irq.h
*/
#ifndef __ARCH_ARM_INCLUDE_CORTEXM3_IRQ_H
#define __ARCH_ARM_INCLUDE_CORTEXM3_IRQ_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/irq.h>
#include <sys/types.h>
/****************************************************************************
* Definitions
****************************************************************************/
/* IRQ Stack Frame Format: */
/* On entry into an IRQ, the hardware automatically saves the following
* registers on the stack in this (address) order:
*/
#define REG_XPSR (17) /* xPSR */
#define REG_R15 (16) /* R15 = PC */
#define REG_R14 (15) /* R14 = LR */
#define REG_R12 (14) /* R12 */
#define REG_R3 (13) /* R3 */
#define REG_R2 (12) /* R2 */
#define REG_R1 (11) /* R1 */
#define REG_R0 (10) /* R0 */
#define HW_XCPT_REGS (8)
#define HW_XCPT_SIZE (4 * HW_XCPT_REGS)
/* The following additional registers are stored by the interrupt handling
* logic.
*/
#define REG_R11 (9) /* R11 */
#define REG_R10 (8) /* R10 */
#define REG_R9 (7) /* R9 */
#define REG_R8 (6) /* R8 */
#define REG_R7 (5) /* R7 */
#define REG_R6 (4) /* R6 */
#define REG_R5 (3) /* R5 */
#define REG_R4 (2) /* R4 */
#define REG_PRIMASK (1) /* PRIMASK */
#define REG_R13 (0) /* R13 = SP at time of interrupt */
#define SW_XCPT_REGS (10)
#define SW_XCPT_SIZE (4 * SW_XCPT_REGS)
#define XCPTCONTEXT_REGS (HW_XCPT_REGS + SW_XCPT_REGS)
#define XCPTCONTEXT_SIZE (HW_XCPT_SIZE + SW_XCPT_SIZE)
#define REG_A1 REG_R0
#define REG_A2 REG_R1
#define REG_A3 REG_R2
#define REG_A4 REG_R3
#define REG_V1 REG_R4
#define REG_V2 REG_R5
#define REG_V3 REG_R6
#define REG_V4 REG_R7
#define REG_V5 REG_R8
#define REG_V6 REG_R9
#define REG_V7 REG_R10
#define REG_SB REG_R9
#define REG_SL REG_R10
#define REG_FP REG_R11
#define REG_IP REG_R12
#define REG_SP REG_R13
#define REG_LR REG_R14
#define REG_PC REG_R15
/* The PIC register is usually R10. It can be R9 is stack checking is enabled
* or if the user changes it with -mpic-register on the GCC command line.
*/
#define REG_PIC REG_R10
/****************************************************************************
* Public Types
****************************************************************************/
/* The following structure is included in the TCB and defines the complete
* state of the thread.
*/
#ifndef __ASSEMBLY__
struct xcptcontext
{
/* The following function pointer is non-zero if there
* are pending signals to be processed.
*/
#ifndef CONFIG_DISABLE_SIGNALS
void *sigdeliver; /* Actual type is sig_deliver_t */
/* These are saved copies of LR, PRIMASK, and xPSR used during
* signal processing.
*/
uint32 saved_pc;
uint32 saved_primask;
uint32 saved_xpsr;
#endif
/* Register save area */
uint32 regs[XCPTCONTEXT_REGS];
};
#endif
/****************************************************************************
* Inline functions
****************************************************************************/
#ifndef __ASSEMBLY__
/* Save the current primask state & disable IRQs */
static inline irqstate_t irqsave(void)
{
unsigned short primask;
/* Return the current value of primask register and set
* bit 0 of the primask register to disable interrupts
*/
__asm__ __volatile__
(
"\tmrs %0, primask\n"
"\tcpsid i\n"
: "=r" (primask)
:
: "memory");
return primask;
}
/* Restore saved primask state */
static inline void irqrestore(irqstate_t primask)
{
/* If bit 0 of the primask is 0, then we need to restore
* interupts.
*/
__asm__ __volatile__
(
"\ttst %0, #1\n"
"\tbne 1f\n"
"\tcpsie i\n"
"1:\n"
:
: "r" (primask)
: "memory");
}
/* Get/set the primask register */
static inline ubyte getprimask(void)
{
uint32 primask;
__asm__ __volatile__
(
"\tmrs %0, primask\n"
: "=r" (primask)
:
: "memory");
return (ubyte)primask;
}
static inline void setprimask(uint32 primask)
{
__asm__ __volatile__
(
"\tmsr primask, %0\n"
:
: "r" (primask)
: "memory");
}
/* Get/set the basepri register */
static inline ubyte getbasepri(void)
{
uint32 basepri;
__asm__ __volatile__
(
"\tmrs %0, basepri\n"
: "=r" (basepri)
:
: "memory");
return (ubyte)basepri;
}
static inline void setbasepri(uint32 basepri)
{
__asm__ __volatile__
(
"\tmsr basepri, %0\n"
:
: "r" (basepri)
: "memory");
}
/* Get IPSR */
static inline uint32 getipsr(void)
{
uint32 ipsr;
__asm__ __volatile__
(
"\tmrs %0, ipsr\n"
: "=r" (ipsr)
:
: "memory");
return ipsr;
}
/* SVC system call */
static inline void svcall(uint32 cmd, uint32 arg)
{
__asm__ __volatile__
(
"\tmov r0, %0\n"
"\tmov r1, %1\n"
"\tsvc 0\n"
:
: "r" (cmd), "r" (arg)
: "memory");
}
#endif /* __ASSEMBLY__ */
/****************************************************************************
* Public Variables
****************************************************************************/
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#ifndef __ASSEMBLY__
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C" {
#else
#define EXTERN extern
#endif
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif
#endif /* __ARCH_ARM_INCLUDE_CORTEXM3_IRQ_H */

164
arch/arm/include/imx/irq.h Normal file
View File

@@ -0,0 +1,164 @@
/****************************************************************************
* arch/arm/include/imx/irq.h
*
* Copyright (C) 2009 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.
*
****************************************************************************/
/* This file should never be included directed but, rather,
* only indirectly through nuttx/irq.h
*/
#ifndef __ARCH_ARM_INCLUDE_IMX_IRQ_H
#define __ARCH_ARM_INCLUDE_IMX_IRQ_H
/****************************************************************************
* Included Files
****************************************************************************/
/****************************************************************************
* Definitions
****************************************************************************/
/* i.MX1 Interrupts */
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_UART3PFERR ( 0)
# define IMX_IRQ_UART3RTS ( 1)
# define IMX_IRQ_UART3DTR ( 2)
# define IMX_IRQ_UART3UARTC ( 3)
# define IMX_IRQ_UART3TX ( 4)
# define IMX_IRQ_PENUP ( 5)
#endif
#define IMX_IRQ_CSI ( 6)
#define IMX_IRQ_MMAMAC ( 7)
#define IMX_IRQ_MMA ( 8)
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_COMP ( 9)
#endif
#define IMX_IRQ_MSHCXINT (10)
#define IMX_IRQ_GPIOPORTA (11)
#define IMX_IRQ_GPIOPORTB (12)
#define IMX_IRQ_GPIOPORTC (13)
#define IMX_IRQ_LCDC (14)
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_SIM (15)
# define IMX_IRQ_SIMDATA (16)
#endif
#define IMX_IRQ_RTC (17)
#define IMX_IRQ_RTCSAMINT (18)
#define IMX_IRQ_UART2PFERR (19)
#define IMX_IRQ_UART2RTS (20)
#define IMX_IRQ_UART2DTR (21)
#define IMX_IRQ_UART2UARTC (22)
#define IMX_IRQ_UART2TX (23)
#define IMX_IRQ_UART2RX (24)
#define IMX_IRQ_UART1PFERR (25)
#define IMX_IRQ_UART1RTS (26)
#define IMX_IRQ_UART1DTR (27)
#define IMX_IRQ_UART1UARTC (28)
#define IMX_IRQ_UART1TX (29)
#define IMX_IRQ_UART1RX (30)
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_PENDATA (33)
#endif
#define IMX_IRQ_PWM (34)
#define IMX_IRQ_MMCSD (35)
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_SSI2TX (36)
# define IMX_IRQ_SSI2RX (37)
# define IMX_IRQ_SSI2ERR (38)
#endif
#define IMX_IRQ_I2C (39)
#define IMX_IRQ_CSPI2 (40)
#define IMX_IRQ_CSPI1 (41)
#define IMX_IRQ_SSITX (42)
#define IMX_IRQ_SSITXERR (43)
#define IMX_IRQ_SSIRX (44)
#define IMX_IRQ_SSIRXERR (45)
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_TOUCH (46)
#endif
#define IMX_IRQ_USBD0 (47)
#define IMX_IRQ_USBD1 (48)
#define IMX_IRQ_USBD2 (49)
#define IMX_IRQ_USBD3 (50)
#define IMX_IRQ_USBD4 (51)
#define IMX_IRQ_USBD5 (52)
#define IMX_IRQ_USBD6 (53)
#ifndef CONFIG_ARCH_CHIP_IMXL
# define IMX_IRQ_UART3RX (54)
# define IMX_IRQ_BTSYS (55)
# define IMX_IRQ_BTTIM (56)
# define IMX_IRQ_BTWUI (57)
#endif
#define IMX_IRQ_TIMER2 (58)
#define IMX_IRQ_TIMER1 (59)
#define IMX_IRQ_DMAERR (60)
#define IMX_IRQ_DMA (61)
#define IMX_IRQ_GPIOPORTD (62)
#define IMX_IRQ_WDT (63)
#define IMX_IRQ_SYSTIMER IMX_IRQ_TIMER1
#define NR_IRQS (64)
/****************************************************************************
* Public Types
****************************************************************************/
/****************************************************************************
* Inline functions
****************************************************************************/
/****************************************************************************
* Public Variables
****************************************************************************/
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#ifndef __ASSEMBLY__
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C" {
#else
#define EXTERN extern
#endif
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif
#endif /* __ARCH_ARM_INCLUDE_IMX_IRQ_H */

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/include/irq.h
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -33,8 +33,8 @@
*
****************************************************************************/
/* This file should never be included directed but, rather,
* only indirectly through nuttx/irq.h
/* This file should never be included directed but, rather, only indirectly
* through nuttx/irq.h
*/
#ifndef __ARCH_ARM_INCLUDE_IRQ_H
@@ -44,165 +44,36 @@
* Included Files
****************************************************************************/
/* Include NuttX-specific IRQ definitions */
#include <nuttx/irq.h>
/* Include chip-specific IRQ definitions (including IRQ numbers) */
#include <arch/chip/irq.h>
/* Include ARM architectgure-specific IRQ definitions (including register
* save structure and irqsave()/irqrestore() macros
*/
#ifdef CONFIG_ARCH_CORTEXM3
# include <arch/cortexm3/irq.h>
#else
# include <arch/arm/irq.h>
#endif
/****************************************************************************
* Definitions
****************************************************************************/
/* IRQ Stack Frame Format:
*
* Context is always saved/restored in the same way:
*
* (1) stmia rx, {r0-r14}
* (2) then the PC and CPSR
*
* This results in the following set of indices that
* can be used to access individual registers in the
* xcp.regs array:
*/
#define REG_R0 (0)
#define REG_R1 (1)
#define REG_R2 (2)
#define REG_R3 (3)
#define REG_R4 (4)
#define REG_R5 (5)
#define REG_R6 (6)
#define REG_R7 (7)
#define REG_R8 (8)
#define REG_R9 (9)
#define REG_R10 (10)
#define REG_R11 (11)
#define REG_R12 (12)
#define REG_R13 (13)
#define REG_R14 (14)
#define REG_R15 (15)
#define REG_CPSR (16)
#define XCPTCONTEXT_REGS (17)
#define XCPTCONTEXT_SIZE (4 * XCPTCONTEXT_REGS)
#define REG_A1 REG_R0
#define REG_A2 REG_R1
#define REG_A3 REG_R2
#define REG_A4 REG_R3
#define REG_V1 REG_R4
#define REG_V2 REG_R5
#define REG_V3 REG_R6
#define REG_V4 REG_R7
#define REG_V5 REG_R8
#define REG_V6 REG_R9
#define REG_V7 REG_R10
#define REG_SB REG_R9
#define REG_SL REG_R10
#define REG_FP REG_R11
#define REG_IP REG_R12
#define REG_SP REG_R13
#define REG_LR REG_R14
#define REG_PC REG_R15
/****************************************************************************
* Public Types
****************************************************************************/
/* This struct defines the way the registers are stored. We
* need to save:
*
* 1 CPSR
* 7 Static registers, v1-v7 (aka r4-r10)
* 1 Frame pointer, fp (aka r11)
* 1 Stack pointer, sp (aka r13)
* 1 Return address, lr (aka r14)
* ---
* 11 (XCPTCONTEXT_USER_REG)
*
* On interrupts, we also need to save:
* 4 Volatile registers, a1-a4 (aka r0-r3)
* 1 Scratch Register, ip (aka r12)
*---
* 5 (XCPTCONTEXT_IRQ_REGS)
*
* For a total of 17 (XCPTCONTEXT_REGS)
*/
#ifndef __ASSEMBLY__
struct xcptcontext
{
/* The following function pointer is non-zero if there
* are pending signals to be processed.
*/
#ifndef CONFIG_DISABLE_SIGNALS
void *sigdeliver; /* Actual type is sig_deliver_t */
/* These are saved copies of LR and CPSR used during
* signal processing.
*/
uint32 saved_pc;
uint32 saved_cpsr;
#endif
/* Register save area */
uint32 regs[XCPTCONTEXT_REGS];
};
#endif
/****************************************************************************
* Inline functions
****************************************************************************/
#ifndef __ASSEMBLY__
/* Save the current interrupt enable state & disable IRQs */
static inline irqstate_t irqsave(void)
{
unsigned int flags;
unsigned int temp;
__asm__ __volatile__
(
"\tmrs %0, cpsr\n"
"\torr %1, %0, #128\n"
"\tmsr cpsr_c, %1"
: "=r" (flags), "=r" (temp)
:
: "memory");
return flags;
}
/* Restore saved IRQ & FIQ state */
static inline void irqrestore(irqstate_t flags)
{
__asm__ __volatile__
(
"msr cpsr_c, %0"
:
: "r" (flags)
: "memory");
}
static inline void system_call(swint_t func, int parm1,
int parm2, int parm3)
{
__asm__ __volatile__
(
"mov\tr0,%0\n\t"
"mov\tr1,%1\n\t"
"mov\tr2,%2\n\t"
"mov\tr3,%3\n\t"
"swi\t0x900001\n\t"
:
: "r" ((long)(func)), "r" ((long)(parm1)),
"r" ((long)(parm2)), "r" ((long)(parm3))
: "r0", "r1", "r2", "r3", "lr");
}
#endif
/****************************************************************************
* Public Variables
****************************************************************************/

301
arch/arm/include/lm3s/irq.h Normal file
View File

@@ -0,0 +1,301 @@
/************************************************************************************
* arch/arm/include/lm3s/irq.h
*
* Copyright (C) 2009 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.
*
************************************************************************************/
/* This file should never be included directed but, rather,
* only indirectly through nuttx/irq.h
*/
#ifndef __ARCH_ARM_INCLUDE_LM3S_IRQ_H
#define __ARCH_ARM_INCLUDE_LM3S_IRQ_H
/************************************************************************************
* Included Files
************************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <nuttx/irq.h>
/************************************************************************************
* Definitions
************************************************************************************/
/* IRQ numbers. The IRQ number corresponds vector number and hence map directly to
* bits in the NVIC. This does, however, waste several words of memory in the IRQ
* to handle mapping tables.
*/
/* Processor Exceptions (vectors 0-15) */
#define LM3S_IRQ_RESERVED (0) /* Reserved vector (only used with CONFIG_DEBUG) */
/* Vector 0: Reset stack pointer value */
/* Vector 1: Reset (not handler as an IRQ) */
#define LM3S_IRQ_NMI (2) /* Vector 2: Non-Maskable Interrupt (NMI) */
#define LM3S_IRQ_HARDFAULT (3) /* Vector 3: Hard fault */
#define LM3S_IRQ_MPU (4) /* Vector 4: Memory management (MPU) */
#define LM3S_IRQ_BUSFAULT (5) /* Vector 5: Bus fault */
#define LM3S_IRQ_USAGEFAULT (6) /* Vector 6: Usage fault */
#define LM3S_IRQ_SVCALL (11) /* Vector 11: SVC call */
#define LM3S_IRQ_DBGMONITOR (12) /* Vector 12: Debug Monitor */
/* Vector 13: Reserved */
#define LM3S_IRQ_PENDSV (14) /* Vector 14: Pendable system service request */
#define LM3S_IRQ_SYSTICK (15) /* Vector 15: System tick */
/* External interrupts (vectors >= 16) */
#define LM3S_IRQ_INTERRUPTS (16) /* Vector number of the first external interrupt */
#ifdef CONFIG_ARCH_CHIP_LM3S6918
# define LM3S_IRQ_GPIOA (16) /* Vector 16: GPIO Port A */
# define LM3S_IRQ_GPIOB (17) /* Vector 17: GPIO Port B */
# define LM3S_IRQ_GPIOC (18) /* Vector 18: GPIO Port C */
# define LM3S_IRQ_GPIOD (19) /* Vector 19: GPIO Port D */
# define LM3S_IRQ_GPIOE (20) /* Vector 20: GPIO Port E */
# define LM3S_IRQ_UART0 (21) /* Vector 21: UART 0 */
# define LM3S_IRQ_UART1 (22) /* Vector 22: UART 1 */
# define LM3S_IRQ_SSI0 (23) /* Vector 23: SSI 0 */
# define LM3S_IRQ_I2C0 (24) /* Vector 24: I2C 0 */
/* Vector 25-29: Reserved */
# define LM3S_IRQ_ADC0 (30) /* Vector 30: ADC Sequence 0 */
# define LM3S_IRQ_ADC1 (31) /* Vector 31: ADC Sequence 1 */
# define LM3S_IRQ_ADC2 (32) /* Vector 32: ADC Sequence 2 */
# define LM3S_IRQ_ADC3 (33) /* Vector 33: ADC Sequence 3 */
# define LM3S_IRQ_WDOG (34) /* Vector 34: Watchdog Timer */
# define LM3S_IRQ_TIMER0A (35) /* Vector 35: Timer 0 A */
# define LM3S_IRQ_TIMER0B (36) /* Vector 36: Timer 0 B */
# define LM3S_IRQ_TIMER1A (37) /* Vector 37: Timer 1 A */
# define LM3S_IRQ_TIMER1B (38) /* Vector 38: Timer 1 B */
# define LM3S_IRQ_TIMER2A (39) /* Vector 39: Timer 2 A */
# define LM3S_IRQ_TIMER2B (40) /* Vector 40: Timer 3 B */
# define LM3S_IRQ_COMPARE0 (41) /* Vector 41: Analog Comparator 0 */
# define LM3S_IRQ_COMPARE1 (42) /* Vector 42: Analog Comparator 1 */
/* Vector 43: Reserved */
# define LM3S_IRQ_SYSCON (44) /* Vector 44: System Control */
# define LM3S_IRQ_FLASHCON (45) /* Vector 45: FLASH Control */
# define LM3S_IRQ_GPIOF (46) /* Vector 46: GPIO Port F */
# define LM3S_IRQ_GPIOG (47) /* Vector 47: GPIO Port G */
# define LM3S_IRQ_GPIOH (48) /* Vector 48: GPIO Port H */
/* Vector 49: Reserved */
# define LM3S_IRQ_SSI1 (50) /* Vector 50: SSI 1 */
# define LM3S_IRQ_TIMER3A (51) /* Vector 51: Timer 3 A */
# define LM3S_IRQ_TIMER3B (52) /* Vector 52: Timer 3 B */
# define LM3S_IRQ_I2C1 (53) /* Vector 53: I2C 1 */
/* Vectors 54-57: Reserved */
# define LM3S_IRQ_ETHCON (58) /* Vector 58: Ethernet Controller */
# define LM3S_IRQ_HIBERNATE (59) /* Vector 59: Hibernation Module */
/* Vectors 60-70: Reserved */
#else
# error "IRQ Numbers not specified for this LM3S chip"
#endif
#define NR_IRQS (60) /* Really only 43 */
/* GPIO IRQs -- Note that support for individual GPIO ports can
* be disabled in order to reduce the size of the implemenation.
*/
#ifndef CONFIG_LM3S_DISABLE_GPIOA_IRQS
# define LM3S_IRQ_GPIOA_0 (NR_IRQS + 0)
# define LM3S_IRQ_GPIOA_1 (NR_IRQS + 1)
# define LM3S_IRQ_GPIOA_2 (NR_IRQS + 2)
# define LM3S_IRQ_GPIOA_3 (NR_IRQS + 3)
# define LM3S_IRQ_GPIOA_4 (NR_IRQS + 4)
# define LM3S_IRQ_GPIOA_5 (NR_IRQS + 5)
# define LM3S_IRQ_GPIOA_6 (NR_IRQS + 6)
# define LM3S_IRQ_GPIOA_7 (NR_IRQS + 7)
# define _NGPIOAIRQS (NR_IRQS + 8)
#else
# define _NGPIOAIRQS NR_IRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOB_IRQS
# define LM3S_IRQ_GPIOB_0 (_NGPIOAIRQS + 0)
# define LM3S_IRQ_GPIOB_1 (_NGPIOAIRQS + 1)
# define LM3S_IRQ_GPIOB_2 (_NGPIOAIRQS + 2)
# define LM3S_IRQ_GPIOB_3 (_NGPIOAIRQS + 3)
# define LM3S_IRQ_GPIOB_4 (_NGPIOAIRQS + 4)
# define LM3S_IRQ_GPIOB_5 (_NGPIOAIRQS + 5)
# define LM3S_IRQ_GPIOB_6 (_NGPIOAIRQS + 6)
# define LM3S_IRQ_GPIOB_7 (_NGPIOAIRQS + 7)
# define _NGPIOBIRQS (_NGPIOAIRQS + 8)
#else
# define _NGPIOBIRQS _NGPIOAIRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOC_IRQS
# define LM3S_IRQ_GPIOC_0 (_NGPIOBIRQS + 0)
# define LM3S_IRQ_GPIOC_1 (_NGPIOBIRQS + 1)
# define LM3S_IRQ_GPIOC_2 (_NGPIOBIRQS + 2)
# define LM3S_IRQ_GPIOC_3 (_NGPIOBIRQS + 3)
# define LM3S_IRQ_GPIOC_4 (_NGPIOBIRQS + 4)
# define LM3S_IRQ_GPIOC_5 (_NGPIOBIRQS + 5)
# define LM3S_IRQ_GPIOC_6 (_NGPIOBIRQS + 6)
# define LM3S_IRQ_GPIOC_7 (_NGPIOBIRQS + 7)
# define _NGPIOCIRQS (_NGPIOBIRQS + 8)
#else
# define _NGPIOCIRQS _NGPIOBIRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOD_IRQS
# define LM3S_IRQ_GPIOD_0 (_NGPIOCIRQS + 0)
# define LM3S_IRQ_GPIOD_1 (_NGPIOCIRQS + 1)
# define LM3S_IRQ_GPIOD_2 (_NGPIOCIRQS + 2)
# define LM3S_IRQ_GPIOD_3 (_NGPIOCIRQS + 3)
# define LM3S_IRQ_GPIOD_4 (_NGPIOCIRQS + 4)
# define LM3S_IRQ_GPIOD_5 (_NGPIOCIRQS + 5)
# define LM3S_IRQ_GPIOD_6 (_NGPIOCIRQS + 6)
# define LM3S_IRQ_GPIOD_7 (_NGPIOCIRQS + 7)
# define _NGPIODIRQS (_NGPIOCIRQS + 8)
#else
# define _NGPIODIRQS _NGPIOCIRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOE_IRQS
# define LM3S_IRQ_GPIOE_0 (_NGPIODIRQS + 0)
# define LM3S_IRQ_GPIOE_1 (_NGPIODIRQS + 1)
# define LM3S_IRQ_GPIOE_2 (_NGPIODIRQS + 2)
# define LM3S_IRQ_GPIOE_3 (_NGPIODIRQS + 3)
# define LM3S_IRQ_GPIOE_4 (_NGPIODIRQS + 4)
# define LM3S_IRQ_GPIOE_5 (_NGPIODIRQS + 5)
# define LM3S_IRQ_GPIOE_6 (_NGPIODIRQS + 6)
# define LM3S_IRQ_GPIOE_7 (_NGPIODIRQS + 7)
# define _NGPIOEIRQS (_NGPIODIRQS + 8)
#else
# define _NGPIOEIRQS _NGPIODIRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOF_IRQS
# define LM3S_IRQ_GPIOF_0 (_NGPIOEIRQS + 0)
# define LM3S_IRQ_GPIOF_1 (_NGPIOEIRQS + 1)
# define LM3S_IRQ_GPIOF_2 (_NGPIOEIRQS + 2)
# define LM3S_IRQ_GPIOF_3 (_NGPIOEIRQS + 3)
# define LM3S_IRQ_GPIOF_4 (_NGPIOEIRQS + 4)
# define LM3S_IRQ_GPIOF_5 (_NGPIOEIRQS + 5)
# define LM3S_IRQ_GPIOF_6 (_NGPIOEIRQS + 6)
# define LM3S_IRQ_GPIOF_7 (_NGPIOEIRQS + 7)
# define _NGPIOFIRQS (_NGPIOEIRQS + 8)
#else
# define _NGPIOFIRQS _NGPIOEIRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOG_IRQS
# define LM3S_IRQ_GPIOG_0 (_NGPIOFIRQS + 0)
# define LM3S_IRQ_GPIOG_1 (_NGPIOFIRQS + 1)
# define LM3S_IRQ_GPIOG_2 (_NGPIOFIRQS + 2)
# define LM3S_IRQ_GPIOG_3 (_NGPIOFIRQS + 3)
# define LM3S_IRQ_GPIOG_4 (_NGPIOFIRQS + 4)
# define LM3S_IRQ_GPIOG_5 (_NGPIOFIRQS + 5)
# define LM3S_IRQ_GPIOG_6 (_NGPIOFIRQS + 6)
# define LM3S_IRQ_GPIOG_7 (_NGPIOFIRQS + 7)
# define _NGPIOGIRQS (_NGPIOFIRQS + 8)
#else
# define _NGPIOGIRQS _NGPIOFIRQS
#endif
#ifndef CONFIG_LM3S_DISABLE_GPIOH_IRQS
# define LM3S_IRQ_GPIOH_0 (_NGPIOGIRQS + 0)
# define LM3S_IRQ_GPIOH_1 (_NGPIOGIRQS + 1)
# define LM3S_IRQ_GPIOH_2 (_NGPIOGIRQS + 2)
# define LM3S_IRQ_GPIOH_3 (_NGPIOGIRQS + 3)
# define LM3S_IRQ_GPIOH_4 (_NGPIOGIRQS + 4)
# define LM3S_IRQ_GPIOH_5 (_NGPIOGIRQS + 5)
# define LM3S_IRQ_GPIOH_6 (_NGPIOGIRQS + 6)
# define LM3S_IRQ_GPIOH_7 (_NGPIOGIRQS + 7)
# define _NGPIOHIRQS (_NGPIOGIRQS + 8)
#else
# define _NGPIOHIRQS _NGPIOGIRQS
#endif
#define NR_GPIO_IRQS (_NGPIOHIRQS - NR_IRQS)
/************************************************************************************
* Public Types
************************************************************************************/
/************************************************************************************
* Public Data
************************************************************************************/
#ifndef __ASSEMBLY__
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C" {
#else
#define EXTERN extern
#endif
/************************************************************************************
* Public Functions
************************************************************************************/
/****************************************************************************
* Name: gpio_irqattach
*
* Description:
* Attach the interrupt handler 'isr' to the GPIO IRQ 'irq'
*
****************************************************************************/
EXTERN int gpio_irqattach(int irq, xcpt_t isr);
#define gpio_irqdetach(isr) gpio_irqattach(isr, NULL)
/****************************************************************************
* Name: gpio_irqenable
*
* Description:
* Enable the GPIO IRQ specified by 'irq'
*
****************************************************************************/
EXTERN void gpio_irqenable(int irq);
/****************************************************************************
* Name: gpio_irqdisable
*
* Description:
* Disable the GPIO IRQ specified by 'irq'
*
****************************************************************************/
EXTERN void gpio_irqdisable(int irq);
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif
#endif /* __ARCH_ARM_INCLUDE_LM3S_IRQ_H */

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* arch/arm/include/str71x/irq.h
*
* Copyright (C) 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without

View File

@@ -67,11 +67,16 @@ typedef unsigned int uint32;
typedef long long sint64;
typedef unsigned long long uint64;
/* This is the size of the interrupt state save returned by
* irqsave()
/* This is the size of the interrupt state save returned by irqsave(). For
* ARM, a 32 register value is returned, for the thumb2, Cortex-M3, the 16-bit
* primask register value is returned,
*/
#ifdef __thumb2__
typedef unsigned short irqstate_t;
#else /* __thumb2__ */
typedef unsigned int irqstate_t;
#endif /* __thumb2__ */
#endif /* __ASSEMBLY__ */

View File

@@ -1,7 +1,7 @@
############################################################################
# arch/arm/src/Makefile
#
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
@@ -37,7 +37,23 @@
-include chip/Make.defs
ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(TOPDIR)/sched
ifeq ($(CONFIG_ARCH_CORTEXM3),y)
ARCH_SUBDIR = cortexm3
else
ARCH_SUBDIR = arm
endif
ifeq ($(WINTOOL),y)
NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}"
CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \
-I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \
-I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" \
-I "${shell cygpath -w $(TOPDIR)/sched}"
else
NUTTX = $(TOPDIR)/nuttx
CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common \
-I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) -I$(TOPDIR)/sched
endif
HEAD_AOBJ = $(HEAD_ASRC:.S=$(OBJEXT))
@@ -54,14 +70,20 @@ LDFLAGS = $(ARCHSCRIPT)
EXTRA_LIBS =
LINKLIBS =
LDPATHES = $(addprefix -L$(TOPDIR)/,$(dir $(LINKLIBS)))
ifeq ($(WINTOOL),y)
LIBPATHS = ${shell for path in $(LINKLIBS); do dir=`dirname $(TOPDIR)/$$path`;echo "-L\"`cygpath -w $$dir`\"";done}
LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}"
else
LIBPATHS = $(addprefix -L$(TOPDIR)/,$(dir $(LINKLIBS)))
LIBPATHS += -L"$(BOARDDIR)"
endif
LDLIBS = $(patsubst lib%,-l%,$(basename $(notdir $(LINKLIBS))))
BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board
LIBGCC = ${shell $(CC) -print-libgcc-file-name}
LIBGCC = "${shell $(CC) -print-libgcc-file-name}"
VPATH = chip:common
VPATH = chip:common:$(ARCH_SUBDIR)
all: $(HEAD_OBJ) libarch$(LIBEXT)
@@ -77,31 +99,32 @@ libarch$(LIBEXT): $(OBJS)
done ; )
board/libboard$(LIBEXT):
$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT)
@$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT)
nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT)
@echo "LD: nuttx"
@$(LD) --entry=__start $(LDFLAGS) $(LDPATHES) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(HEAD_AOBJ) \
@$(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_AOBJ) \
--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)/$@
ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y)
@export flashloc=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _eronly | cut -d' ' -f1`; \
$(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.data=0x$$flashloc $(NUTTX)$(EXEEXT) $(NUTTX).flashimage
@mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT)
endif
@$(NM) $(TOPDIR)/$@ | \
@$(NM) $(NUTTX)$(EXEEXT) | \
grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
sort > $(TOPDIR)/System.map
@export vflashstart=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _vflashstart | cut -d' ' -f1`; \
@export vflashstart=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _vflashstart | cut -d' ' -f1`; \
if [ ! -z "$$vflashstart" ]; then \
$(OBJCOPY) --adjust-section-vma=.vector=0x$$vflashstart $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage; \
mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@; \
$(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(NUTTX)$(EXEEXT) $(NUTTX).flashimage; \
mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT); \
fi
.depend: Makefile chip/Make.defs $(SRCS)
@if [ -e board/Makefile ]; then \
$(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \
fi
@$(MKDEP) --dep-path chip --dep-path common $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@$(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \
$(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@touch $@
depend: .depend

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* arch/arm/src/common/arm.h
* arch/arm/src/arm/arm.h
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -44,9 +44,9 @@
# include <sys/types.h>
#endif
/**************************************************************************
* Conditional Compilation
**************************************************************************/
/************************************************************************************
* Definitions
************************************************************************************/
#undef CONFIG_ALIGNMENT_TRAP
#undef CONFIG_DCACHE_WRITETHROUGH
@@ -54,10 +54,6 @@
#undef CONFIG_DCACHE_DISABLE
#undef CONFIG_ICACHE_DISABLE
/************************************************************************************
* Definitions
************************************************************************************/
/* ARM9EJS **************************************************************************/
/* PSR bits */
@@ -123,12 +119,12 @@
#define PMD_TYPE_COARSE 0x00000001
#define PMD_TYPE_SECT 0x00000002
#define PMD_TYPE_FINE 0x00000003
/* Bits 3:2: Depends on descriptor */
/* Bits 3:2: Depends on descriptor */
#define PMD_BIT4 0x00000010 /* Bit 4: Must be one */
#define PMD_DOMAIN_MASK 0x000001e0 /* Bits 8:5: Domain control bits */
#define PMD_DOMAIN(x) ((x) << 5)
#define PMD_PROTECTION 0x00000200 /* Bit 9: v5 only */
/* Bits 31:10: Depend on descriptor */
/* Bits 31:10: Depend on descriptor */
/* Level 1 Section Descriptor. Section descriptors allow fast, single
* level mapping between 1Mb address regions.

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_assert.c
* arch/arm/src/arm/up_assert.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -132,6 +132,7 @@ static inline void up_registerdump(void)
regs, ptr[0], ptr[1], ptr[2], ptr[3],
ptr[4], ptr[5], ptr[6], ptr[7]);
}
lldbg("CPSR: %08x\n", current_regs[REG_CPSR]);
}
}

View File

@@ -1,7 +1,7 @@
/********************************************************************
* common/up_cache.S
/****************************************************************************
* arch/arm/src/arm/up_cache.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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,29 +31,29 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
********************************************************************/
****************************************************************************/
/********************************************************************
/****************************************************************************
* Included Files
********************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include "up_internal.h"
#include "up_arch.h"
/********************************************************************
/****************************************************************************
* Definitions
********************************************************************/
****************************************************************************/
#define CACHE_DLINESIZE 32
/********************************************************************
/****************************************************************************
* Assembly Macros
********************************************************************/
****************************************************************************/
/**************************************************************************
/****************************************************************************
* Name: up_flushicache
**************************************************************************/
****************************************************************************/
/* Esure coherency between the Icache and the Dcache in the region described
* by r0=start and r1=end.

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_copystate.c
* arch/arm/src/arm/up_copystate.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -69,6 +69,11 @@
void up_copystate(uint32 *dest, uint32 *src)
{
int i;
/* In the current ARM model, the state is always copied to and from the
* stack and TCB.
*/
for (i = 0; i < XCPTCONTEXT_REGS; i++)
{
*dest++ = *src++;

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_dataabort.c
* arch/arm/src/arm/up_dataabort.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_doirq.c
* arch/arm/src/arm/up_doirq.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -66,39 +66,40 @@
* Public Functions
****************************************************************************/
void up_doirq(int irq, uint32* regs)
void up_doirq(int irq, uint32 *regs)
{
up_ledon(LED_INIRQ);
#ifdef CONFIG_SUPPRESS_INTERRUPTS
PANIC(OSERR_ERREXCEPTION);
#else
if ((unsigned)irq < NR_IRQS)
{
/* Current regs non-zero indicates that we are processing
* an interrupt; current_regs is also used to manage
* interrupt level context switches.
*/
/* Nested interrupts are not supported in this implementation. If you want
* implemented nested interrupts, you would have to (1) change the way that
* current regs is handled and (2) the design associated with
* CONFIG_ARCH_INTERRUPTSTACK.
*/
current_regs = regs;
/* Current regs non-zero indicates that we are processing an interrupt;
* current_regs is also used to manage interrupt level context switches.
*/
/* Mask and acknowledge the interrupt */
DEBUGASSERT(current_regs == NULL);
current_regs = regs;
up_maskack_irq(irq);
/* Mask and acknowledge the interrupt */
/* Deliver the IRQ */
up_maskack_irq(irq);
irq_dispatch(irq, regs);
/* Deliver the IRQ */
/* Indicate that we are no long in an interrupt handler */
irq_dispatch(irq, regs);
current_regs = NULL;
/* Indicate that we are no long in an interrupt handler */
/* Unmask the last interrupt (global interrupts are still
* disabled.
*/
current_regs = NULL;
up_enable_irq(irq);
}
up_ledoff(LED_INIRQ);
/* Unmask the last interrupt (global interrupts are still disabled) */
up_enable_irq(irq);
#endif
up_ledoff(LED_INIRQ);
}

View File

@@ -1,7 +1,7 @@
/**************************************************************************
* common/up_fullcontextrestore.S
* arch/arm/src/arm/up_fullcontextrestore.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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_head.S
/****************************************************************************
* arch/arm/src/arm/up_head.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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,19 +31,21 @@
* 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 "arm.h"
#include "up_internal.h"
#include "up_arch.h"
/**************************************************************************
/**********************************************************************************
* Conditional Compilation
**************************************************************************/
**********************************************************************************/
#undef ALIGNMENT_TRAP
#undef CPU_DCACHE_WRITETHROUGH
@@ -51,9 +53,41 @@
#undef CPU_DCACHE_DISABLE
#undef CPU_ICACHE_DISABLE
/********************************************************************
/* There are three operational memory configurations:
*
* 1. We execute in place in FLASH (CONFIG_BOOT_RUNFROMFLASH=y). In this case
* the boot logic must:
*
* - Configure SDRAM and,
* - Initialize the .data section in RAM.
*/
#ifdef CONFIG_BOOT_RUNFROMFLASH
# define CONFIGURE_SDRAM
/* 2. We boot in FLASH but copy ourselves to DRAM from better performance.
* (CONFIG_BOOT_RUNFROMFLASH=n && CONFIG_BOOT_COPYTORAM=y). In this case
* the boot logic must:
*
* - Configure SDRAM and,
* - Copy ourself to DRAM (after mapping it)
*/
#elif defined(CONFIG_BOOT_COPYTORAM)
# define CONFIG_SDRAM
/* 3. There is bootloader that copies us to DRAM (but probably not to the beginning)
* (CONFIG_BOOT_RUNFROMFLASH=n && CONFIG_BOOT_COPYTORAM=n). In this case the
* boot logic must:
*
* - Nothing special.
*/
#endif
/****************************************************************************
* Definitions
********************************************************************/
****************************************************************************/
/* The physical address of the beginning of SDRAM is provided by
* CONFIG_DRAM_START. The size of installed SDRAM is provided by
@@ -63,9 +97,9 @@
#define NSDRAM_SECTIONS (CONFIG_DRAM_SIZE >> 20)
/********************************************************************
/****************************************************************************
* Assembly Macros
********************************************************************/
****************************************************************************/
/* Since the page table is closely related to the NuttX base
* address, we can convert the page table base address to the
@@ -88,9 +122,9 @@
.endm
#endif
/********************************************************************
/****************************************************************************
* Name: __start
********************************************************************/
****************************************************************************/
/* We assume the bootloader has already initialized most of the h/w for
* us and that only leaves us having to do some os specific things
@@ -105,9 +139,14 @@ __start:
mov r0, #(SVC_MODE | PSR_I_BIT | PSR_F_BIT)
msr cpsr_c, r0
/* Initialize DRAM using a macro provided by board-specific logic */
#ifdef CONFIG_SDRAM
config_sdram
#endif
/* Clear the 16K level 1 page table */
ldr r4, .LCppgtable /* r4=phys. page table */
ldr r4, .LCppgtable /* r4=phys. page table */
mov r0, r4
mov r1, #0
add r2, r0, #PGTABLE_SIZE
@@ -126,9 +165,9 @@ __start:
*/
mksection r0, r4 /* r0=phys. base section */
ldr r1, .LCmmuflags /* FLGS=MMU_MEMFLAGS */
add r3, r1, r0 /* r3=flags + base */
str r3, [r4, r0, lsr #18] /* identity mapping */
ldr r1, .LCmmuflags /* FLGS=MMU_MEMFLAGS */
add r3, r1, r0 /* r3=flags + base */
str r3, [r4, r0, lsr #18] /* identity mapping */
/* Create a "normal" single section mapping for the first
* MB of memory. Now, we have the first 1MB mapping to
@@ -137,20 +176,20 @@ __start:
* moved the physical mapping out of the way.
*/
ldr r2, .LCvpgtable /* r2=virt. page table */
ldr r2, .LCvpgtable /* r2=virt. page table */
mksection r0, r2 /* r0=virt. base section */
str r3, [r4, r0, lsr #18] /* identity mapping */
str r3, [r4, r0, lsr #18] /* identity mapping */
/* The following logic will set up the ARM926 for normal operation */
/* The following logic will set up the ARM920/ARM926 for normal operation */
mov r0, #0
mcr p15, 0, r0, c7, c7 /* Invalidate I,D caches */
mcr p15, 0, r0, c7, c10, 4 /* Drain write buffer */
mcr p15, 0, r0, c7, c10, 4 /* Drain write buffer */
mcr p15, 0, r0, c8, c7 /* Invalidate I,D TLBs */
mcr p15, 0, r4, c2, c0 /* Load page table pointer */
#ifdef CPU_DCACHE_WRITETHROUGH
mov r0, #4 /* Disable write-back on caches explicitly */
mov r0, #4 /* Disable write-back on caches explicitly */
mcr p15, 7, r0, c15, c0, 0
#endif
@@ -164,17 +203,25 @@ __start:
mcr p15, 0, r0, c3, c0 /* Load domain access register */
mrc p15, 0, r0, c1, c0 /* Get control register */
/* Clear bits (see start.h) */
/* Clear bits (see arm.h) */
bic r0, r0, #(CR_R|CR_F|CR_Z)
bic r0, r0, #(CR_A|CR_C|CR_W)
bic r0, r0, #(CR_I)
/* Set bits (see start.h) */
/* Set bits (see arm.h) */
orr r0, r0, #(CR_M|CR_P|CR_D)
orr r0, r0, #(CR_S|CR_V)
/* In most architectures, vectors are reloated to 0xffff0000.
* -- but not all
*/
#ifndef CONFIG_ARCH_LOWVECTORS
orr r0, r0, #(CR_S)
#else
orr r0, r0, #(CR_S|CR_V)
#endif
#ifdef CPU_CACHE_ROUND_ROBIN
orr r0, r0, #(CR_RR)
#endif
@@ -197,9 +244,9 @@ __start:
mov pc, lr
/**************************************************************************
/**********************************************************************************
* PC_Relative Data
**************************************************************************/
**********************************************************************************/
/* These addresses are all virtual address */
@@ -211,15 +258,15 @@ __start:
.long MMU_MEMFLAGS
.type .LCppagetable, %object
.LCppgtable:
.long CONFIG_DRAM_START /* Physical start of DRAM */
.long CONFIG_DRAM_START /* Physical start of DRAM */
.type .LCvpagetable, %object
.LCvpgtable:
.long CONFIG_DRAM_VSTART /* Virtual start of DRAM */
.long CONFIG_DRAM_VSTART /* Virtual start of DRAM */
.size _start, .-_start
/**************************************************************************
/**********************************************************************************
* Name: .Lvstart
**************************************************************************/
**********************************************************************************/
/* The following is executed after the MMU has been enabled. This uses
* absolute addresses; this is not position independent.
@@ -231,19 +278,19 @@ __start:
/* Remove the temporary null mapping */
ldr r4, .LCvpgtable /* r4=virtual page table */
ldr r1, .LCppgtable /* r1=phys. page table */
ldr r4, .LCvpgtable /* r4=virtual page table */
ldr r1, .LCppgtable /* r1=phys. page table */
mksection r3, r1 /* r2=phys. base addr */
mov r0, #0 /* flags + base = 0 */
str r0, [r4, r3, lsr #18] /* Undo identity mapping */
mov r0, #0 /* flags + base = 0 */
str r0, [r4, r3, lsr #18] /* Undo identity mapping */
/* Now setup the pagetables for our normal SDRAM mappings
* mapped region. We round NUTTX_START_VADDR down to the
* nearest megabyte boundary.
*/
ldr r1, .LCmmuflags /* FLGS=MMU_MEMFLAGS */
add r3, r3, r1 /* r3=flags + base */
ldr r1, .LCmmuflags /* FLGS=MMU_MEMFLAGS */
add r3, r3, r1 /* r3=flags + base */
add r0, r4, #(NUTTX_START_VADDR & 0xff000000) >> 18
bic r2, r3, #0x00f00000
@@ -269,7 +316,7 @@ __start:
mov fp, #0
.Lbssinit:
cmp r0, r1 /* Clear up to _bss_end_ */
cmp r0, r1 /* Clear up to _bss_end_ */
strcc fp, [r0],#4
bcc .Lbssinit

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_initialstate.c
* arch/arm/src/arm/up_initialstate.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -40,7 +40,10 @@
#include <nuttx/config.h>
#include <sys/types.h>
#include <string.h>
#include <nuttx/arch.h>
#include "arm.h"
#include "up_internal.h"
#include "up_arch.h"
@@ -81,11 +84,36 @@ void up_initial_state(_TCB *tcb)
/* Initialize the initial exception register context structure */
memset(xcp, 0, sizeof(struct xcptcontext));
xcp->regs[REG_SP] = (uint32)tcb->adj_stack_ptr;
xcp->regs[REG_PC] = (uint32)tcb->start;
#ifdef CONFIG_SUPPRESS_INTERRUPTS
xcp->regs[REG_CPSR] = SVC_MODE | PSR_I_BIT | PSR_F_BIT;
#else
xcp->regs[REG_CPSR] = SVC_MODE | PSR_F_BIT;
/* Save the initial stack pointer */
xcp->regs[REG_SP] = (uint32)tcb->adj_stack_ptr;
/* Save the task entry point */
xcp->regs[REG_PC] = (uint32)tcb->start;
/* If this task is running PIC, then set the PIC base register to the
* address of the allocated D-Space region.
*/
#ifdef CONFIG_PIC
if (tcb->dspace != NULL)
{
/* Set the PIC base register (probably R10) to the address of the
* alloacated D-Space region.
*/
xcp->regs[REG_PIC] = (uint32)tcb->dspace->region;
}
#endif
/* Enable or disable interrupts, based on user configuration */
# ifdef CONFIG_SUPPRESS_INTERRUPTS
xcp->regs[REG_CPSR] = SVC_MODE | PSR_I_BIT | PSR_F_BIT;
# else
xcp->regs[REG_CPSR] = SVC_MODE | PSR_F_BIT;
# endif
}

View File

@@ -1,7 +1,7 @@
/********************************************************************
* common/up_nommuhead.S
/****************************************************************************
* arch/arm/src/arm/up_nommuhead.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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,19 +31,21 @@
* 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 "arm.h"
#include "up_internal.h"
#include "up_arch.h"
/********************************************************************
/****************************************************************************
* Macros
********************************************************************/
****************************************************************************/
/* This macro will modify r0, r1, r2 and r14 */
@@ -57,9 +59,9 @@
.endm
#endif
/********************************************************************
/****************************************************************************
* OS Entry Point
********************************************************************/
****************************************************************************/
/* We assume the bootloader has already initialized most of the h/w for
* us and that only leaves us having to do some os specific things
@@ -93,7 +95,7 @@ __start:
/* Copy system .data sections to new home in RAM. */
#ifdef CONFIG_BOOT_FROM_FLASH
#ifdef CONFIG_BOOT_RUNFROMFLASH
adr r3, LC2
ldmia r3, {r0, r1, r2}
@@ -141,7 +143,7 @@ LC0: .long _sbss
.long _ebss
.long _ebss+CONFIG_IDLETHREAD_STACKSIZE-4
#ifdef CONFIG_BOOT_FROM_FLASH
#ifdef CONFIG_BOOT_RUNFROMFLASH
LC2: .long _eronly /* Where .data defaults are stored in FLASH */
.long _sdata /* Where .data needs to reside in SDRAM */
.long _edata

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_prefetchabort.c
* arch/arm/src/src/up_prefetchabort.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without

View File

@@ -1,7 +1,7 @@
/**************************************************************************
* common/up_saveusercontext.S
* arch/arm/src/arm/up_saveusercontext.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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

@@ -0,0 +1,204 @@
/****************************************************************************
* arch/arm/src/arm/up_schedulesigaction.c
*
* Copyright (C) 2007-2009 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 <sched.h>
#include <debug.h>
#include <nuttx/arch.h>
#include "arm.h"
#include "os_internal.h"
#include "up_internal.h"
#include "up_arch.h"
#ifndef CONFIG_DISABLE_SIGNALS
/****************************************************************************
* Private Definitions
****************************************************************************/
/****************************************************************************
* Private Data
****************************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: up_schedule_sigaction
*
* Description:
* This function is called by the OS when one or more
* signal handling actions have been queued for execution.
* The architecture specific code must configure things so
* that the 'igdeliver' callback is executed on the thread
* specified by 'tcb' as soon as possible.
*
* This function may be called from interrupt handling logic.
*
* This operation should not cause the task to be unblocked
* nor should it cause any immediate execution of sigdeliver.
* Typically, a few cases need to be considered:
*
* (1) This function may be called from an interrupt handler
* During interrupt processing, all xcptcontext structures
* should be valid for all tasks. That structure should
* be modified to invoke sigdeliver() either on return
* from (this) interrupt or on some subsequent context
* switch to the recipient task.
* (2) If not in an interrupt handler and the tcb is NOT
* the currently executing task, then again just modify
* the saved xcptcontext structure for the recipient
* task so it will invoke sigdeliver when that task is
* later resumed.
* (3) If not in an interrupt handler and the tcb IS the
* currently executing task -- just call the signal
* handler now.
*
****************************************************************************/
void up_schedule_sigaction(_TCB *tcb, sig_deliver_t sigdeliver)
{
/* Refuse to handle nested signal actions */
sdbg("tcb=0x%p sigdeliver=0x%p\n", tcb, sigdeliver);
if (!tcb->xcp.sigdeliver)
{
irqstate_t flags;
/* Make sure that interrupts are disabled */
flags = irqsave();
/* First, handle some special cases when the signal is
* being delivered to the currently executing task.
*/
sdbg("rtcb=0x%p current_regs=0x%p\n", g_readytorun.head, current_regs);
if (tcb == (_TCB*)g_readytorun.head)
{
/* CASE 1: We are not in an interrupt handler and
* a task is signalling itself for some reason.
*/
if (!current_regs)
{
/* In this case just deliver the signal now. */
sigdeliver(tcb);
}
/* CASE 2: We are in an interrupt handler AND the
* interrupted task is the same as the one that
* must receive the signal, then we will have to modify
* the return state as well as the state in the TCB.
*
* Hmmm... there looks like a latent bug here: The following
* logic would fail in the strange case where we are in an
* interrupt handler, the thread is signalling itself, but
* a context switch to another task has occurred so that
* current_regs does not refer to the thread at g_readytorun.head!
*/
else
{
/* Save the return lr and cpsr and one scratch register
* These will be restored by the signal trampoline after
* the signals have been delivered.
*/
tcb->xcp.sigdeliver = sigdeliver;
tcb->xcp.saved_pc = current_regs[REG_PC];
tcb->xcp.saved_cpsr = current_regs[REG_CPSR];
/* Then set up to vector to the trampoline with interrupts
* disabled
*/
current_regs[REG_PC] = (uint32)up_sigdeliver;
current_regs[REG_CPSR] = SVC_MODE | PSR_I_BIT | PSR_F_BIT;
/* And make sure that the saved context in the TCB
* is the same as the interrupt return context.
*/
up_savestate(tcb->xcp.regs);
}
}
/* Otherwise, we are (1) signaling a task is not running
* from an interrupt handler or (2) we are not in an
* interrupt handler and the running task is signalling
* some non-running task.
*/
else
{
/* Save the return lr and cpsr and one scratch register
* These will be restored by the signal trampoline after
* the signals have been delivered.
*/
tcb->xcp.sigdeliver = sigdeliver;
tcb->xcp.saved_pc = tcb->xcp.regs[REG_PC];
tcb->xcp.saved_cpsr = tcb->xcp.regs[REG_CPSR];
/* Then set up to vector to the trampoline with interrupts
* disabled
*/
tcb->xcp.regs[REG_PC] = (uint32)up_sigdeliver;
tcb->xcp.regs[REG_CPSR] = SVC_MODE | PSR_I_BIT | PSR_F_BIT;
}
irqrestore(flags);
}
}
#endif /* !CONFIG_DISABLE_SIGNALS */

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_sigdeliver.c
* arch/arm/src/arm/up_sigdeliver.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -81,13 +81,12 @@
void up_sigdeliver(void)
{
#ifndef CONFIG_DISABLE_SIGNALS
_TCB *rtcb = (_TCB*)g_readytorun.head;
uint32 regs[XCPTCONTEXT_REGS];
sig_deliver_t sigdeliver;
/* Save the errno. This must be preserved throughout the
* signal handling so that the the user code final gets
* signal handling so that the user code final gets
* the correct errno value (probably EINTR).
*/
@@ -102,8 +101,8 @@ void up_sigdeliver(void)
/* Save the real return state on the stack. */
up_copystate(regs, rtcb->xcp.regs);
regs[REG_PC] = rtcb->xcp.saved_pc;
regs[REG_CPSR] = rtcb->xcp.saved_cpsr;
regs[REG_PC] = rtcb->xcp.saved_pc;
regs[REG_CPSR] = rtcb->xcp.saved_cpsr;
/* Get a local copy of the sigdeliver function pointer.
* we do this so that we can nullify the sigdeliver
@@ -138,7 +137,6 @@ void up_sigdeliver(void)
up_ledoff(LED_SIGNAL);
up_fullcontextrestore(regs);
#endif
}
#endif /* !CONFIG_DISABLE_SIGNALS */

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_syscall.c
* arch/arm/src/arm/up_syscall.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_undefinedinsn.c
* arch/arm/src/arm/up_undefinedinsn.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* arch/arm/src/common/up_vectoraddrexceptn.S
* arch/arm/src/src/up_vectoraddrexceptn.S
*
* Copyright (C) 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* arch/arm/src/common/up_vectors.S
* arch/arm/src/arm/up_vectors.S
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -39,6 +39,8 @@
#include <nuttx/config.h>
#include <nuttx/irq.h>
#include "arm.h"
#include "up_arch.h"
/************************************************************************************

View File

@@ -1,7 +1,7 @@
/********************************************************************
* common/up_vectortab.S
/****************************************************************************
* arch/arm/src/arm/up_vectortab.S
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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,32 +31,32 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
********************************************************************/
****************************************************************************/
/********************************************************************
/****************************************************************************
* Included Files
********************************************************************/
****************************************************************************/
#include <nuttx/config.h>
/********************************************************************
/****************************************************************************
* Definitions
********************************************************************/
****************************************************************************/
/********************************************************************
/****************************************************************************
* Global Data
********************************************************************/
****************************************************************************/
/********************************************************************
/****************************************************************************
* Assembly Macros
********************************************************************/
****************************************************************************/
/********************************************************************
/****************************************************************************
* Name: _vector_start
*
* Description:
* Vector initialization block
********************************************************************/
****************************************************************************/
.globl _vector_start

View File

@@ -415,53 +415,16 @@ static void c5471_macassign(struct c5471_driver_s *c5471);
****************************************************************************/
#ifdef CONFIG_C5471_NET_DUMPBUFFER
static void c5471_dumpbuffer(const char *buffer, ssize_t nbytes)
static inline void c5471_dumpbuffer(const char *msg, const ubyte *buffer, unsigned int nbytes)
{
#if defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_NET)
char line[128];
int ch;
int i;
int j;
for (i = 0; i < nbytes; i += 16)
{
sprintf(line, "%04x: ", i);
for (j = 0; j < 16; j++)
{
if (i + j < nbytes)
{
sprintf(&line[strlen(line)], "%02x", buffer[i+j] );
}
else
{
strcpy(&line[strlen(line)], " ");
}
if (j == 7 || j == 15)
{
strcpy(&line[strlen(line)], " ");
}
}
for ( j = 0; j < 16; j++)
{
if (i + j < nbytes)
{
ch = buffer[i+j];
sprintf(&line[strlen(line)], "%c", ch >= 0x20 && ch <= 0x7e ? ch : '.');
}
if (j == 7 || j == 15)
{
strcpy(&line[strlen(line)], " ");
}
}
ndbg("%s\n", line);
}
#endif
/* CONFIG_DEBUG, CONFIG_DEBUG_VERBOSE, and CONFIG_DEBUG_NET have to be
* defined or the following does nothing.
*/
nvdbgdumpbuffer(msg, buffer, nbytes);
}
#else
# define c5471_dumpbuffer(buffer,nbytes)
# define c5471_dumpbuffer(msg, buffer,nbytes)
#endif
/****************************************************************************
@@ -494,7 +457,7 @@ static void c5471_mdtxbit (int bit_state)
putreg32((getreg32(GPIO_CIO) & ~GPIO_CIO_MDIO), GPIO_CIO);
/* Select the the bit output state */
/* Select the bit output state */
if (bit_state)
{
@@ -907,7 +870,7 @@ static int c5471_transmit(struct c5471_driver_s *c5471)
c5471->c_lastdescstart = c5471->c_rxcpudesc;
nvdbg("Packet size: %d RX CPU desc: %08x\n", nbytes, c5471->c_rxcpudesc);
c5471_dumpbuffer(dev->d_buf, dev->d_len);
c5471_dumpbuffer("Transmit packet", dev->d_buf, dev->d_len);
while (nbytes)
{
@@ -1276,7 +1239,7 @@ static void c5471_receive(struct c5471_driver_s *c5471)
dev->d_len = packetlen;
nvdbg("Received packet, packetlen: %d type: %02x\n", packetlen, ntohs(BUF->type));
c5471_dumpbuffer(dev->d_buf, dev->d_len);
c5471_dumpbuffer("Received packet", dev->d_buf, dev->d_len);
/* We only accept IP packets of the configured type and ARP packets */
@@ -2006,7 +1969,7 @@ static void c5471_eimconfig(struct c5471_driver_s *c5471)
putreg32(ENET_ADR_BROADCAST|ENET_ADR_PROMISCUOUS, ENET0_ADRMODE_EN);
#else
/* The CPU port is not PROMISCUOUS, it wants a no-promiscuous address
* match yet the the SWITCH receives packets from the PROMISCUOUS ENET0
* match yet the SWITCH receives packets from the PROMISCUOUS ENET0
* which routes all packets for filter matching at the CPU port which
* then allows the s/w to see the new incoming packetes that passed
* the filter. Here we are setting the main SWITCH closest the ether

View File

@@ -1,7 +1,7 @@
/************************************************************
* c5471/c5471_irq.c
/****************************************************************************
* arch/arm/src/c5471/c5471_irq.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009 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,35 +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 <nuttx/irq.h>
#include "arm.h"
#include "up_arch.h"
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
#define ILR_EDGESENSITIVE 0x00000020
#define ILR_PRIORITY 0x0000001E
/************************************************************
/****************************************************************************
* Public Data
************************************************************/
****************************************************************************/
uint32 *current_regs;
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/* The value of _vflashstart is defined in ld.script. It
* could be hard-coded because we know that correct IRAM
@@ -87,11 +90,11 @@ static up_vector_t g_vectorinittab[] =
};
#define NVECTORS ((sizeof(g_vectorinittab)) / sizeof(up_vector_t))
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_ackirq
*
* Description:
@@ -100,7 +103,7 @@ static up_vector_t g_vectorinittab[] =
* output. Clear source IRQ register. Enables a new IRQ
* generation. Reset by internal logic.
*
************************************************************/
****************************************************************************/
static inline void up_ackirq(unsigned int irq)
{
@@ -109,7 +112,7 @@ static inline void up_ackirq(unsigned int irq)
putreg32(reg | 0x00000001, INT_CTRL_REG); /* write the NEW_IRQ_AGR bit. */
}
/************************************************************
/****************************************************************************
* Name: up_ackfiq
*
* Description:
@@ -118,7 +121,7 @@ static inline void up_ackirq(unsigned int irq)
* output. Clear source FIQ register. Enables a new FIQ
* generation. Reset by internal logic.
*
************************************************************/
****************************************************************************/
static inline void up_ackfiq(unsigned int irq)
{
@@ -127,9 +130,9 @@ static inline void up_ackfiq(unsigned int irq)
putreg32(reg | 0x00000002, INT_CTRL_REG); /* write the NEW_FIQ_AGR bit. */
}
/************************************************************
/****************************************************************************
* Name: up_vectorinitialize
************************************************************/
****************************************************************************/
static inline void up_vectorinitialize(void)
{
@@ -143,13 +146,13 @@ static inline void up_vectorinitialize(void)
}
}
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_irqinitialize
************************************************************/
****************************************************************************/
void up_irqinitialize(void)
{
@@ -182,13 +185,13 @@ void up_irqinitialize(void)
#endif
}
/************************************************************
/****************************************************************************
* Name: up_disable_irq
*
* Description:
* Disable the IRQ specified by 'irq'
*
************************************************************/
****************************************************************************/
void up_disable_irq(int irq)
{
@@ -199,13 +202,13 @@ void up_disable_irq(int irq)
}
}
/************************************************************
/****************************************************************************
* Name: up_enable_irq
*
* Description:
* Enable the IRQ specified by 'irq'
*
************************************************************/
****************************************************************************/
void up_enable_irq(int irq)
{
@@ -216,13 +219,13 @@ void up_enable_irq(int irq)
}
}
/************************************************************
/****************************************************************************
* Name: up_maskack_irq
*
* Description:
* Mask the IRQ and acknowledge it
*
************************************************************/
****************************************************************************/
void up_maskack_irq(int irq)
{

View File

@@ -1,7 +1,7 @@
/************************************************************************************
* arch/arm/src/c5471/c5471_vectors.S
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -39,6 +39,8 @@
#include <nuttx/config.h>
#include <nuttx/irq.h>
#include "arm.h"
#include "up_arch.h"
/************************************************************************************

View File

@@ -102,7 +102,7 @@ static int wdt_ioctl(struct file *filep, int cmd, uint32 arg);
static boolean g_wdtopen;
struct file_operations g_wdtops =
static const struct file_operations g_wdtops =
{
.open = wdt_open,
.close = wdt_close,
@@ -287,7 +287,7 @@ static int wdt_ioctl(struct file *filep, int cmd, uint32 arg)
{
dbg("ioctl Call: cmd=0x%x arg=0x%x", cmd, arg);
/* Process the the IOCTL command (see arch/watchdog.h) */
/* Process the IOCTL command (see arch/watchdog.h) */
switch(cmd)
{

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_arch.h
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -45,7 +45,6 @@
# include <sys/types.h>
#endif
#include "arm.h"
#include <arch/board/board.h>
#include "chip.h"
@@ -82,11 +81,28 @@ static inline void putreg16(uint16 val, unsigned int addr)
__asm__ __volatile__("\tstrh %0, [%1]\n\t": : "r"(val), "r"(addr));
}
/* Most DM320 registers are 16-bits wide */
#define getreg(a) getreg16(a)
#define putreg(v,a) putreg16(v,a)
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#undef EXTERN
#if defined(__cplusplus)
#define EXTERN extern "C"
extern "C" {
#else
#define EXTERN extern
#endif
/* Atomic modification of registers */
EXTERN void modifyreg8(unsigned int addr, ubyte clearbits, ubyte setbits);
EXTERN void modifyreg16(unsigned int addr, uint16 clearbits, uint16 setbits);
EXTERN void modifyreg32(unsigned int addr, uint32 clearbits, uint32 setbits);
#undef EXTERN
#if defined(__cplusplus)
}
#endif
#endif /* __ASSEMBLY__ */
#endif /* ___ARCH_ARM_SRC_COMMON_UP_ARCH_H */

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_blocktask.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -39,9 +39,12 @@
#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"
@@ -71,7 +74,7 @@
*
* Inputs:
* tcb: Refers to a task in the ready-to-run list (normally
* the task at the the head of the list). It most be
* the task at the head of the list). It most be
* stopped, its context saved and moved into one of the
* waiting task lists. It it was the task at the head
* of the ready-to-run list, then a context to the new
@@ -129,7 +132,7 @@ void up_block_task(_TCB *tcb, tstate_t task_state)
* Just copy the current_regs into the OLD rtcb.
*/
up_copystate(rtcb->xcp.regs, current_regs);
up_savestate(rtcb->xcp.regs);
/* Restore the exception context of the rtcb at the (new) head
* of the g_readytorun task list.
@@ -139,7 +142,7 @@ void up_block_task(_TCB *tcb, tstate_t task_state)
/* Then switch contexts */
up_copystate(current_regs, rtcb->xcp.regs);
up_restorestate(rtcb->xcp.regs);
}
/* Copy the user C context into the TCB at the (old) head of the

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_exit.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,7 @@
#include <sched.h>
#include <debug.h>
#include <nuttx/arch.h>
#include "os_internal.h"
#include "up_internal.h"
@@ -78,7 +79,8 @@ static void _up_dumponexit(FAR _TCB *tcb, FAR void *arg)
int i;
#endif
sdbg(" TCB=%p name=%s\n", tcb, tcb->argv[0]);
sdbg(" TCB=%p name=%s pid=%d\n", tcb, tcb->argv[0], tcb->pid);
sdbg(" priority=%d state=%d\n", tcb->sched_priority, tcb->task_state);
#if CONFIG_NFILE_DESCRIPTORS > 0
if (tcb->filelist)
@@ -134,7 +136,7 @@ static void _up_dumponexit(FAR _TCB *tcb, FAR void *arg)
* This function causes the currently executing task to cease
* to exist. This is a special case of task_delete() where the task to
* be deleted is the currently executing task. It is more complex because
* a context switch must be perform to the the next ready to run task.
* a context switch must be perform to the next ready to run task.
*
****************************************************************************/

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_initialize.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -52,10 +52,6 @@
* Definitions
****************************************************************************/
/* Define to enable timing loop calibration */
#undef CONFIG_ARM_CALIBRATION
/****************************************************************************
* Private Types
****************************************************************************/
@@ -74,16 +70,16 @@
*
****************************************************************************/
#if defined(CONFIG_ARM_CALIBRATION) & defined(CONFIG_DEBUG)
#if defined(CONFIG_ARCH_CALIBRATION) && defined(CONFIG_DEBUG)
static void up_calibratedelay(void)
{
int i;
slldbg("Beginning 100s delay\n");
lldbg("Beginning 100s delay\n");
for (i = 0; i < 100; i++)
{
up_mdelay(1000);
}
slldbg("End 100s delay\n");
lldbg("End 100s delay\n");
}
#else
# define up_calibratedelay()
@@ -120,6 +116,10 @@ void up_initialize(void)
up_calibratedelay();
/* Add any extra memory fragments to the memory manager */
up_addregion();
/* Initialize the interrupt subsystem */
up_irqinitialize();

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* common/up_internal.h
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -71,6 +71,20 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
/* Macros to handle saving and restore interrupt state. In the current ARM
* model, the state is always copied to and from the stack and TCB. In the
* Cortex-M3 model, the state is copied from the stack to the TCB, but only
* a referenced is passed to get the state from the TCB.
*/
#ifdef CONFIG_ARCH_CORTEXM3
# define up_savestate(regs) up_copystate(regs, current_regs)
# define up_restorestate(regs) (current_regs = regs)
#else
# define up_savestate(regs) up_copystate(regs, current_regs)
# define up_restorestate(regs) up_copystate(current_regs, regs)
#endif
/****************************************************************************
* Public Types
****************************************************************************/
@@ -104,6 +118,26 @@ extern uint32 g_heapbase;
#if CONFIG_ARCH_INTERRUPTSTACK > 3
extern uint32 g_userstack;
#endif
/* These 'addresses' of these values are setup by the linker script. They are
* not actual uint32 storage locations! They are only used meaningfully in the
* following way:
*
* - The linker script defines, for example, the symbol_sdata.
* - The declareion extern uint32 _sdata; makes C happy. C will believe
* that the value _sdata is the address of a uint32 variable _data (it is
* not!).
* - We can recoved the linker value then by simply taking the address of
* of _data. like: uint32 *pdata = &_sdata;
*/
extern uint32 _stext; /* Start of .text */
extern uint32 _etext; /* End_1 of .text + .rodata */
extern const uint32 _eronly; /* End+1 of read only section (.text + .rodata) */
extern uint32 _sdata; /* Start of .data */
extern uint32 _edata; /* End+1 of .data */
extern uint32 _sbss; /* Start of .bss */
extern uint32 _ebss; /* End+1 of .bss */
#endif
/****************************************************************************
@@ -120,21 +154,28 @@ extern uint32 g_userstack;
extern void up_boot(void);
extern void up_copystate(uint32 *dest, uint32 *src);
extern void up_dataabort(uint32 *regs);
extern void up_decodeirq(uint32 *regs);
extern void up_doirq(int irq, uint32 *regs);
extern void up_fullcontextrestore(uint32 *regs) __attribute__ ((noreturn));
extern void up_irqinitialize(void);
extern void up_prefetchabort(uint32 *regs);
extern int up_saveusercontext(uint32 *regs);
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);
extern void up_lowputc(char ch);
extern void up_puts(const char *str);
extern void up_lowputs(const char *str);
#ifdef CONFIG_ARCH_CORTEXM3
extern uint32 *up_doirq(int irq, uint32 *regs);
extern int up_svcall(int irq, FAR void *context);
extern int up_hardfault(int irq, FAR void *context);
#else
extern void up_doirq(int irq, uint32 *regs);
extern void up_dataabort(uint32 *regs);
extern void up_prefetchabort(uint32 *regs);
extern void up_syscall(uint32 *regs);
extern void up_undefinedinsn(uint32 *regs);
#endif
/* Defined in up_vectors.S */
extern void up_vectorundefinsn(void);
@@ -145,6 +186,14 @@ extern void up_vectoraddrexcptn(void);
extern void up_vectorirq(void);
extern void up_vectorfiq(void);
/* Defined in up_allocateheap.c */
#if CONFIG_MM_REGIONS > 1
void up_addregion(void);
#else
# define up_addregion()
#endif
/* Defined in up_serial.c */
#if CONFIG_NFILE_DESCRIPTORS > 0

View File

@@ -0,0 +1,85 @@
/****************************************************************************
* arch/arm/src/common/up_modifyreg16.c
*
* Copyright (C) 2009 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 <debug.h>
#include <arch/irq.h>
#include <nuttx/arch.h>
#include "up_arch.h"
/****************************************************************************
* Private Definitions
****************************************************************************/
/****************************************************************************
* Private Data
****************************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: modifyreg16
*
* Description:
* Atomically modify the specified bits in a memory mapped register
*
****************************************************************************/
void modifyreg16(unsigned int addr, uint16 clearbits, uint16 setbits)
{
irqstate_t flags;
uint16 regval;
flags = irqsave();
regval = getreg16(addr);
regval &= ~clearbits;
regval |= setbits;
putreg16(regval, addr);
irqrestore(flags);
}

View File

@@ -0,0 +1,85 @@
/****************************************************************************
* arch/arm/src/common/up_modifyreg32.c
*
* Copyright (C) 2009 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 <debug.h>
#include <arch/irq.h>
#include <nuttx/arch.h>
#include "up_arch.h"
/****************************************************************************
* Private Definitions
****************************************************************************/
/****************************************************************************
* Private Data
****************************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: modifyreg32
*
* Description:
* Atomically modify the specified bits in a memory mapped register
*
****************************************************************************/
void modifyreg32(unsigned int addr, uint32 clearbits, uint32 setbits)
{
irqstate_t flags;
uint32 regval;
flags = irqsave();
regval = getreg32(addr);
regval &= ~clearbits;
regval |= setbits;
putreg32(regval, addr);
irqrestore(flags);
}

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