Compare commits

..

240 Commits

Author SHA1 Message Date
patacongo
7730a9d058 Prep for 0.3.13 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@861 42af7a65-404d-4744-a932-0658087f49c3
2008-09-01 17:11:34 +00:00
patacongo
029d82031f Need separate output buffers for each thread
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@860 42af7a65-404d-4744-a932-0658087f49c3
2008-09-01 15:56:03 +00:00
patacongo
6dad5e248b Verify UDP support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@859 42af7a65-404d-4744-a932-0658087f49c3
2008-09-01 15:22:54 +00:00
patacongo
ad1e5e145b Add uIP support more multi-threaded socket access
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@858 42af7a65-404d-4744-a932-0658087f49c3
2008-09-01 13:59:54 +00:00
patacongo
462becfbbb Fix compilation when pthreads disabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@857 42af7a65-404d-4744-a932-0658087f49c3
2008-08-30 23:03:06 +00:00
patacongo
84a75fdeab Remove warning
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@856 42af7a65-404d-4744-a932-0658087f49c3
2008-08-30 23:02:16 +00:00
patacongo
80ccfdfd5e Use pthreads instead of tasks in BG
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@855 42af7a65-404d-4744-a932-0658087f49c3
2008-08-30 15:43:32 +00:00
patacongo
af1a31d5c6 Fix environment sharing bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@854 42af7a65-404d-4744-a932-0658087f49c3
2008-08-30 14:37:49 +00:00
patacongo
d27e2d61b2 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@853 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 23:54:41 +00:00
patacongo
895bff0617 Basic telnet NSH on ARM9
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@852 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 21:14:45 +00:00
patacongo
67814a8f49 Fixes for clean Neuros OSD NSH build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@851 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:29:42 +00:00
patacongo
ccad2235f2 Refactored OSD configurations
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@850 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:11:24 +00:00
patacongo
5ef8388030 uIP configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@849 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:07:36 +00:00
patacongo
de9e12ea7c udp configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@848 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:07:07 +00:00
patacongo
be959127fb ostest configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@847 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:06:31 +00:00
patacongo
6c555c56e0 NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@846 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:06:05 +00:00
patacongo
1b43a324d7 nettest configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@845 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 18:05:22 +00:00
patacongo
693b648288 Fix clean target
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@844 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 17:12:43 +00:00
patacongo
b0bbd8c7c2 Add mem command to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@843 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 16:15:00 +00:00
patacongo
4b57c3bad4 Fix Linux sim errors/warning
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@842 42af7a65-404d-4744-a932-0658087f49c3
2008-08-29 15:36:02 +00:00
patacongo
3f2dfbb298 Added ch and pwd to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@841 42af7a65-404d-4744-a932-0658087f49c3
2008-08-23 15:16:10 +00:00
patacongo
c7419e57d3 Added ch and pwd to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@840 42af7a65-404d-4744-a932-0658087f49c3
2008-08-23 15:14:46 +00:00
patacongo
3afb380432 fix error in getopt with no arguments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@839 42af7a65-404d-4744-a932-0658087f49c3
2008-08-23 15:04:50 +00:00
patacongo
e716896a18 Fix error in stat on root directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@838 42af7a65-404d-4744-a932-0658087f49c3
2008-08-23 15:04:21 +00:00
patacongo
709263b6d8 Add chdir() and getcwd()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@837 42af7a65-404d-4744-a932-0658087f49c3
2008-08-22 23:38:33 +00:00
patacongo
7ccda13225 cat accepts multiple files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@836 42af7a65-404d-4744-a932-0658087f49c3
2008-08-22 00:07:57 +00:00
patacongo
2d4f0c6f53 *** empty log message ***
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@835 42af7a65-404d-4744-a932-0658087f49c3
2008-08-20 22:18:54 +00:00
patacongo
0aac853ed5 Add memory inspect modify commands to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@834 42af7a65-404d-4744-a932-0658087f49c3
2008-08-20 01:35:50 +00:00
patacongo
2fd13e9de7 exec'ed function returns a value for 0
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@833 42af7a65-404d-4744-a932-0658087f49c3
2008-08-19 23:21:56 +00:00
patacongo
07c715e09c Support nested if-then[-else]-fi
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@832 42af7a65-404d-4744-a932-0658087f49c3
2008-08-19 23:16:45 +00:00
patacongo
cab9dbe225 Misc. if-then-else-fi fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@831 42af7a65-404d-4744-a932-0658087f49c3
2008-08-18 23:15:59 +00:00
patacongo
ffaed10379 NSH now supports comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@830 42af7a65-404d-4744-a932-0658087f49c3
2008-08-17 19:57:40 +00:00
patacongo
3d991a3d9f backout un-necessary main_t casts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@829 42af7a65-404d-4744-a932-0658087f49c3
2008-08-17 19:02:40 +00:00
patacongo
7615eabcf9 Added 130 and if-then-else-fi to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@828 42af7a65-404d-4744-a932-0658087f49c3
2008-08-17 18:59:50 +00:00
patacongo
6adab3df7c Fix error in FAT FS when file opened for O_APPEND
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@827 42af7a65-404d-4744-a932-0658087f49c3
2008-08-17 16:19:13 +00:00
patacongo
0ef52f153e Allow in all loctions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@826 42af7a65-404d-4744-a932-0658087f49c3
2008-08-17 16:17:44 +00:00
patacongo
2878532acb Fix bad assert in opendir
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@825 42af7a65-404d-4744-a932-0658087f49c3
2008-08-17 16:17:08 +00:00
patacongo
161898863a Concurrent telnet+serial
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@824 42af7a65-404d-4744-a932-0658087f49c3
2008-08-16 20:52:06 +00:00
patacongo
266c90f8b1 NSH redirected output
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@823 42af7a65-404d-4744-a932-0658087f49c3
2008-08-16 18:39:46 +00:00
patacongo
62d29ea215 Remove duplicate strtok() implementatin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@822 42af7a65-404d-4744-a932-0658087f49c3
2008-08-16 13:47:33 +00:00
patacongo
d72dd985c1 Fix reentrancy problems for serial
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@821 42af7a65-404d-4744-a932-0658087f49c3
2008-08-14 23:37:12 +00:00
patacongo
7c18bfddad Fix read()/write() prototype
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@820 42af7a65-404d-4744-a932-0658087f49c3
2008-08-13 00:32:32 +00:00
patacongo
e62ecda064 Add 'sh' to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@819 42af7a65-404d-4744-a932-0658087f49c3
2008-08-12 23:59:32 +00:00
patacongo
57cb16a605 Fix EOF detection
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@818 42af7a65-404d-4744-a932-0658087f49c3
2008-08-12 23:59:07 +00:00
patacongo
f9f5454c2b cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@817 42af7a65-404d-4744-a932-0658087f49c3
2008-08-11 23:17:34 +00:00
patacongo
4b40c96323 Clean configuration varialbe names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@816 42af7a65-404d-4744-a932-0658087f49c3
2008-08-11 23:07:26 +00:00
patacongo
2b2b7f7f0b Removed duplicate getenv() implementation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@815 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 22:16:04 +00:00
patacongo
bf2786f7d7 typos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@814 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 22:03:58 +00:00
patacongo
03c3094d99 Misc NSH enhancements
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@813 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 22:02:19 +00:00
patacongo
ffbd312fe1 Added mkfifo command to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@812 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 19:16:39 +00:00
patacongo
75ec13c73e Added mkfatfs command to NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@811 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 18:42:55 +00:00
patacongo
2cee73f956 Fix date
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@810 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 18:06:03 +00:00
patacongo
03f04075c9 Prep for 0.3.12 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@809 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 17:44:27 +00:00
patacongo
5e49d8063a Fixes for Z16F compiler
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@808 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 16:57:15 +00:00
patacongo
e2dd36627a Added test for mkfatfs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@807 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 16:36:33 +00:00
patacongo
871a684fc6 Added mkfatfs() test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@806 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 14:50:27 +00:00
patacongo
dd7f63b94a Implemented mkfatfs()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@805 42af7a65-404d-4744-a932-0658087f49c3
2008-08-09 21:48:06 +00:00
patacongo
c6ad3e0d22 Added search for good cluster size
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@804 42af7a65-404d-4744-a932-0658087f49c3
2008-08-09 19:44:55 +00:00
patacongo
a88a6ecb67 Add FAT size calculation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@803 42af7a65-404d-4744-a932-0658087f49c3
2008-08-09 15:55:42 +00:00
patacongo
8a30c6b64a Continued mkfatfs work
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@802 42af7a65-404d-4744-a932-0658087f49c3
2008-08-05 23:52:44 +00:00
patacongo
9e1d3f8984 fleshing out mkfatfs logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@801 42af7a65-404d-4744-a932-0658087f49c3
2008-08-03 17:45:20 +00:00
patacongo
7089a04067 Support for mkfatfs()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@800 42af7a65-404d-4744-a932-0658087f49c3
2008-08-02 20:59:48 +00:00
patacongo
360cc0a648 typos
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@799 42af7a65-404d-4744-a932-0658087f49c3
2008-08-02 17:22:22 +00:00
patacongo
0e44d93cd7 Move FAT-related files to fs/fat
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@798 42af7a65-404d-4744-a932-0658087f49c3
2008-08-02 15:02:10 +00:00
patacongo
08d439fefb Fat directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@797 42af7a65-404d-4744-a932-0658087f49c3
2008-08-02 14:44:25 +00:00
patacongo
a5916b8df8 Add find/open/close_blockdriver()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@796 42af7a65-404d-4744-a932-0658087f49c3
2008-08-02 14:25:34 +00:00
patacongo
5972a086d2 cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@795 42af7a65-404d-4744-a932-0658087f49c3
2008-08-02 12:56:39 +00:00
patacongo
ab815f91f9 Simplication
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@794 42af7a65-404d-4744-a932-0658087f49c3
2008-08-01 02:17:32 +00:00
patacongo
2d52cdfac7 Fix missing lock in last change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@793 42af7a65-404d-4744-a932-0658087f49c3
2008-08-01 01:59:11 +00:00
patacongo
6b1891dc83 Need to call driver close() method on exit
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@792 42af7a65-404d-4744-a932-0658087f49c3
2008-08-01 00:22:09 +00:00
patacongo
faf168d93c Fix bug: Using unsigned to detect errno<0
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@791 42af7a65-404d-4744-a932-0658087f49c3
2008-07-31 00:28:24 +00:00
patacongo
378b050ffa Added redirection test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@790 42af7a65-404d-4744-a932-0658087f49c3
2008-07-30 00:29:11 +00:00
patacongo
1c9cadf1c3 task_create now dup's all open descriptors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@789 42af7a65-404d-4744-a932-0658087f49c3
2008-07-30 00:28:43 +00:00
patacongo
3043b0d5a1 Separate tests into separate files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@788 42af7a65-404d-4744-a932-0658087f49c3
2008-07-29 22:11:08 +00:00
patacongo
4c89703789 Fix detection of final close
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@787 42af7a65-404d-4744-a932-0658087f49c3
2008-07-27 19:26:57 +00:00
patacongo
3aaad0504c fix pipe cleanup logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@786 42af7a65-404d-4744-a932-0658087f49c3
2008-07-27 14:58:36 +00:00
patacongo
7a555278f0 Fix counting error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@785 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 20:47:39 +00:00
patacongo
33e6d3e45d Fix FIFO interlock errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@784 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 20:40:49 +00:00
patacongo
e2f289a52c typo
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@783 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 15:12:31 +00:00
patacongo
4bd085848c Pipe/FIFO info
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@782 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 15:09:21 +00:00
patacongo
28db0e083a O_RDONLY open on FIFO blocks until writer opens
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@781 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 14:24:17 +00:00
patacongo
759ba256e8 Minor pipe updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@780 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 14:02:46 +00:00
patacongo
b918dac0c3 Add pipe()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@779 42af7a65-404d-4744-a932-0658087f49c3
2008-07-26 13:12:11 +00:00
patacongo
048d0bd45e update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@778 42af7a65-404d-4744-a932-0658087f49c3
2008-07-22 10:58:30 +00:00
patacongo
2296bfca96 Add support for O_NONBLOCK
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@777 42af7a65-404d-4744-a932-0658087f49c3
2008-07-22 10:58:07 +00:00
patacongo
6b0ef9f1cc *** empty log message ***
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@776 42af7a65-404d-4744-a932-0658087f49c3
2008-07-22 00:59:09 +00:00
patacongo
106f18b460 Pipe test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@775 42af7a65-404d-4744-a932-0658087f49c3
2008-07-22 00:54:03 +00:00
patacongo
0b22d6a034 Debugging FIFO logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@774 42af7a65-404d-4744-a932-0658087f49c3
2008-07-22 00:52:07 +00:00
patacongo
d05f4750cb Add mkfifo()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@773 42af7a65-404d-4744-a932-0658087f49c3
2008-07-20 20:58:32 +00:00
patacongo
de003eb9d6 Remove pthread_mutexattrverifytype.c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@772 42af7a65-404d-4744-a932-0658087f49c3
2008-06-05 02:07:51 +00:00
patacongo
c6839b479b Add recursive mutex test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@771 42af7a65-404d-4744-a932-0658087f49c3
2008-06-05 01:58:08 +00:00
patacongo
1f1e6f30a3 Fix recursive mutex bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@770 42af7a65-404d-4744-a932-0658087f49c3
2008-06-05 01:57:49 +00:00
patacongo
e14188b4a1 Add comments
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@769 42af7a65-404d-4744-a932-0658087f49c3
2008-06-03 10:25:00 +00:00
patacongo
9ccfde456f Put timer_release in a separate file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@768 42af7a65-404d-4744-a932-0658087f49c3
2008-06-03 01:31:13 +00:00
patacongo
d9112fa8b1 Improved timer life control fix
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@767 42af7a65-404d-4744-a932-0658087f49c3
2008-06-03 01:21:12 +00:00
patacongo
46c160af8b Lower case file names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@766 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 22:02:47 +00:00
patacongo
714c61c361 Add RAM disk support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@765 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 20:08:20 +00:00
patacongo
15926d2f9e sim mount example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@764 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 19:35:55 +00:00
patacongo
e8339c2aba examples/ostest can be executed in a loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@763 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 17:50:07 +00:00
patacongo
a9b64a7469 Fix problem when timer deleted by timer handler
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@762 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 17:46:26 +00:00
patacongo
b5d6002463 Condition on optimization backward
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@761 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 15:29:10 +00:00
patacongo
397ac05b87 Fix dependency
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@760 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 13:27:17 +00:00
patacongo
7b52111997 Sim target no longer uses Linux syscalls; works with Cygwin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@759 42af7a65-404d-4744-a932-0658087f49c3
2008-06-01 13:18:51 +00:00
patacongo
bdf74c42f2 Fix several problems with accessing FAT filesystems
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@758 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 22:10:21 +00:00
patacongo
be2a62af5a Eliminate deadlock condition in opendir()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@757 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 20:14:15 +00:00
patacongo
ae5cc87281 Fix memory leak: Contained watchdog not being deleted with POSIX timer deleted
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@756 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 18:33:44 +00:00
patacongo
9a18c880a1 Comments updated
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@755 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 18:14:02 +00:00
patacongo
62d058a834 Comment updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@754 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 18:02:49 +00:00
patacongo
b08da21f90 Add support for recursive mutexes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@753 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 17:13:08 +00:00
patacongo
7bbfd7880d Add bug for watchdog leak.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@752 42af7a65-404d-4744-a932-0658087f49c3
2008-05-18 01:01:40 +00:00
patacongo
07475ddcaf Prepare for 0.9.10 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@751 42af7a65-404d-4744-a932-0658087f49c3
2008-05-15 10:51:14 +00:00
patacongo
4daf380c0c Fix important task shutdown bugs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@750 42af7a65-404d-4744-a932-0658087f49c3
2008-05-15 10:50:29 +00:00
patacongo
52ca776537 Document compiler error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@749 42af7a65-404d-4744-a932-0658087f49c3
2008-03-24 23:54:58 +00:00
patacongo
c93316bf89 Fix access to ez80 I/O address space
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@748 42af7a65-404d-4744-a932-0658087f49c3
2008-03-23 21:22:19 +00:00
patacongo
ab876969dd Implement irqsave/restore
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@747 42af7a65-404d-4744-a932-0658087f49c3
2008-03-23 17:58:08 +00:00
patacongo
536a458525 First clean ez80 compile & link
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@746 42af7a65-404d-4744-a932-0658087f49c3
2008-03-23 16:05:22 +00:00
patacongo
7caf0ae3b6 Add low UART init logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@745 42af7a65-404d-4744-a932-0658087f49c3
2008-03-23 14:50:18 +00:00
patacongo
0125c5989f Add timer logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@744 42af7a65-404d-4744-a932-0658087f49c3
2008-03-23 14:11:49 +00:00
patacongo
ec531944df Add timer definitions
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@743 42af7a65-404d-4744-a932-0658087f49c3
2008-03-23 13:16:11 +00:00
patacongo
5b5b6af723 Do not call open/close_peripheraldevice. That ties in too closely to ZiLOG's psuedo-OS
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@742 42af7a65-404d-4744-a932-0658087f49c3
2008-03-22 22:37:46 +00:00
patacongo
cc67653244 Need more flexibility in defining the heap region
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@741 42af7a65-404d-4744-a932-0658087f49c3
2008-03-22 22:37:04 +00:00
patacongo
8b84d88550 First cat at ez80 serial logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@740 42af7a65-404d-4744-a932-0658087f49c3
2008-03-22 21:19:29 +00:00
patacongo
7984beaa4b More ez80 files compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@739 42af7a65-404d-4744-a932-0658087f49c3
2008-03-18 01:40:12 +00:00
patacongo
976ff7a822 Added EZ80 files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@738 42af7a65-404d-4744-a932-0658087f49c3
2008-03-16 23:36:25 +00:00
patacongo
6cf70e0e2a Fix compile error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@737 42af7a65-404d-4744-a932-0658087f49c3
2008-03-16 21:08:24 +00:00
patacongo
71105edc9f First cut at ez80 boot logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@736 42af7a65-404d-4744-a932-0658087f49c3
2008-03-16 00:06:05 +00:00
patacongo
7b5c4e515b Add ez80f0910200kitg configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@735 42af7a65-404d-4744-a932-0658087f49c3
2008-03-15 20:04:06 +00:00
patacongo
8d31154e34 Add ez80f910200kitg configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@734 42af7a65-404d-4744-a932-0658087f49c3
2008-03-15 20:00:23 +00:00
patacongo
bb2a525bac Fix z8f6423 link error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@733 42af7a65-404d-4744-a932-0658087f49c3
2008-03-11 00:36:08 +00:00
patacongo
990820d579 Fixed of Z8F6423 -- still doesn't like correctly
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@732 42af7a65-404d-4744-a932-0658087f49c3
2008-03-10 23:37:56 +00:00
patacongo
12dea795b3 Add configuration for z8f64200100kit boar
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@731 42af7a65-404d-4744-a932-0658087f49c3
2008-03-10 23:15:47 +00:00
patacongo
460aa35bb4 Adding ez80 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@730 42af7a65-404d-4744-a932-0658087f49c3
2008-03-09 19:59:46 +00:00
patacongo
b1234a6bda EZ80 support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@729 42af7a65-404d-4744-a932-0658087f49c3
2008-03-09 19:56:37 +00:00
patacongo
2dda17684f Prep for 0.3.9 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@728 42af7a65-404d-4744-a932-0658087f49c3
2008-03-09 15:11:51 +00:00
patacongo
bcc151c414 z8Encore! integrated on simulator
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@727 42af7a65-404d-4744-a932-0658087f49c3
2008-03-09 14:49:22 +00:00
patacongo
5f80286cc5 Initial fixes for Z8Encore debug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@726 42af7a65-404d-4744-a932-0658087f49c3
2008-03-08 21:19:39 +00:00
patacongo
b1b50a6bad Bad comment delimiter
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@725 42af7a65-404d-4744-a932-0658087f49c3
2008-03-08 17:25:44 +00:00
patacongo
dd90e2f273 script changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@724 42af7a65-404d-4744-a932-0658087f49c3
2008-03-08 16:26:08 +00:00
patacongo
85d947640a xtrs_head.asm not checked-in due to .cvsignore problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@723 42af7a65-404d-4744-a932-0658087f49c3
2008-03-04 00:48:03 +00:00
patacongo
aae7fd5432 Explicitly use /bin/bash vs /bin/sh for Ubuntu compatibility
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@722 42af7a65-404d-4744-a932-0658087f49c3
2008-03-04 00:40:49 +00:00
patacongo
aab9267f38 Oops last version was still in editor
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@721 42af7a65-404d-4744-a932-0658087f49c3
2008-02-23 14:30:50 +00:00
patacongo
4b331938fa Incorporate patch 1899525
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@720 42af7a65-404d-4744-a932-0658087f49c3
2008-02-23 14:26:46 +00:00
patacongo
f8e0254f63 Document CONFIG_NSH_STRERROR
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@719 42af7a65-404d-4744-a932-0658087f49c3
2008-02-21 12:37:19 +00:00
patacongo
c1d789accf Fix clean issue
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@718 42af7a65-404d-4744-a932-0658087f49c3
2008-02-20 20:05:38 +00:00
patacongo
cbc6fcce57 strerror() is big; don't use it unless requested
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@717 42af7a65-404d-4744-a932-0658087f49c3
2008-02-20 18:02:55 +00:00
patacongo
34974400b3 Fix XTRS interrupt vector handling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@715 42af7a65-404d-4744-a932-0658087f49c3
2008-02-20 15:06:36 +00:00
patacongo
491f5b42b5 Incorporate patch 1897630
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@714 42af7a65-404d-4744-a932-0658087f49c3
2008-02-20 12:55:07 +00:00
patacongo
cb4390a8a0 Add LED logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@713 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 23:03:32 +00:00
patacongo
da700355ed Clean compilation with console enabled
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@712 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 20:44:30 +00:00
patacongo
fed8278b13 Trying to remove link warnings (still unsuccessful)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@711 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 19:25:44 +00:00
patacongo
96565fd538 Low uart fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@710 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 18:53:07 +00:00
patacongo
e6756626f8 Still detangling lowuart stuff
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@709 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 18:22:06 +00:00
patacongo
cb2cc8c22e Fix z8 UART initialization
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@708 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 18:02:17 +00:00
patacongo
28366b75d0 Fix LOWCONSOLE confusion
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@707 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 17:29:53 +00:00
patacongo
295a7a1fd5 Remober lowputc/getc support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@706 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 17:20:45 +00:00
patacongo
feccbf06e2 4.10.1 compiles fine -- my bad
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@705 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 16:58:37 +00:00
patacongo
352eb0fb64 Add framework for UART support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@704 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 16:27:25 +00:00
patacongo
daa2610d07 Fix Z8F6403 compile issues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@703 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 16:25:34 +00:00
patacongo
e173b3ff73 xtrs port: generation of executable. Patch 1895239
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@702 42af7a65-404d-4744-a932-0658087f49c3
2008-02-18 14:20:19 +00:00
patacongo
1bada71e80 Fix errors/omissions in previous check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@701 42af7a65-404d-4744-a932-0658087f49c3
2008-02-17 15:08:45 +00:00
patacongo
b8b16ad1f0 Suppress debug output if CONFIG_DEBUG_SCHED is not defined
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@700 42af7a65-404d-4744-a932-0658087f49c3
2008-02-17 15:06:28 +00:00
patacongo
c447d1ff47 Add prioritized interrupt TODO
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@699 42af7a65-404d-4744-a932-0658087f49c3
2008-02-17 00:23:49 +00:00
patacongo
81f4b8dbf0 Fix inconsistent use of CONFIG_ARCH_LOWPUTC
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@698 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 22:46:55 +00:00
patacongo
7629c2c811 z8f should use up_maskack_irq
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@697 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 22:23:45 +00:00
patacongo
fb76a5e579 Fix range check
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@696 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 16:15:57 +00:00
patacongo
98f52d9f61 Macro must be bit mask, not bit number
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@695 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 15:40:11 +00:00
patacongo
b125ca88c2 Fix compiler errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@694 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 14:48:35 +00:00
patacongo
6ab50706bb Add timer initialization and interrupt control
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@693 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 13:47:29 +00:00
patacongo
aace60d986 Add support for Z8F6403 (currently disabled)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@692 42af7a65-404d-4744-a932-0658087f49c3
2008-02-16 00:48:39 +00:00
patacongo
0823879b84 ez80 is code complete
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@691 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 23:11:51 +00:00
patacongo
c558d34600 Add support for the TRS-80 Model 3
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@690 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 22:14:00 +00:00
patacongo
c90fc3b5e6 Add support for the TRS-80 Model 3 via xtrs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@689 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 22:10:33 +00:00
patacongo
67a6ec5ddb z8encore000zco has z8f6403
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@688 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 20:14:05 +00:00
patacongo
65280ba602 Add lazay interrupt context saving logic for ez8
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@687 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 19:54:58 +00:00
patacongo
f906f80359 Made arch/z80 handling chip-specific
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@686 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 18:20:20 +00:00
patacongo
b3969170d5 Flesh out Z8Encore\! interrupt context switches
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@685 42af7a65-404d-4744-a932-0658087f49c3
2008-02-15 14:28:54 +00:00
patacongo
1ce0745dd8 Fleshing out ez8 context switch logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@684 42af7a65-404d-4744-a932-0658087f49c3
2008-02-14 20:53:15 +00:00
patacongo
4a157c8855 Move all z80-dependencies into arch/z80/src/z80
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@683 42af7a65-404d-4744-a932-0658087f49c3
2008-02-14 17:24:14 +00:00
patacongo
3ee215ef6f cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@682 42af7a65-404d-4744-a932-0658087f49c3
2008-02-14 00:43:11 +00:00
patacongo
b41956664f Remove garbage from linker file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@681 42af7a65-404d-4744-a932-0658087f49c3
2008-02-14 00:40:06 +00:00
patacongo
a6623735c0 Resolve header file incompatibility
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@680 42af7a65-404d-4744-a932-0658087f49c3
2008-02-14 00:31:37 +00:00
patacongo
a7e1b7b8eb Add more IRQ info
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@679 42af7a65-404d-4744-a932-0658087f49c3
2008-02-13 23:57:43 +00:00
patacongo
9657fa43d8 Add ez8 IRQ info
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@678 42af7a65-404d-4744-a932-0658087f49c3
2008-02-13 19:50:48 +00:00
patacongo
dfcedbcac5 Add ez8 start-up logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@677 42af7a65-404d-4744-a932-0658087f49c3
2008-02-13 16:42:28 +00:00
patacongo
cabaa75a43 ez8 now builds
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@675 42af7a65-404d-4744-a932-0658087f49c3
2008-02-13 14:19:16 +00:00
patacongo
ce8536d51f ZDS-II toolchain does not need up_mem.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@674 42af7a65-404d-4744-a932-0658087f49c3
2008-02-12 20:51:40 +00:00
patacongo
0bfed5e52d cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@673 42af7a65-404d-4744-a932-0658087f49c3
2008-02-12 20:35:38 +00:00
patacongo
9a955f0901 More z80 repairs due to z8 port
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@672 42af7a65-404d-4744-a932-0658087f49c3
2008-02-12 14:52:34 +00:00
patacongo
8d2f18e709 More z8 compilation changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@671 42af7a65-404d-4744-a932-0658087f49c3
2008-02-12 14:37:55 +00:00
patacongo
ba6cd0d3e2 Fix z80 problems introduced by z8
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@670 42af7a65-404d-4744-a932-0658087f49c3
2008-02-12 01:35:08 +00:00
patacongo
0067b7a08c Fixes for z8 compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@669 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 20:31:36 +00:00
patacongo
ad2155cd0c Changes for Z8Encore\! compile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@668 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 19:16:45 +00:00
patacongo
f0c6f2f44b Add Z8Encore\!
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@667 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 17:15:52 +00:00
patacongo
50a54fc544 Adding Z8Encore\!
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@666 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 17:11:20 +00:00
patacongo
c4b3cf7095 Cosmetic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@665 42af7a65-404d-4744-a932-0658087f49c3
2008-02-11 13:57:08 +00:00
patacongo
efb733dfc4 Prep for 0.3.8 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@663 42af7a65-404d-4744-a932-0658087f49c3
2008-02-10 14:08:11 +00:00
patacongo
dda4565ed9 Cleanup make output
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@662 42af7a65-404d-4744-a932-0658087f49c3
2008-02-09 19:31:29 +00:00
patacongo
432da54d46 Fix DM320 serial configuration problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@661 42af7a65-404d-4744-a932-0658087f49c3
2008-02-08 17:25:29 +00:00
patacongo
0fca25b777 Add a generic CAN driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@660 42af7a65-404d-4744-a932-0658087f49c3
2008-02-08 00:56:16 +00:00
patacongo
ee5f02dae5 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@659 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 14:41:11 +00:00
patacongo
9a7c5c29c5 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@656 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 01:48:15 +00:00
patacongo
54242efbcd Pascal configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@655 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 01:44:35 +00:00
patacongo
f90fb7cdbe ostest configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@654 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 01:44:14 +00:00
patacongo
53a99eb382 NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@653 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 01:43:56 +00:00
patacongo
b252be9bb9 Move configurations to sub-directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@651 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 01:39:20 +00:00
patacongo
3c494bbc9a update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@647 42af7a65-404d-4744-a932-0658087f49c3
2008-02-07 00:41:05 +00:00
patacongo
669118c68e Fix endian conditional compilation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@644 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 21:08:16 +00:00
patacongo
14570ca238 fix compilation errors/warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@643 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 20:11:39 +00:00
patacongo
2d8db3fabc Fix bug 1887170
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@642 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 19:13:50 +00:00
patacongo
325e4e3833 Fixes bug 1887170
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@641 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 19:04:36 +00:00
patacongo
bf2225c26c update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@640 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 19:03:48 +00:00
patacongo
4dd560c5f0 Pascal P-Code binaries are now big-endian
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@639 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 15:44:29 +00:00
patacongo
b114621101 Script clobbered pascal test file
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@638 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 15:35:40 +00:00
patacongo
e3bd6172aa fflush(NULL) returns error
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@636 42af7a65-404d-4744-a932-0658087f49c3
2008-02-06 01:29:23 +00:00
patacongo
75253df209 update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@635 42af7a65-404d-4744-a932-0658087f49c3
2008-02-05 22:45:03 +00:00
patacongo
d0a0accc99 ZNeo is big-endian
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@634 42af7a65-404d-4744-a932-0658087f49c3
2008-02-05 21:41:13 +00:00
patacongo
5622797411 Various fixes for buffered R/W I/O and seeking
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@630 42af7a65-404d-4744-a932-0658087f49c3
2008-02-05 18:13:13 +00:00
patacongo
507914b3b4 Make freeports transparent
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@628 42af7a65-404d-4744-a932-0658087f49c3
2008-02-04 00:27:37 +00:00
patacongo
2ab10a107f Update errno discussion
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@627 42af7a65-404d-4744-a932-0658087f49c3
2008-02-03 17:09:22 +00:00
patacongo
97a52f1b17 Add fseek issue
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@626 42af7a65-404d-4744-a932-0658087f49c3
2008-02-03 14:43:09 +00:00
patacongo
039efd6e2b update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@624 42af7a65-404d-4744-a932-0658087f49c3
2008-02-03 14:03:34 +00:00
patacongo
7dffca15a1 Changes for clean link of pashello with z16f
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@623 42af7a65-404d-4744-a932-0658087f49c3
2008-02-03 13:54:33 +00:00
patacongo
978b0f79ad Fixes for clean pashello compile with z16f
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@622 42af7a65-404d-4744-a932-0658087f49c3
2008-02-03 13:20:54 +00:00
patacongo
0bd70f78e4 Describe pashello config
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@621 42af7a65-404d-4744-a932-0658087f49c3
2008-02-02 20:16:31 +00:00
patacongo
28b1b8fdac Add pashello example
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@619 42af7a65-404d-4744-a932-0658087f49c3
2008-02-02 20:08:12 +00:00
patacongo
757eff86e8 Add analysis of problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@618 42af7a65-404d-4744-a932-0658087f49c3
2008-02-02 16:25:19 +00:00
patacongo
f116c153b9 Bad errno access in printf statements
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@617 42af7a65-404d-4744-a932-0658087f49c3
2008-02-02 15:35:32 +00:00
patacongo
174a9f77c6 Fix /dev/zero
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@616 42af7a65-404d-4744-a932-0658087f49c3
2008-02-02 15:04:39 +00:00
patacongo
3fd8bd65f4 Integration pascal test case on the sim platform
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@614 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 22:47:24 +00:00
patacongo
2f1acf6786 Add fseek()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@613 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 22:32:16 +00:00
patacongo
09af7cf6ce Added lseek()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@612 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 22:19:20 +00:00
patacongo
00ad2ca2c4 Move sim configurations to sub-directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@611 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 21:34:41 +00:00
patacongo
ce1c48f5b6 examples/pashello configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@610 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 21:28:58 +00:00
patacongo
ee8c1a2d58 examples/ostest configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@609 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 21:28:05 +00:00
patacongo
4c564b97dc examples/nettest configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@608 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 21:27:17 +00:00
patacongo
ac37ac75e0 errno now defined to be *get_errno_ptr()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@607 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 21:23:19 +00:00
patacongo
1e52a8f36a Add pascal test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@606 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 20:47:32 +00:00
patacongo
7b3c17b1c1 Add Pascal test case
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@604 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 14:32:56 +00:00
patacongo
ad8140f162 Pascal Test Case
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@603 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 14:27:45 +00:00
patacongo
fac0d203bc Free ports
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@602 42af7a65-404d-4744-a932-0658087f49c3
2008-02-01 00:20:35 +00:00
458 changed files with 40497 additions and 4624 deletions

44
COPYING Executable file
View File

@@ -0,0 +1,44 @@
/*************************************************************************
* *
* COPYING -- Describes the terms under which Nuttx is distributed. A *
* copy of the BSD-style licensing is included in this file. In my *
* words -- I believe that you should free to use NuttX in any *
* environmnet, private, private, commercial, open, closed, etc. *
* provided only that you repect the modest copyright notices as *
* described in license (below). Please feel free to contact me if you *
* have any licensing concerns. *
* *
*************************************************************************
* *
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. *
* Author: Gregory Nutt <spudmonkey@racsa.co.cr> *
* *
* Redistribution and use in source and binary forms, with or without *
* 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. *
* *
*************************************************************************/

126
ChangeLog
View File

@@ -310,4 +310,128 @@
* Corrected a bug that caused the errno value of one task to be clobbered
when a different task exits. Effects all architectures.
0.3.7 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
0.3.8 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
* Added a test case to verify the Pascal P-Code interpreter
* Added /dev/zero
* 'errno' is now defined to be *get_errno_ptr() with no name conflicts
* Added lseek() and fseek()
* Integrated Pascal interpreter test case on the simulation platform. Needs
pascal-0.1.1.
* Add Pascal test case on the z16f platform. Needs pascal-0.1.2 (does not
yet work due to some tool issues).
* C buffered I/O fixes:
- Fix fflush() return value,
- Add correct fflush behavior when the FILE argument is null.
- Add logic to a correctly handle read/write access on the same FILE
- fseek() flushes read/write data when before moving the file pointer
- When read data is flushed, reposition the file pointer to account for
buffered, but unread data
* Pascal P-Code files are now standardized to big-endian for portability
* Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed)
(see bug 1887170)
* Pascal P-Code runtime now compiles with the SDCC toolchain.
* Added a generic CAN driver. This driver is untested as of this writing.
* Corrected DM320 UART configuration problem
0.3.9 2008-03-09 Gregory Nutt <spudmonkey@racsa.co.cr>
* Began adding support for the ZiLOG Z8Encore! microcontroller for the Z8Encore000ZCO
development board and the Z8F6403 part.
* Fix broken 'clean' target on z80sim configurations
* Re-structure arch/z80 to provide support for all ZiLOG 8-bit microcontrollers (ez8
in particular for now).
* Add support for TRS80-Model 3 based on the xtrs emulation (http://www.tim-mann.org/xtrs.html)
Per patch from Jacques Pelletier.
* In all shell scripts, change #!/bin/sh to #!/bin/bash to resolve problems in
Ubuntu where /bin/sh is a link to dash.
* Z8Encore! port verified on ZDS-II instruction set/chip simulator.
0.3.10 2008-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
* Add support for the ZiLOG EZ80Acclaim microcontrooler (EZ80F91 chip).
* Add configuration for the ZiLOG z8f64200100kit development kit, Z8F6423 part.
* Add configuration for the ZiLOG ez80f0910200kitg development kit, EZ80F091 part.
* Correct critical list handling errors in task shutdown logic: One in timer
deletion logic (timer_delete.c) and one in stream logic (lib_init.c) reported
by kwonsk.
0.3.11 2008-06-01 Gregory Nutt <spudmonkey@racsa.co.cr>
* Add support for recursive mutexes.
* Eliminate a memory leak -- contained watchdog instance was not being
deleted with a POSIX timer was deleted reported by kwonsk.
* Eliminate a deadlock condition in opendir() reported by kwonsk.
* Fix several FAT filesystem problems reported by kwonsk (Changes not yet
verified).
* Host simulator no longer uses Linux system calls directly; Now works with Cygwin.
* Fix an error that occurs when a POSIX timer is deleted by the timer signal handler.
* Add logic to allow the examples/ostest to be run repetitively as an endurance test.
* Add a ramdisk block driver
0.3.12 2008-08-10 Gregory Nutt <spudmonkey@racsa.co.cr>
* Improved solution to POSIX timer lifetime controls bug fixed in 0.3.11.
* Add test for recursive mutexes
* Correct bug in recursive mutex logic
* Add mkfifo()
* Add pipe() and test for both pipes and fifos
* Attempts to open a FIFO will now block until there is at least one writer
* Add test/Fixed errors in FIFO reader/writer interlocks
* Removed limitation: task_create() was only dup'ing 3 file descriptors (now
dups all open file descriptors).
* Added a test for redirection of stdio through pipes
* Fixed error in dup and dup2: Must call open/close methods in fs/driver so that
driver can correctly maintain open reference counts.
* Same issue on closing file descriptors in exit()
* Fixed in error in stdio flush logic. Needed ssize_t vs size_t for error
check.
* Moved all FAT related files from fs to fs/fat
* Implemented mkfatfs(), a non-standard API to create a FAT filesystem on a
block device (not yet tested).
* Added a test for mkfatfs() on a RAM disk in examples/mount and verified
basic mkfatfs functionality for FAT12.
0.3.13 2008-09-01 Gregory Nutt <spudmonkey@racsa.co.cr>
* NSH: Added mkfatfs, mkfifo, sleep, usleep and nice commands
* Fixed problem with console input in Cygwin-based simulator; NSH now works
with simulator.
* NSH will now execute commands in background
* sched_get_priority_max/min returned error on SCHED_RR
* Removed duplicate getenv() implementation in /lib
* Correct detection of End-of-File in fgets
* NSH: Implemented sh and crude script handler
* Fix prototype of read() and write(). Need to use ssize_t and size_t, not
int and unsigned int.
* NSH now supports redirection of command output
* NSH can now use both telnet and serial front ends together
* NSH: $variable can be used for any command value
* Fixed an error in opendir() that could cause an assertion to fail
inappropriately.
* Correct an error in the FAT that caused files opened for writing with
O_APPEND to fail. The file was not being properly positioned to the
end of the file in that case.
* NSH now supports last exit status $?
* NSH now supports if-then[-else]-fi construct
* NSH now supports comments beginning with '#'
* NSH now supports commands to inspect and modify memory
* NSH cat command now supports multiple files on command line
* Add chdir() and getcwd()
* Fix error in getopt() when called with argc==1
* Fix error in stat() when used on the root directory
* NSH: Add cd and pwd commands and current working directory to all NSH
commands that refer to paths.
* Fix errors and warnings introduced into Linux sim build because of recent
Cygwin-based sim changes
* NSH: Add mem command to display heap usage
* Added telnet NSH configuration for Neuros OSD.
* Basic integration of concurrent telnet/serial NSH functional on Neuros
OSD.
* Fixed a critical bug that effects the way that environment variables are
shared amongst pthreads.
* uIP port enhance to support multi-threaded, concurrent socket access. So,
for example, one thread can be reading from a socket while another is
writing to the socket.
0.3.14 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>

View File

@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: January 31, 2008</p>
<p>Last Updated: September 1, 2008</p>
</td>
</tr>
</table>
@@ -456,7 +456,7 @@
</table>
<p>
The 19th release of NuttX (nuttx-0.3.7) is available for download
The 2tth release of NuttX (nuttx-0.3.13) is available for download
from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
website.
The change log associated with the release is available <a href="#currentrelease">here</a>.
@@ -464,29 +464,39 @@
These unreleased changes are listed <a href="#pendingchanges">here</a>.
</p>
<p>
This release includes the preliminary port of NuttX to the ZiLOG z16f 16-bit microcontroller.
This port was verified using the ZiLOG z16f2800100zcog Development and the ZiLOG ZDS-II toolchain.
See http://www.zilog.com for further information.
The nuttx-0.3.13 release includes some important bug fixes as well as a few new features.
Bugs fixed include:
<ul>
<li>Fixed problems with Cygwin-based console input. NSH now works with the Cygwin simulator.</li>
<li>sched_get_priority_max/min returned error on SCHED_RR.</li>
<li>Corrected detection of End-of-File in fgets().</li>
<li>Fixed an error in opendir() that could cause an assertion to fail inappropriately.</li>
<li>Corrected an error in the FAT that caused files opened for writing with O_APPEND to fail.</li>
<li>Fix error in getopt() when called with argc==1.</li>
<li>Fix error in stat() when used on the root directory.</li>
<li>Fixed a critical bug that effects the way that environment variables are shared amongst
pthreads.</li>
<li>uIP port now supports multi-threaded, concurrent socket access. So, for example, one
thread can be reading from a socket while another is writing to the socket.</li>
</ul>
</p>
<p>
I emphasize that this is a preliminary release of the z16f port and is only alpha or, perhaps,
pre-alpha quality as of this writing.
There are a list of known issues in the TODO file in the <a href="TODO.txt">here</a>
The overall quality of NuttX (excluding the z16f port) continues to improve beyond the late beta level.
New features were also added:
<ul>
<li>New OS APIs: chdir() and getcwd().</li>
<li>The Nuttx shell (NSH) has been extended in many ways:
<ul>
<li>New commands: mkfatfs, mkfifo, sleep, usleep, nice, sh, cd, and pwd commands
<li>New memory inspection commands and heap usage commands
<li>New capabilities: Execution of commands in background, execution of simple scripts,
redirection of command output, last command status ($?)
<li>Now supports if-then[-else]-fi construct
<li>and other features as noted in the ChangeLog.
</ul></li>
</ul>
</p>
<p>
The z16f port required numerous changes to NuttX to handle:
</p>
<ul>
<li>NEAR and FAR addressing, and</li>
<li>Use of a Windows native toolchain in a Cygwin build environment.</li>
</ul>
<p>
In addition to the z16f port, at least one very critical bug was found and corrected in NuttX:
The thread-specific errno value of one task was being randomly trashed when a different thread exitted.
</p>
<p>
This release were verified on the ZiLOG z16f2800100zcog, Neuros OSD (ARM9), and the simulation platforms.
As usual, any feedback about bugs or suggestions for improvement would be greatly appreciated.
</p>
@@ -617,7 +627,56 @@
</p>
<p>
<b>STATUS:</b>
The preliminary release of support for the z16f was made available in NuttX version 0.3.7.
The initial release of support for the z16f was made available in NuttX version 0.3.7.
</p>
</td>
</tr>
<tr>
<td valign="top"><img src="favicon.ico"></td>
<td bgcolor="#5eaee1">
<b>Zilog eZ80Acclaim!</b>
</td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<b>Zilog eZ80Acclaim! Microncontroller</b>.
This port uses the ZiLOG ez80f0910200kitg development kit, eZ80F091 part
and the Zilog ZDS-II Windows command line tools.
The development environment is Cygwin under WinXP.
</p>
<p>
<b>STATUS:</b>
This is a work in progress. Verified ez80 support will be announced in a future NuttX release.
</p>
</td>
</tr>
<tr>
<td valign="top"><img src="favicon.ico"></td>
<td bgcolor="#5eaee1">
<b>Zilog Z8Encore!</b>
</td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<b>Zilog Z8Encore! Microncontroller</b>.
This port uses the either:
</p>
<ul>
<li>Zilog z8encore000zco development kit, Z8F6403 part, or</li>
<li>Zilog z8f64200100kit development kit, Z8F6423 part</li>
</ul>
<p>
and the Zilog ZDS-II Windows command line tools.
The development environment is Cygwin under WinXP.
</p>
<p>
<b>STATUS:</b>
This release has been verified only on the ZiLOG ZDS-II Z8Encore! chip simulation
as of nuttx-0.3.9.
</p>
</td>
</tr>
@@ -910,13 +969,13 @@ Other memory:
<tr>
<td><img src="favicon.ico"></td>
<td>
<a href="ChangeLog.txt">Change Logs for all releases</a><br>
<a href="ChangeLog.txt">Change Logs for All NuttX Releases</a><br>
</td>
</tr>
<tr>
<td><img src="favicon.ico"></td>
<td>
<a href="#currentrelease">ChangeLog for Current Release</a><br>
<a href="#currentrelease">ChangeLog for Current Releases</a><br>
</td>
</tr>
<tr>
@@ -936,19 +995,61 @@ Other memory:
</table>
<pre><ul>
0.3.7 2008-01-31 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
nuttx-0.3.13 2008-09-01 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Added support for the Zilog Z16F using the Zilog Z16F2800100ZCOG
Development Kit.
* Add support toolchains that do not support making of dependencies
* Fix Cygwin build with spaces in directory names
* Name make system changes to deal with non-GNU toolchains (i.e., Zilog)
* Add support for Windows native toolchains that cannot follow Cygwin soft links
* Modified serial driver interface to handle hardware with non-16550A-like
interrupt architecture (like the Z16F)
* Added a &quot;dumb&quot; serial console driver to simplify OS bringup
* Corrected a bug that caused the errno value of one task to be clobbered
when a different task exits. Effects all architectures.
* NSH: Added mkfatfs, mkfifo, sleep, usleep and nice commands
* Fixed problem with console input in Cygwin-based simulator; NSH now works
with simulator.
* NSH will now execute commands in background
* sched_get_priority_max/min returned error on SCHED_RR
* Removed duplicate getenv() implementation in /lib
* Correct detection of End-of-File in fgets
* NSH: Implemented sh and crude script handler
* Fix prototype of read() and write(). Need to use ssize_t and size_t, not
int and unsigned int.
* NSH now supports redirection of command output
* NSH can now use both telnet and serial front ends together
* NSH: $variable can be used for any command value
* Fixed an error in opendir() that could cause an assertion to fail
inappropriately.
* Correct an error in the FAT that caused files opened for writing with
O_APPEND to fail. The file was not being properly positioned to the
end of the file in that case.
* NSH now supports last exit status $?
* NSH now supports if-then[-else]-fi construct
* NSH now supports comments beginning with '#'
* NSH now supports commands to inspect and modify memory
* NSH cat command now supports multiple files on command line
* Add chdir() and getcwd()
* Fix error in getopt() when called with argc==1
* Fix error in stat() when used on the root directory
* NSH: Add cd and pwd commands and current working directory to all NSH
commands that refer to paths.
* Fix errors and warnings introduced into Linux sim build because of recent
Cygwin-based sim changes
* NSH: Add mem command to display heap usage
* Added telnet NSH configuration for Neuros OSD.
* Basic integration of concurrent telnet/serial NSH functional on Neuros
OSD.
* Fixed a critical bug that effects the way that environment variables are
shared amongst pthreads.
* uIP port enhance to support multi-threaded, concurrent socket access. So,
for example, one thread can be reading from a socket while another is
writing to the socket.
pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
* Add logic to build and link with the ZDS-II toolchain
use with the z16f.
* Make sure that POFF header structures are aligned
* Standardized POFF file format to big-endian
* Break up large switch statements to lower complexity
and eliminate a compiler bug
* Changes so that runtime compiles with SDCC.
buildroot-0.1.0 2007-03-09 &lt;spudmonkey@racsa.co.cr&gt
* Support for arm-elf toolchain
</pre></ul>
<table width ="100%">
@@ -960,8 +1061,13 @@ Other memory:
</table>
<pre><ul>
0.3.8 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
nuttx-0.3.14 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-0.1.1 2008-xx-xx &lt;spudmonkey@racsa.co.cr&gt
* Support for m68k-elf and m68hc11 toolchain
</pre></ul>
<table width ="100%">

View File

@@ -29,6 +29,11 @@
</tr>
</table>
</td>
<td width="210">
<a href="freeports.html" target="_blank">
<img src="freeports.gif" width="210" height="62" border="0"/>
</a>
</td>
</tr>
</body>
</html>
</html>

View File

@@ -6,17 +6,17 @@
</head>
<body background="backgd.gif">
<hr>
<hr><hr>
<center><h1><i>Under Construction</i></h1></center>
<hr>
<hr><hr>
<center>
<big><b>
<p>NuttX Operating System</p>
<p>Porting Guide</p>
</b></big>
<h1><big><b>
<p>NuttX Operating System</br>
Porting Guide</p>
</b></big></h1>
<p><small>by</small></p>
<p>Gregory Nutt</p>
<p><small>Last Update: January 10, 2008</small></p>
<p><small>Last Update: September 1, 2008</small></p>
</center>
<center><h1>Table of Contents</h1></center>
@@ -36,7 +36,7 @@
<li><a href="#summaryofconfigfiles">2.3.2 Summary of Files</a></li>
<ul>
<li><a href="#boardlogic">2.3.2.1 Board Specific Logic</a></li>
<li><a href="#boardconfigfiles">2.3.2.2 Board Specific Configuration Files</a></li>
<li><a href="#boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a></li>
</ul>
<li><a href="#supportedboards">2.3.3 Supported Boards</a></li>
</ul>
@@ -90,13 +90,13 @@
</ul>
<li><a href="#NxFileSystem">5.0 NuttX File System</a></li>
<li><a href="#apndxconfigs">Appendix A: NuttX Configuration Settings</a></li>
<li><a href="#apndxtrademarks">Appendix B: Trademarks</a></li>
<hr>
<h1>1.0 <a name="Introduction">Introduction</a></h1>
<p><b>Overview</b>
This document provides and overview of the NuttX build and configuration
logic and provides hints for the incorporation of new processor/board archectures
logic and provides hints for the incorporation of new processor/board architectures
into the build.
</p>
<p>
@@ -132,7 +132,7 @@
| | | `-- <i>(chip-specific source files)</i>
| | |--<i>&lt;other-chips&gt;</i>/
| | `-- <i>(architecture-specific source files)</i>
| `-- <i>&lt;other-architectures&gt;</i>/
| `-- <i>&lt;other-architecture directories&gt;</i>/
|-- <a href="#DirStructConfigs">configs</a>/
| |-- <i>&lt;board-name&gt;</i>/
| | |-- include/
@@ -140,8 +140,10 @@
| | |-- src/
| | | |-- Makefile
| | | `-- <i>(board-specific source files)</i>
| | `-- <i>(board-specific configuration files)</i>
| `-- <i>&lt;other-boards&gt;</i>/
| | |---<i>&lt;config1-dir&gt;</i>/
| | | `-- <i>(board-specific/configuration-specific files)</i>
| | `---<i>(other board-specific configuration sub-directories)</i>/
| `-- <i>&lt;(other board directories)&gt;</i>/
|-- <a href="#DirStructDrivers">drivers</a>/
| |-- Makefile
| `-- <i>(common driver source files)</i>
@@ -226,14 +228,14 @@
</p>
</li>
<li>
<i>Board specific files</i>.
<i>Board specific configurations</i>.
In order to be usable, the chip must be contained in a board environment.
The board configuration defines additional properties of the board including such things as
peripheral LEDs, external peripherals (such as network, USB, etc.).
<p>
These board-specific configuration files can be found in the
<code>configs/</code><i>&lt;board-name&gt;</i><code>/</code> sub-directories and are discussed
in a a paragraph <a href="#configsdirectorystructure">below</a>.
in a paragraph <a href="#configsdirectorystructure">below</a>.
</p>
</li>
</ul>
@@ -251,8 +253,8 @@
This directory contains several sub-directories, each containing
architecture-specific logic.
The task of porting NuttX to a new processor consists of
add a new sudirectory under <code>arch/</code> containing logic specific
to the new architecuture.
add a new subdirectory under <code>arch/</code> containing logic specific
to the new architecture.
The complete board port in is defined by the architecture-specific code in this
directory (plus the board-specific configurations in the <code>config/</code>
subdirectory).
@@ -382,7 +384,7 @@
This directory holds common ARM architectures. At present, this includes
the following subdirectories:
<ul>
<li><code>arch/arm/include</code> and <code>arch/arm/common</code>:
<li><code>arch/arm/include</code> and <code>arch/arm/src/common</code>:
Common ARM logic.
</li>
@@ -424,13 +426,41 @@
<li><code>arch/z16f</code>:
Zilog z16f Microcontroller.
This port uses the Zilog z16f2800100zcog Development Kit.
This is a work in progress.
This port was released with nuttx-0.3.7.
</li>
<li><code>arch/z80</code>:
Zilog z80 Microcontroller.
This port has been verified using only a z80 instruction simulator.
</li>
This directory holds 8-bit ZiLOG architectures. At present, this includes the
Zilog z80, ez80Acclaim! and z8Encore! Microcontrollers.
<ul>
<li><code>arch/z80/include</code> and <code>arch/z80/src/common</code>:
Common logic.
</li>
<li><code>arch/z80/include/z80</code> and <code>arch/z80/src/z80</code>:
The Z80 port was released in nuttx-0.3.6 has been verified using only a
z80 instruction simulator.
The set simulator can be found in the NuttX CVS at
http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim.
This port also uses the SDCC toolchain (http://sdcc.sourceforge.net/")
(verified with version 2.6.0 and 2.7.0).
</li>
<li><code>arch/z80/include/ez80</code> and <code>arch/z80/src/ez80</code>:
The ez80Acclaim! port uses the ZiLOG ez80f0910200kitg development kit, eZ80F091 part,
with the Zilog ZDS-II Windows command line tools.
The development environment is Cygwin under WinXP.
This is a work in progress. Verified ez80 support will be announced in a future NuttX release.
</li>
<li><code>arch/z80/include/z8</code> and <code>arch/z80/src/z8</code>:
The Z8Encore! port uses either the ZiLOG z8encore000zco development kit, Z8F6403 part,
or the z8f64200100kit development kit, Z8F6423 part with the Zilog ZDS-II Windows command line
tools. The development environment is Cygwin under WinXP.
The initial release, verified only on the ZDS-II ez8 simulator, was released in nuttx-0.3.9.
</li>
</ul>
</li>
</ul>
<p>
@@ -468,15 +498,24 @@
provide a subdirectory &lt;board-name&gt; under <code>configs/</code> with the following characteristics:
</p>
<ul><pre>
|-- Make.defs
|-- defconfig
`-- setenv.sh
<i>&lt;board-name&gt;</i>
|-- include/
| `-- <i>(board-specific header files)</i>
|-- src/
| |-- Makefile
| `-- <i>(board-specific source files)</i>
|-- Make.defs
|-- defconfig
`-- setenv.sh
|-- <i>&lt;config1-dir&gt;</i>
| |-- Make.defs
| |-- defconfig
| `-- setenv.sh
|-- <i>&lt;config2-dir&gt;</i>
| |-- Make.defs
| |-- defconfig
| `-- setenv.sh
`-- <i>(other board-specific configuration sub-directories)</i>/
</pre></ul>
<h3><a name="summaryofconfigfiles">2.3.2 Summary of Files</a></h3>
@@ -502,10 +541,15 @@
It must support the following targets: <code>libext$(LIBEXT)</code>, <code>clean</code>, and <code>distclean</code>.
</li>
</ul>
<h4><a name="boardconfigfiles">2.3.2.2 Board Specific Configuration Files</a></h4>
<h4><a name="boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a></h4>
<p>
The <code>configs/</code><i>&lt;board-name&gt;</i><code>/</code> sub-directory holds all of the
files that are necessary to configure Nuttx for the particular board.
A board may have various different configurations using the common source files.
Each board configuration is described by three files: <code>Make.defs</code>, <code>defconfig</code>, and <code>setenv.sh</code>.
Typically, each set of configuration files is retained in a separate configuration sub-directory
(<i>&lt;config1-dir&gt;</i>, <i>&lt;config2-dir&gt;</i>, .. in the above diagram).
The procedure for configuring NuttX is described <a href="#configuringnuttx">below</a>,
This paragraph will describe the contents of these configuration files.
</p>
@@ -530,7 +574,7 @@
</li>
<li>
<code>defconfig</code>: This is a configuration file similar to the Linux
configuration file. In contains varialble/value pairs like:
configuration file. In contains variable/value pairs like:
<ul>
<li><code>CONFIG_VARIABLE</code>=value</li>
</ul>
@@ -553,7 +597,7 @@
<h3><a name="supportedboards">2.3.3 Supported Boards</a></h3>
<p>
All of the specific boards supported by NuttX are identified below.
These the the specific <i>&lt;board-name&gt;</i>'s that may be used to configure NuttX
These are the specific <i>&lt;board-name&gt;</i>'s that may be used to configure NuttX
as described <a href="#configuringnuttx">below</a>.
</p>
<ul>
@@ -600,11 +644,36 @@
This port is not quite ready for prime time.
</li>
<li><code>configs/xtrs</code>
TRS80 Model 3. This port uses a vintage computer based on the Z80.
An emulator for this computer is available to run TRS80 programs on a
linux platform (http://www.tim-mann.org/xtrs.html).
</li>
<li><code>configs/z16f2800100zcog</code>
z16f Microncontroller.
z16f Microcontroller.
This port use the Zilog z16f2800100zcog development kit and the
Zilog ZDS-II Windows command line tools.
The development environment is Cygwin under WinXP.
</li>
<li><code>configs/ez80f0910200kitg</code>
ez80Acclaim! Microcontroller. This port use the Zilog ez80f0910200kitg
development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line
tools. The development environment is Cygwin under WinXP.
</li>
<li><code>configs/z8encore000zco</code>
z8Encore! Microcontroller. This port use the Zilog z8encore000zco
development kit, Z8F6403 part, and the Zilog ZDS-II Windows command line
tools. The development environment is Cygwin under WinXP.
</li>
<li><code>configs/z8encore000zco</code>
z8Encore! Microcontroller. This port use the Zilog z8f64200100kit
development kit, Z8F6423 part, and the Zilog ZDS-II Windows command line
tools. The development environment is Cygwin under WinXP.
</li>
<li><code>configs/z80sim</code>:
z80 Microcontroller. This port uses a Z80 instruction set simulator.
@@ -697,19 +766,20 @@
<p>
<b>Manual Configuration</b>.
Configuring NuttX requires only copying the
<a href="#boardconfigfiles">board-specific configuration files</a> into the top level directory which appears in the make files as the make variable, <code>${TOPDIR}</code>.
<a href="#boardconfigsubdirs">board-specific configuration files</a> into the top level directory which appears in the make files as the make variable, <code>${TOPDIR}</code>.
This could be done manually as follows:
</p>
<ul>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i></code>/Make.def</code> to <code>${TOPDIR}/Make.defs</code>,<li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i></code>/setenv.sh</code> to <code>${TOPDIR}/setenv.sh</code>, and</li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i></code>/defconfig</code> to <code>${TOPDIR}/.config</code></li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]Make.def</code> to <code>${TOPDIR}/Make.defs</code>,<li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]setenv.sh</code> to <code>${TOPDIR}/setenv.sh</code>, and</li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]defconfig</code> to <code>${TOPDIR}/.config</code></li>
</ul>
<p>
Where <i>&lt;board-name&gt;</i> is the name of one of the sub-directories of the
NuttX <a href="#DirStructConfigs"><code>configs/</code></a> directory.
This sub-directory name corresponds to one of the supported boards
identified <a href="#supportedboards">above</a>.
And &lt;config-dir&gt; is the optional, specific configuration directory for the board.
</p>
<p>
<b>Automated Configuration</b>.
@@ -718,7 +788,7 @@
</p>
<ul><pre>
cd tools
./configure.sh <i>&lt;board-name&gt;</i>
./configure.sh <i>&lt;board-name&gt;</i></i><code>[/</code><i>&lt;config-dir&gt;</i><code>]</code>
</pre></ul>
<p>
@@ -747,14 +817,14 @@ make
That directory also holds:
</p>
<ul>
<li>The makefile fragment <a href="#boardconfigfiles"><code>.config</code></a> that describes the current configuration.</li>
<li>The makefile fragment <a href="#boardconfigfiles"><code>Make.defs</code></a> that provides customized build targers, and</li>
<li>The shell script <a href="#boardconfigfiles"><code>setenv.sh</code></a> that sets up the configuration environment for the build.</li>
<li>The makefile fragment <a href="#boardconfigsubdirs"><code>.config</code></a> that describes the current configuration.</li>
<li>The makefile fragment <a href="#boardconfigsubdirs"><code>Make.defs</code></a> that provides customized build targers, and</li>
<li>The shell script <a href="#boardconfigsubdirs"><code>setenv.sh</code></a> that sets up the configuration environment for the build.</li>
</ul>
<p>
The <a href="#boardconfigfiles"><code>setenv.sh</code></a> contains Linux environmental settings that are needed for the build.
The specific environmental definitions are unique for each board but should include, as a minimum, updates to the <code>PATH</code> variable to include the full path to the architecture-specific toolchain identified in <a href="#boardconfigfiles"><code>Make.defs</code></a>.
The <a href="#boardconfigfiles"><code>setenv.sh</code></a> only needs to be source'ed at the beginning of a session.
The <a href="#boardconfigsubdirs"><code>setenv.sh</code></a> contains Linux/Cygwin environmental settings that are needed for the build.
The specific environmental definitions are unique for each board but should include, as a minimum, updates to the <code>PATH</code> variable to include the full path to the architecture-specific toolchain identified in <a href="#boardconfigsubdirs"><code>Make.defs</code></a>.
The <a href="#boardconfigsubdirs"><code>setenv.sh</code></a> only needs to be source'ed at the beginning of a session.
The system can be re-made subsequently by just typing <code>make</code>.
</p>
<p>
@@ -949,7 +1019,7 @@ The system can be re-made subsequently by just typing <code>make</code>.
<p><b>Inputs:</b></p>
<ul>
<li><code>tcb</code>: 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
@@ -1248,7 +1318,7 @@ The system can be re-made subsequently by just typing <code>make</code>.
</ul>
<p>
Some architectures require a description of the the RAM configuration:
Some architectures require a description of the RAM configuration:
</p>
<ul>
<li><code>CONFIG_DRAM_SIZE</code>:
@@ -1256,7 +1326,7 @@ The system can be re-made subsequently by just typing <code>make</code>.
<li><code>CONFIG_DRAM_START</code>:
The start address of DRAM (physical)</li>
<li><code>CONFIG_DRAM_VSTART</code>:
The startaddress of DRAM (virtual)</li>
The start address of DRAM (virtual)</li>
</ul>
<p>
@@ -1298,7 +1368,7 @@ The system can be re-made subsequently by just typing <code>make</code>.
<code>CONFIG_DEBUG_LIB</code>: enable C library debug output (disabled by default)
</li>
<li>
<code>CONFIG_HAVE_LOWPUTC</code>: architecture supports low-level, boot
<code>CONFIG_ARCH_LOWPUTC</code>: architecture supports low-level, boot
time console output
</li>
<li>
@@ -1338,6 +1408,9 @@ The system can be re-made subsequently by just typing <code>make</code>.
<code>CONFIG_DEV_CONSOLE</code>: Set if architecture-specific logic
provides /dev/console. Enables stdout, stderr, stdin.
</li>
<li>
<code>CONFIG_MUTEX_TYPES</code>: Set to enabled support for recursive and
errorcheck mutexes. Enables <code>pthread_mutexattr_settype()</code>.
</ul>
<p>
@@ -1436,6 +1509,10 @@ The system can be re-made subsequently by just typing <code>make</code>.
structures. The system manages a pool of preallocated
watchdog structures to minimize dynamic allocations
</li>
<li>
<code>CONFIG_DEV_PIPE_SIZE</code>: Size, in bytes, of the buffer to allocated
for pipe and FIFO support (default is 1024).
</li>
</ul>
<h2>Network Support</h2>
@@ -1450,6 +1527,10 @@ The system can be re-made subsequently by just typing <code>make</code>.
<li>
<code>CONFIG_NSOCKET_DESCRIPTORS</code>: Maximum number of socket descriptors per task/thread.
</li>
<li>
<code>CONFIG_NET_NACTIVESOCKETS</code>: Maximum number of concurrent socket operations (recv, send, etc.).
Default: <code>CONFIG_NET_TCP_CONNS</code>+<code>CONFIG_NET_UDP_CONNS</code>.
</li>
<li>
<code>CONFIG_NET_SOCKOPTS</code>: Enable or disable support for socket options.
</li>
@@ -1548,6 +1629,22 @@ The system can be re-made subsequently by just typing <code>make</code>.
</li>
</ul>
<h1><a name="apndxtrademarks">Appendix B: Trademarks</a></h1>
<li>ARM, ARM7 ARM7TDMI, ARM9, ARM926EJS are trademarks of Advanced RISC Machines, Limited.</li>
<li>Cygwin is a trademark of Red Hat, Incorporated.</li>
<li>Linux is a registered trademark of Linus Torvalds.</li>
<li>LPC2148 is a trademark of NXP Semiconductors.</li>
<li>TI is a tradename of Texas Instruments Incorporated.</li>
<li>UNIX is a registered trademark of The Open Group.</li>
<li>VxWorks is a registered trademark of Wind River Systems, Incorporated.</li>
<li>ZDS, ZNEO, Z16F, Z80, and Zilog are a registered trademark of Zilog, Inc.</li>
<p>
NOTE: NuttX is <i>not</i> licensed to use the POSIX trademark. NuttX uses the POSIX
standard as a development guideline only.
</p>
</body>
</html>

File diff suppressed because it is too large Load Diff

BIN
Documentation/freeports.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,20 @@
<html>
<head>
<title>Free NuttX Ports</title>
</head>
<body background="backgd.gif">
<center>
<table border="1" width="80%" bgcolor="#eeeeee">
<tr><td>
<big><b><i>Free</i> Ports</b></big>.
If you have a hardware platform that you would like to see NuttX ported to then have I got a deal for you:
I am willing to port NuttX to run on your hardware <b><i>FREE</i></b>.
You would, of course, have to provide all hardware, development tools, and documentation.
The functionality would be limited to basic boot-up, serial console, networking, ...
I would need to retain the hardware throught the support cycle.
Of course, this offer depends the availability of free time to do the port.
If you are interested, contact <a href="http://sourceforge.net/users/patacongo/">patacongo</a> at SourceForge.
</td></tr></table>
</body>
</html>

File diff suppressed because it is too large Load Diff

181
TODO
View File

@@ -1,27 +1,27 @@
NuttX TODO List (Last updated January 6, 2008)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NuttX TODO List (Last updated July 31, 2008)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(6) Task/Scheduler (sched/)
(7) Task/Scheduler (sched/)
(1) Dynamic loader (N/A)
(2) Memory Managment (mm/)
(1) Signals (sched/, arch/)
(1) pthreads (sched/)
(1) C++ Support
(11) Network (net/, netutils/)
(10) Network (net/, netutils/)
(2) USB (drivers/usbdev)
(3) Libraries (lib/)
(2) File system (fs/, drivers/)
(4) File system/Generic drivers (fs/, drivers/)
(1) Pascal add-on (pcode/)
(2) Documentation (Documentation/)
(3) Build system
(0) Applications & Tests (examples/)
(1) ARM (arch/arm/)
(1) ARM/C5471 (arch/arm/src/c5471/)
(2) ARM/DM320 (arch/arm/src/dm320/)
(1) ARM/DM320 (arch/arm/src/dm320/)
(2) ARM/LPC214x (arch/arm/src/lpc214x/)
(4) pjrc-8052 / MCS51 (arch/pjrc-8051/)
(2) z80 (arch/z80/)
(4) z16 (arch/z16/)
(6) z80/z8 (arch/z80/)
(7) z16 (arch/z16/)
o Task/Scheduler (sched/)
^^^^^^^^^^^^^^^^^^^^^^^
@@ -56,6 +56,11 @@ o Task/Scheduler (sched/)
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
^^^^^^^^^^^^^^
@@ -143,16 +148,6 @@ o Network (net/, netutils/)
Priority: Medium, The feature is not important, but it is important
for NuttX to resolve the architectural issues.
Description: uIP/Socket callback logic is not thread safe. This means that
a socket cannot be used concurrently by two threads. Minimal
fix: Add mutex to support exclusion for protection.
Status: Open
Priority: Low. The currently socket design cannot be use concurrently
by threads with out a major redesign. The feature is not
of great value since the use model for multi-thread sockets
is not common. Adding mutex support would only mask the
underlying issue.
Description: IPv6 support is incomplete
Status: Open
Priority: Medium
@@ -213,15 +208,10 @@ o Libraries (lib/)
Status: Open
Priority: Medium
Description: There are two different copies of getenv(): One in
sched/env_getenv.c and one in lib/lib_getenv(). Keep one.
Status: Open
Priority: Low
o File system / Generic drivers (fs/, drivers/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
o File system (fs/, drivers/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: Add chmod(), truncate().
Description: Implement chmod(), truncate().
Status: Open
Priority: Low
@@ -229,11 +219,28 @@ o File system (fs/, drivers/)
Status: Open
Priority: Medium
Description: The CAN driver is untested. Add a test for the CAN driver.
Status: Open
Priority: Medium
Description: There is no way to remove a FIFO or PIPE created in the
psuedo filesystem. Once created, they persist indefinitely
and cannot be unlinked. This is actually a more generic
issue: unlink does not work for anything in the psuedo-
filesystem.
Status: Open, but partially resolved: pipe buffer is at least freed
when there are not open references to the pipe/FIFO.
Priority: Medium
o Pascal Add-On (pcode/)
^^^^^^^^^^^^^^^^^^^^^^
Description: Need a test to verify execution of P-Code from files.
Need APIs to verify execution of P-Code from memory buffer.
Description: Need APIs to verify execution of P-Code from memory buffer.
Status: Open
Priority: Low
Description: Loader and object format may be too large for some small
memory systems. Consider ways to reduce memory footprint.
Status: Open
Priority: Medium
@@ -296,11 +303,6 @@ o ARM/DM320 (arch/arm/src/dm320/)
Status: Open
Priority: Medium
Description: UART re-configuration is untested and conditionally compiled out.
Status: Open
Priority: Medium. ttyS1 is not configured, but not used; ttyS0 is configured
by the bootloader
o ARM/LPC214x (arch/arm/src/lpc214x/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -347,16 +349,16 @@ o pjrc-8052 / MCS51 (arch/pjrc-8051/)
Status: Open
Priority: Low -- only because there as so many other issues with 8051
o z80 (arch/z80)
^^^^^^^^^^^^^^^
o z80/z8 (arch/z80)
^^^^^^^^^^^^^^^^^^
Description: The Has the same problems with interger overflow during compilation
as described for pjrc-8051. At typical cause is code like
Description: The SDCC version the same problems with interger overflow during
compilation as described for pjrc-8051. At typical cause is code like
usleep(500*1000) which exceeds the range of a 16-bit integer
Status: See pjrc-8051
Priority: See pjrc-8051
Description: The simulated serial console (configs/z80sim/src/z80_serial.c +
Description: The simulated Z80 serial console (configs/z80sim/src/z80_serial.c +
driver/serial.c) does not work. This is because there are
no interrupts in the simulation so there is never any serial
traffic.
@@ -364,6 +366,44 @@ o z80 (arch/z80)
Priority: Low -- the simulated console is not critical path and the designs
to solve the problem are complex.
Description: ZDS-II Librarian complains that the source for the .obj file
is not in the library.
Status: Open
Priority: Low, thought to be cosmetic. I think this is a consequence of
replacing vs. inserting the library.
Description: The ZDS-II compiler (version 4.10.1) fails with an internal error
while compiler mm/mm_initialize. This has been reported as
incident 81509.
I have found the following workaround that I use to build for the
time being:
--- mm/mm_initialize.c.SAVE 2008-02-13 08:06:46.833857700 -0600
+++ mm/mm_initialize.c 2008-02-13 08:07:26.367608900 -0600
@@ -94,8 +94,11 @@
{
int i;
+#if 0 /* DO NOT CHECK IN */
CHECK_ALLOCNODE_SIZE;
CHECK_FREENODE_SIZE;
+#endif
/* Set up global variables */
Status: Open
Priority: High
Description: Add support for prioritized ez8 interrupts. Currently logic supports
only nominal interrupt priority.
Status: Open
Priority: Low
Description: The z8Encore! port has only been verified on the ZDS-II instruction
set simulator.
Status: Open
Priority: Medium
o z16 (arch/z16)
^^^^^^^^^^^^^^^^
@@ -389,7 +429,66 @@ o z16 (arch/z16)
Priority: Medium-High
Description: At present, the z16f port does not run properly when CONFIG_DEBUG
is disabled. I have not determined the cause for this -- it
may be an issue with optimization?? Or clock setup??
is disabled: The obvious symptom is that there is no printf()
output. I have isolated with problem to errors in optimization.
With -reduceopt on the command line, I can get the printf output.
However, there are still errors in the compiled code -- specifically
in sched/timer_create.c.
I have submitted a bug report to ZiLOG for this (support incident
81400). You can see the status of the bug report (and lots more
technical detail) here:
http://support.zilog.com/support/incident/incident_support.asp?iIncidentId=81400&iSiteId=1&chLanguageCode=ENG
Summary of ZiLOG analysis: "This is a ZNEO compiler problem. ... [a] workaround
is to replace:
if ( !timerid || (clockid != 0) )
By:
if ((clockid != 0) || !timerid)"
Status: Open
Priority: Medium-High
Priority: Medium-High
Description: The pascal add-on does not work with the z16f (that is
configuration z16f2800100zcog/pashello). This appears to be
another ZDS-II error: when executing the instruction
SYSIO 0, WRITESTR a large case statement is executed. This
involves a call into the ZiLOG runtime library to __uwcase().
__uwcase is passed a pointer to a structure containing jump
information. The cause of the failure appears to be that
the referenced switch data is bad.
This is submited as ZiLOG support incident 81459.
Summary of ZiLOG analysis: "This is a ZNEO run time library problem.
One workaround is to replace the line 58 in uwcase.asm
From:
ADD R9,#4 ; Skip handler
To:
ADD R9,#2 ; Skip handler
And add uwcase.asm to the project.
If the customer does not want to modify uwcase.asm then the other
workaround is to add a dummy case and make it same as default:
case 0x8000:
default:
This will make sure that uwcase is not called but ulcase is called."
Status: Open. Due to licensing issues, I cannot include the modified
uwcase in the NuttX code base.
Priority: Medium
Description: Add support to maintain SPOV in context switching. This
improvement will provide protection against stack overflow
and make a safer system solution.
Status: Open
Priority: Low
Description: Add support for prioritized interrupts. Currently logic supports
only nominal interrupt priority.
Status: Open
Priority: Low

View File

@@ -123,13 +123,13 @@ src/Makefile
Supported Architectures
^^^^^^^^^^^^^^^^^^^^^^^
arch/sim
arch/sim - Linux simulation
A user-mode port of NuttX to the x86 Linux platform is available.
The purpose of this port is primarily to support OS feature developement.
The purpose of this port is primarily to support OS feature development.
This port does not support interrupts or a real timer (and hence no
round robin scheduler) Otherwise, it is complete.
arch/arm
arch/arm - ARM-based micro-controllers
This directory holds common ARM architectures. At present, this includes
the following subdirectories:
@@ -156,17 +156,36 @@ arch/m68322
A work in progress.
STATUS: Stalled for the moment.
arch/pjrc-8051
arch/pjrc-8051 - 8051/52 microcontrollers
8051 Microcontroller. This port is not quite ready for prime time.
arch/z16
ZiLog z16f Microcontroller.
STATUS: A work in progress
arch/z80
ZiLog z80 Microcontroller.
STATUS: Functional with no known defects. There are still several
OS features that have not yet been tested (e.g., networking).
arch/z16 - ZiLOG 16-bit processors
This directory holds related, 16-bit architectures from ZiLOG. At
present, this includes the following subdirectories:
arch/z16/include and arch/z16/common
Common microcontroller logic.
arch/z16/include/z16f and arch/z16/src/z16f
ZiLOG z16f Microcontroller.
STATUS: Released in nuttx-0.3.7. Fully functional other than issues
addressed in ${TOPDIR}/TODO.
arch/z80 - ZiLOG 8-bit microcontrollers
This directory holds related, 8-bit architectures from ZiLOG. At
present, this includes the following subdirectories:
arch/z80/include and arch/z80/common
Common microcontroller logic.
arch/z80/include/z80 and arch/z80/src/z80
Classic ZiLOG z80 Microcontroller.
STATUS: Functional with no known defects. There are still several
OS features that have not yet been tested (e.g., networking).
arch/z80/include/z8 and arch/z80/src/z8
ZiLOG Z8Encore! Microcontroller
This is a work in progress.
The following architecture directories are deprecated. They have been
replaced by the logic in arm/arm and will deleted at some point in the

View File

@@ -77,4 +77,3 @@ extern "C" {
#endif
#endif /* __ARCH_ARCH_H */

View File

@@ -189,7 +189,7 @@ static void _up_assert(int errorcode) /* __attribute__ ((noreturn)) */
void up_assert(const ubyte *filename, int lineno)
{
#if CONFIG_TASK_NAME_SIZE > 0
#if CONFIG_TASK_NAME_SIZE > 0 && defined(CONFIG_DEBUG)
_TCB *rtcb = (_TCB*)g_readytorun.head;
#endif
@@ -211,7 +211,7 @@ void up_assert(const ubyte *filename, int lineno)
void up_assert_code(const ubyte *filename, int lineno, int errorcode)
{
#if CONFIG_TASK_NAME_SIZE > 0
#if CONFIG_TASK_NAME_SIZE > 0 && defined(CONFIG_DEBUG)
_TCB *rtcb = (_TCB*)g_readytorun.head;
#endif

View File

@@ -49,11 +49,11 @@
* board bring-up and not part of normal platform configuration.
*/
#undef CONFIG_SUPPRESS_INTERRUPTS /* Do not enable interrupts */
#undef CONFIG_SUPPRESS_TIMER_INTS /* No timer */
#undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */
#define CONFIG_SUPPRESS_UART_CONFIG 1 /* Do not reconfig UART */
#undef CONFIG_DUMP_ON_EXIT /* Dump task state on exit */
#undef CONFIG_SUPPRESS_INTERRUPTS /* DEFINED: Do not enable interrupts */
#undef CONFIG_SUPPRESS_TIMER_INTS /* DEFINED: No timer */
#undef CONFIG_SUPPRESS_SERIAL_INTS /* DEFINED: Console will poll */
#undef CONFIG_SUPPRESS_UART_CONFIG /* DEFINED: Do not reconfig UART */
#undef CONFIG_DUMP_ON_EXIT /* DEFINED: Dump task state on exit */
/****************************************************************************
* Public Types

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* common/up_sigdeliver.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -47,23 +47,23 @@
#include "up_internal.h"
#include "up_arch.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Public Funtions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_sigdeliver
*
* Description:
@@ -72,7 +72,7 @@
* with and forced to branch to this location with interrupts
* disabled.
*
************************************************************/
****************************************************************************/
void up_sigdeliver(void)
{
@@ -86,7 +86,7 @@ void up_sigdeliver(void)
* the correct errno value (probably EINTR).
*/
int saved_errno = rtcb->errno;
int saved_errno = rtcb->pterrno;
up_ledon(LED_SIGNAL);
@@ -125,7 +125,7 @@ void up_sigdeliver(void)
*/
dbg("Resuming\n");
rtcb->errno = saved_errno;
rtcb->pterrno = saved_errno;
/* Then restore the correct state for this thread of
* execution.

View File

@@ -379,7 +379,7 @@ static int up_setup(struct uart_dev_s *dev)
/* Setup the new UART configuration */
up_serialout(priv,UART_MSR, priv->msr);
up_serialout(priv, UART_MSR, priv->msr);
up_serialout(priv, UART_BRSR, brsr);
up_enablebreaks(priv, FALSE);
#endif

View File

@@ -70,24 +70,28 @@
#define UART_DTRR_DTR_MASK 0x00ff /* Data transmit/receive */
/* UART BRSR register bit definitions */
/* The UART clock is half of the ARM clock */
/* The UART module is clocked by either the AHB clock or PLLIN / 16 */
#define UART_CLK (DM320_ARM_CLOCK / 2)
#ifdef CONFIG_DM320_UARTPPLIN
# define UART_REFCLK (27000000 / 16)
#else
# define UART_REFCLK (DM320_AHB_CLOCK / 16)
#endif
/* And baud rate = UART_CLK / 16 / (VALUE+1) */
/* And baud = UART_REFCLK / (brsr+1) */
#define UART_BAUD_2400 ((uint16)(((UART_CLK / 16) / 2400 ) - 1))
#define UART_BAUD_4800 ((uint16)(((UART_CLK / 16) / 4800 ) - 1))
#define UART_BAUD_9600 ((uint16)(((UART_CLK / 16) / 9600 ) - 1))
#define UART_BAUD_14400 ((uint16)(((UART_CLK / 16) / 14400 ) - 1))
#define UART_BAUD_19200 ((uint16)(((UART_CLK / 16) / 19200 ) - 1))
#define UART_BAUD_28800 ((uint16)(((UART_CLK / 16) / 28800 ) - 1))
#define UART_BAUD_38400 ((uint16)(((UART_CLK / 16) / 38400 ) - 1))
#define UART_BAUD_57600 ((uint16)(((UART_CLK / 16) / 57600 ) - 1))
#define UART_BAUD_115200 ((uint16)(((UART_CLK / 16) / 115200) - 1))
#define UART_BAUD_230400 ((uint16)(((UART_CLK / 16) / 230400) - 1))
#define UART_BAUD_460800 ((uint16)(((UART_CLK / 16) / 460800) - 1))
#define UART_BAUD_921600 ((uint16)(((UART_CLK / 16) / 921600) - 1))
#define UART_BAUD_2400 ((uint16)((UART_REFCLK / 2400 ) - 1))
#define UART_BAUD_4800 ((uint16)((UART_REFCLK / 4800 ) - 1))
#define UART_BAUD_9600 ((uint16)((UART_REFCLK / 9600 ) - 1))
#define UART_BAUD_14400 ((uint16)((UART_REFCLK / 14400 ) - 1))
#define UART_BAUD_19200 ((uint16)((UART_REFCLK / 19200 ) - 1))
#define UART_BAUD_28800 ((uint16)((UART_REFCLK / 28800 ) - 1))
#define UART_BAUD_38400 ((uint16)((UART_REFCLK / 38400 ) - 1))
#define UART_BAUD_57600 ((uint16)((UART_REFCLK / 57600 ) - 1))
#define UART_BAUD_115200 ((uint16)((UART_REFCLK / 115200) - 1))
#define UART_BAUD_230400 ((uint16)((UART_REFCLK / 230400) - 1))
#define UART_BAUD_460800 ((uint16)((UART_REFCLK / 460800) - 1))
#define UART_BAUD_921600 ((uint16)((UART_REFCLK / 921600) - 1))
/* UART MSR register bit definitions */

View File

@@ -45,24 +45,27 @@ CSRCS = up_initialize.c up_idle.c up_interruptcontext.c \
up_releasepending.c up_reprioritizertr.c \
up_exit.c up_schedulesigaction.c up_allocateheap.c \
up_devconsole.c
HOSTSRCS = up_stdio.c
ifeq ($(CONFIG_FS_FAT),y)
CSRCS += up_blockdevice.c up_deviceimage.c
endif
ifeq ($(CONFIG_NET),y)
CSRCS += up_uipdriver.c
SPECSRCS += up_tapdev.c
HOSTSRCS += up_tapdev.c
endif
COBJS = $(CSRCS:.c=$(OBJEXT))
SPECOBJS = $(SPECSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS) $(SPECSRCS)
OBJS = $(AOBJS) $(COBJS) $(SPECOBJS)
NXOBJS = $(AOBJS) $(COBJS)
HOSTOBJS = $(HOSTSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS) $(HOSTSRCS)
OBJS = $(AOBJS) $(COBJS) $(HOSTOBJS)
LDFLAGS = $(ARCHSCRIPT)
EXTRA_LIBS = -lc
STDLIBS = -lc
ifeq ($(CONFIG_FS_FAT),y)
EXTRA_LIBS += -lz
STDLIBS += -lz
endif
LINKOBJS = up_head$(OBJEXT)
@@ -78,21 +81,43 @@ $(AOBJS): %$(OBJEXT): %.S
$(COBJS) $(LINKOBJS): %$(OBJEXT): %.c
$(call COMPILE, $<, $@)
$(SPECOBJS): %$(OBJEXT): %.c
$(CC) -c $(HOSTCFLAGS) $< -o $@
$(HOSTOBJS): %$(OBJEXT): %.c
@echo "CC: $<"
@$(CC) -c $(HOSTCFLAGS) $< -o $@
libarch$(LIBEXT): $(OBJS)
@( for obj in $(OBJS) ; do \
# The architecture-specific library
libarch$(LIBEXT): $(NXOBJS)
@( for obj in $(NXOBJS) ; do \
$(call ARCHIVE, $@, $${obj}); \
done ; )
nuttx$(EXEEXT): $(LINKOBJS)
# A partially linked object containing only NuttX code (no interface to host OS)
# Change the names of most symbols that conflict with libc symbols.
GNU:
@mkdir ./GNU
GNU/Linux-names.dat: GNU nuttx-names.dat
@cp nuttx-names.dat $@
Cygwin-names.dat: nuttx-names.dat
@cat $^ | sed -e "s/^/_/g" >$@
nuttx.rel : libarch$(LIBEXT) $(HOSTOS)-names.dat $(LINKOBJS)
@echo "LD: nuttx.rel"
@$(LD) -r $(LDFLAGS) $(LDPATHES) -o $@ $(LINKOBJS) --start-group $(LDLIBS) --end-group $(EXTRA_LIBS)
@$(OBJCOPY) --redefine-syms=$(HOSTOS)-names.dat $@
# Generate the final NuttX binary by linking the host-specific objects with the NuttX
# specific objects (with munged names)
nuttx$(EXEEXT): nuttx.rel $(HOSTOBJS)
@echo "LD: nuttx$(EXEEXT)"
@$(CC) $(LDFLAGS) $(LDPATHES) -o $(TOPDIR)/$@ $(LINKOBJS) \
-Wl,--start-group $(LDLIBS) -Wl,--end-group $(EXTRA_LIBS)
@$(CC) $(LDFLAGS) $(LDPATHES) -o $(TOPDIR)/$@ nuttx.rel $(HOSTOBJS) $(STDLIBS)
@$(NM) $(TOPDIR)/$@ | \
grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
sort > $(TOPDIR)/System.map
@rm -f nuttx.rel
.depend: Makefile $(SRCS)
@$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@@ -101,10 +126,12 @@ nuttx$(EXEEXT): $(LINKOBJS)
depend: .depend
clean:
@rm -f libarch$(LIBEXT) *~ .*.swp
@rm -f nuttx.rel libarch$(LIBEXT) *~ .*.swp
@rm -f nuttx.rel GNU/Linux-names.dat Cygwin-names.dat
$(call CLEAN)
distclean: clean
@rm -f Make.dep .depend
@rm -rf GNU
-include Make.dep

View File

@@ -0,0 +1,34 @@
calloc NXcalloc
close NXclose
closedir NXclosedir
dup NXdup
free NXfree
fclose NXfclose
fopen NXfopen
fputc NXfputc
fread NXfread
fwrite NXfwrite
fsync NXfsync
gettimeofday NXgettimeofday
ioctl NXioctl
lseek NXlseek
malloc NXmalloc
malloc_init NXmalloc_init
mkdir NXmkdir
mount NXmount
open NXopen
opendir NXopendir
read NXread
realloc NXrealloc
rewinddir NXrewinddir
rmdir NXrmdir
seekdir NXseekdir
select NXselect
socket NXsocket
stat NXstat
statfs NXstatfs
system NXsystem
umount NXumount
unlink NXunlink
write NXwrite
zmalloc NXzmalloc

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_allocateheap.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -45,25 +45,25 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
static ubyte sim_heap[SIM_HEAP_SIZE];
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_allocate_heap
*
* Description:
@@ -72,7 +72,7 @@ static ubyte sim_heap[SIM_HEAP_SIZE];
* are not defined, then this function will be called to
* dynamically set aside the heap region.
*
************************************************************/
****************************************************************************/
void up_allocate_heap(void **heap_start, size_t *heap_size)
{

View File

@@ -1,7 +1,7 @@
/****************************************************************************
* up_blockdevice.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -38,11 +38,13 @@
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <string.h>
#include <nuttx/fs.h>
#include <errno.h>
#include <nuttx/ramdisk.h>
#include "up_internal.h"
/****************************************************************************
@@ -60,128 +62,14 @@
* Private Function Prototypes
****************************************************************************/
static int up_open(FAR struct inode *inode);
static int up_close(FAR struct inode *inode);
static ssize_t up_read(FAR struct inode *inode, unsigned char *buffer,
size_t start_sector, unsigned int nsectors);
static ssize_t up_write(FAR struct inode *inode, const unsigned char *buffer,
size_t start_sector, unsigned int nsectors);
static int up_geometry(FAR struct inode *inode, struct geometry *geometry);
/****************************************************************************
* Private Data
****************************************************************************/
static const struct block_operations g_bops =
{
.open = up_open,
.close = up_close,
.read = up_read,
.write = up_write,
.geometry = up_geometry,
};
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Name: up_open
*
* Description: Open the block device
*
****************************************************************************/
static int up_open(FAR struct inode *inode)
{
return OK;
}
/****************************************************************************
* Name: up_closel
*
* Description: close the block device
*
****************************************************************************/
static int up_close(FAR struct inode *inode)
{
return OK;
}
/****************************************************************************
* Name: up_read
*
* Description: Read the specified numer of sectors
*
****************************************************************************/
static ssize_t up_read(FAR struct inode *inode, unsigned char *buffer,
size_t start_sector, unsigned int nsectors)
{
if (inode)
{
char *src = inode->i_private;
if (src &&
start_sector < NSECTORS &&
start_sector + nsectors < NSECTORS)
{
memcpy(buffer,
&src[start_sector*LOGICAL_SECTOR_SIZE],
nsectors*LOGICAL_SECTOR_SIZE);
return nsectors;
}
}
return -EINVAL;
}
/****************************************************************************
* Name: up_write
*
* Description: Write the specified number of sectors
*
****************************************************************************/
static ssize_t up_write(FAR struct inode *inode, const unsigned char *buffer,
size_t start_sector, unsigned int nsectors)
{
if (inode)
{
char *dest = inode->i_private;
if (dest &&
start_sector < NSECTORS &&
start_sector + nsectors < NSECTORS)
{
memcpy(&dest[start_sector*LOGICAL_SECTOR_SIZE],
buffer,
nsectors*LOGICAL_SECTOR_SIZE);
return nsectors;
}
}
return -EINVAL;
}
/****************************************************************************
* Name: up_geometry
*
* Description: Return device geometry
*
****************************************************************************/
static int up_geometry(FAR struct inode *inode, struct geometry *geometry)
{
if (geometry)
{
geometry->geo_available = (inode->i_private != NULL);
geometry->geo_mediachanged = FALSE;
geometry->geo_writeenabled = TRUE;
geometry->geo_nsectors = NSECTORS;
geometry->geo_sectorsize = LOGICAL_SECTOR_SIZE;
return OK;
}
return -EINVAL;
}
/****************************************************************************
* Public Functions
****************************************************************************/
@@ -189,13 +77,11 @@ static int up_geometry(FAR struct inode *inode, struct geometry *geometry)
/****************************************************************************
* Name: up_registerblockdevice
*
* Description: Register the simulated block device
* Description: Register the FAT ramdisk
*
****************************************************************************/
void up_registerblockdevice(void)
{
/* Inode private data is a filesystem image */
void *priv = (void*)up_deviceimage();
(void)register_blockdriver("/dev/blkdev", &g_bops, 0, priv);
rd_register(0, (ubyte*)up_deviceimage(), NSECTORS, LOGICAL_SECTOR_SIZE, TRUE);
}

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_blocktask.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_block_task
*
* Description:
@@ -79,7 +79,7 @@
* task_state: Specifies which waiting task list should be
* hold the blocked task TCB.
*
************************************************************/
****************************************************************************/
void up_block_task(_TCB *tcb, tstate_t task_state)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_createstack.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -43,23 +43,23 @@
#include <nuttx/kmalloc.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_create_stack
*
* Description:
@@ -79,7 +79,7 @@
* stack_size: The requested stack size. At least this much
* must be allocated.
*
************************************************************/
****************************************************************************/
STATUS up_create_stack(_TCB *tcb, size_t stack_size)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_devconsole.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,43 +31,32 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
#if !defined(linux) && !defined(__CYGWIN__)
# error "Sorry, this will only work with Linux"
#else
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <stdio.h>
#include <errno.h>
#include <nuttx/fs.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Definitions
************************************************************/
****************************************************************************/
#define READ 3
#define WRITE 4
/************************************************************
/****************************************************************************
* Private Function Prototypes
************************************************************/
****************************************************************************/
static ssize_t devconsole_read(struct file *, char *, size_t);
static ssize_t devconsole_write(struct file *, const char *, size_t);
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
static struct file_operations devconsole_fops =
{
@@ -75,69 +64,26 @@ static struct file_operations devconsole_fops =
.write = devconsole_write,
};
/************************************************************
/****************************************************************************
* Private Functions
************************************************************/
****************************************************************************/
static inline int up_read(int fd, void* buf, size_t count)
static ssize_t devconsole_read(struct file *filp, char *buffer, size_t len)
{
uint32 result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (READ), "b" ((uint32)(fd)), "c" ((uint32)(buf)), "d" ((uint32)(count)) \
: "memory");
return (int)result;
}
static inline int up_write(int fd, const void* buf, size_t count)
{
uint32 result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (WRITE), "b" ((uint32)(fd)), "c" ((uint32)(buf)), "d" ((uint32)(count)) \
: "memory");
return (int)result;
}
static inline int up_check_result(int result)
{
if (result >= (uint32)(-(128 + 1)))
{
*get_errno_ptr() = -result;
result = ERROR;
}
return result;
}
static ssize_t devconsole_read(struct file *filp, char *buffer, size_t len)
{
return up_check_result(up_read(1, buffer, len));
return up_hostread(buffer, len);
}
static ssize_t devconsole_write(struct file *filp, const char *buffer, size_t len)
{
return up_check_result(up_write(1, buffer, len));
return up_hostwrite(buffer, len);
}
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
void up_devconsole(void)
{
(void)register_driver("/dev/console", &devconsole_fops, 0666, NULL);
}
int up_putc(int ch)
{
char b = ch;
(void)up_write(1, &b, 1);
return ch;
}
#endif /* linux */

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_head.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <sys/types.h>
#include <stdio.h>
@@ -45,15 +45,15 @@
#include <nuttx/init.h>
#include <nuttx/arch.h>
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
static jmp_buf sim_abort;
/************************************************************
* Global Funtions
************************************************************/
/****************************************************************************
* Global Functions
****************************************************************************/
int main(int argc, char **argv, char **envp)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_idle.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -31,34 +31,34 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <nuttx/arch.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_idle
*
* Description:
@@ -71,7 +71,7 @@
* this is where power management operations might be
* performed.
*
************************************************************/
****************************************************************************/
void up_idle(void)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_initialize.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,35 +31,36 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <nuttx/arch.h>
#include <nuttx/fs.h>
#include <debug.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_initialize
*
* Description:
@@ -77,15 +78,24 @@
* libraries have been initialized. OS services and driver
* services are available.
*
************************************************************/
****************************************************************************/
void up_initialize(void)
{
/* The real purpose of the following is to make sure that lib_rawprintf
* is drawn into the link. It is needed by up_tapdev which is linked
* separately.
*/
#ifdef CONFIG_NET
lib_rawprintf("SIM: Initializing");
#endif
/* Register devices */
devnull_register(); /* Standard /dev/null */
up_devconsole(); /* Our private /dev/console */
up_registerblockdevice(); /* Our simulated block device /dev/blkdev */
up_registerblockdevice(); /* Our FAT ramdisk at /dev/ram0 */
#if defined(CONFIG_NET) && defined(linux)
uipdriver_init(); /* Our "real" netwok driver */
#endif

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_initialstate.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -43,23 +43,23 @@
#include <nuttx/arch.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_initial_state
*
* Description:
@@ -71,7 +71,7 @@
* and/or stack so that execution will begin at tcb->start
* on the next context switch.
*
************************************************************/
****************************************************************************/
void up_initial_state(_TCB *tcb)
{

View File

@@ -107,6 +107,11 @@ extern void up_registerblockdevice(void);
extern char *up_deviceimage(void);
/* up_stdio.c *************************************************************/
extern size_t up_hostread(void *buffer, size_t len);
extern size_t up_hostwrite(const void *buffer, size_t len);
/* up_tapdev.c ************************************************************/
#ifdef CONFIG_NET

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_interruptcontext.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,40 +31,40 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <nuttx/arch.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_interrupt_context
*
* Description:
* Return TRUE is we are currently executing in
* the interrupt handler context.
************************************************************/
****************************************************************************/
boolean up_interrupt_context(void)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_releasepending.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_release_pending
*
* Description:
@@ -70,7 +70,7 @@
* context switch if a new task is placed at the head of
* the ready to run list.
*
************************************************************/
****************************************************************************/
void up_release_pending(void)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_releasestack.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -43,30 +43,30 @@
#include <nuttx/arch.h>
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_release_stack
*
* Description:
* A task has been stopped. Free all stack
* related resources retained int the defunct TCB.
*
************************************************************/
****************************************************************************/
void up_release_stack(_TCB *dtcb)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_reprioritizertr.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_reprioritize_rtr
*
* Description:
@@ -79,7 +79,7 @@
* tcb: The TCB of the task that has been reprioritized
* priority: The new task priority
*
************************************************************/
****************************************************************************/
void up_reprioritize_rtr(_TCB *tcb, ubyte priority)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_schedulesigaction.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -45,23 +45,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_schedule_sigaction
*
* Description:
@@ -92,7 +92,7 @@
* currently executing task -- just call the signal
* handler now.
*
************************************************************/
****************************************************************************/
void up_schedule_sigaction(_TCB *tcb, sig_deliver_t sigdeliver)
{

82
arch/sim/src/up_stdio.c Normal file
View File

@@ -0,0 +1,82 @@
/****************************************************************************
* up_stdio.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* 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 <stdio.h>
/****************************************************************************
* Definitions
****************************************************************************/
/****************************************************************************
* Private Function Prototypes
****************************************************************************/
/****************************************************************************
* Private Data
****************************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
size_t up_hostread(void *buffer, size_t len)
{
/* Just map to the host fread() */
return fread(buffer, 1, len, stdin);
}
size_t up_hostwrite(const void *buffer, size_t len)
{
/* Just map to the host fwrite() */
return fwrite(buffer, 1, len, stdout);
}
int up_putc(int ch)
{
/* Just map to the host fputc routine */
return fputc(ch, stdout);
}

View File

@@ -2,7 +2,7 @@
/****************************************************************************
* up_tapdev.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Based on code from uIP which also has a BSD-like license:
@@ -84,13 +84,6 @@ extern int lib_rawprintf(const char *format, ...);
# define UIP_IPADDR3 0
#endif
#define READ 3
#define WRITE 4
#define OPEN 5
#define IOCTL 54
#define SELECT 82
#define SOCKETCALL 102
/****************************************************************************
* Private Types
****************************************************************************/
@@ -123,93 +116,6 @@ static int gtapdevfd;
* Private Functions
****************************************************************************/
/* This is REALLY awkward.. we need to compile using the system header files,
* but we can't use any of the libc calls because all of the symbols are
* defined for NuttX (read, write, etc)! So we do hand rolled syscalls
* to get to the Linux functions.
*/
static inline int up_open(const char *filename, int flags, int mode)
{
int result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (OPEN), "b" ((int)(filename)), "c" ((int)(flags)), "d" ((int)(mode)) \
: "memory");
return (int)result;
}
static inline int up_socketcall(int call, unsigned long *args)
{
int result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (SOCKETCALL), "b" (call), "c" ((int)args) \
: "memory");
return (int)result;
}
static inline int up_socket(int domain, int type, int protocol)
{
unsigned long args[3];
args[0] = domain;
args[1] = type;
args[2] = protocol;
return up_socketcall(SYS_SOCKET, args);
}
static inline int up_read(int fd, void* buf, size_t count)
{
ssize_t result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (READ), "b" ((int)(fd)), "c" ((int)(buf)), "d" ((int)(count)) \
: "memory");
return (int)result;
}
static inline int up_write(int fd, const void* buf, size_t count)
{
ssize_t result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (WRITE), "b" ((int)(fd)), "c" ((int)(buf)), "d" ((int)(count)) \
: "memory");
return (int)result;
}
static inline int up_ioctl(int fd, unsigned int cmd, unsigned long arg)
{
ssize_t result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (IOCTL), "b" ((int)(fd)), "c" ((int)(cmd)), "d" ((long)(arg)) \
: "memory");
return (int)result;
}
static inline int up_select(struct sel_arg_struct *arg)
{
ssize_t result;
__asm__ volatile ("int $0x80" \
: "=a" (result) \
: "0" (SELECT),"b" ((struct sel_arg_struct *)(arg))
: "memory");
return (int)result;
}
#ifdef TAPDEV_DEBUG
static inline void dump_ethhdr(const char *msg, unsigned char *buf, int buflen)
{
@@ -246,7 +152,7 @@ void tapdev_init(void)
/* Open the tap device */
gtapdevfd = up_open(DEVTAP, O_RDWR, 0644);
gtapdevfd = open(DEVTAP, O_RDWR, 0644);
if (gtapdevfd < 0)
{
lib_rawprintf("TAPDEV: open failed: %d\n", -gtapdevfd );
@@ -257,7 +163,7 @@ void tapdev_init(void)
memset(&ifr, 0, sizeof(ifr));
ifr.ifr_flags = IFF_TAP|IFF_NO_PI;
ret = up_ioctl(gtapdevfd, TUNSETIFF, (unsigned long) &ifr);
ret = ioctl(gtapdevfd, TUNSETIFF, (unsigned long) &ifr);
if (ret < 0)
{
lib_rawprintf("TAPDEV: ioctl failed: %d\n", -ret );
@@ -278,7 +184,7 @@ int tapdev_getmacaddr(unsigned char *macaddr)
{
/* Get a socket (only so that we get access to the INET subsystem) */
int sockfd = up_socket(PF_INET, SOCK_DGRAM, 0);
int sockfd = socket(PF_INET, SOCK_DGRAM, 0);
if (sockfd >= 0)
{
struct ifreq req;
@@ -290,7 +196,7 @@ int tapdev_getmacaddr(unsigned char *macaddr)
/* Perform the ioctl to get the MAC address */
ret = up_ioctl(sockfd, SIOCGIFHWADDR, (unsigned long)&req);
ret = ioctl(sockfd, SIOCGIFHWADDR, (unsigned long)&req);
if (!ret)
{
/* Return the MAC address */
@@ -304,7 +210,6 @@ int tapdev_getmacaddr(unsigned char *macaddr)
unsigned int tapdev_read(unsigned char *buf, unsigned int buflen)
{
struct sel_arg_struct arg;
fd_set fdset;
struct timeval tv;
int ret;
@@ -324,19 +229,13 @@ unsigned int tapdev_read(unsigned char *buf, unsigned int buflen)
FD_ZERO(&fdset);
FD_SET(gtapdevfd, &fdset);
arg.n = gtapdevfd + 1;
arg.inp = &fdset;
arg.outp = NULL;
arg.exp = NULL;
arg.tvp = &tv;
ret = up_select(&arg);
ret = select(gtapdevfd + 1, &fdset, NULL, NULL, &tv);
if(ret == 0)
{
return 0;
}
ret = up_read(gtapdevfd, buf, buflen);
ret = read(gtapdevfd, buf, buflen);
if (ret < 0)
{
lib_rawprintf("TAPDEV: read failed: %d\n", -ret);
@@ -361,7 +260,7 @@ void tapdev_send(unsigned char *buf, unsigned int buflen)
}
#endif
ret = up_write(gtapdevfd, buf, buflen);
ret = write(gtapdevfd, buf, buflen);
if (ret < 0)
{
lib_rawprintf("TAPDEV: write failed: %d", -ret);

View File

@@ -138,8 +138,6 @@ static int sim_uiptxpoll(struct uip_driver_s *dev)
void uipdriver_loop(void)
{
int i;
/* tapdev_read will return 0 on a timeout event and >0 on a data received event */
g_sim_dev.d_len = tapdev_read((unsigned char*)g_sim_dev.d_buf, CONFIG_NET_BUFSIZE);

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_unblocktask.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -46,23 +46,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_unblock_task
*
* Description:
@@ -76,7 +76,7 @@
* the ready-to-run list and, if it is the highest priority
* ready to run taks, executed.
*
************************************************************/
****************************************************************************/
void up_unblock_task(_TCB *tcb)
{

View File

@@ -1,7 +1,7 @@
/************************************************************
/****************************************************************************
* up_usestack.c
*
* Copyright (C) 2007 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name Gregory Nutt nor the names of its contributors may be
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -31,11 +31,11 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Included Files
************************************************************/
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
@@ -44,23 +44,23 @@
#include "os_internal.h"
#include "up_internal.h"
/************************************************************
/****************************************************************************
* Private Definitions
************************************************************/
****************************************************************************/
/************************************************************
/****************************************************************************
* Private Data
************************************************************/
****************************************************************************/
/************************************************************
* Private Funtions
************************************************************/
/****************************************************************************
* Private Functions
****************************************************************************/
/************************************************************
* Public Funtions
************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/************************************************************
/****************************************************************************
* Name: up_use_stack
*
* Description:
@@ -79,7 +79,7 @@
* tcb: The TCB of new task
* stack_size: The allocated stack size.
*
************************************************************/
****************************************************************************/
STATUS up_use_stack(_TCB *tcb, void *stack, size_t stack_size)
{

View File

@@ -103,11 +103,13 @@ ifeq ($(COMPILER),zneocc.exe)
nuttx.linkcmd: $(LINKCMDTEMPLATE)
@cp -f $(LINKCMDTEMPLATE) nuttx.linkcmd
@echo "\"${shell cygpath -w $(TOPDIR)/nuttx}\"= \\" >>nuttx.linkcmd
@echo " ${shell cygpath -w $(ARCHSRCDIR)/$(HEAD_AOBJ)}, \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ARCHSRCDIR)/$(HEAD_AOBJ)}\", \\" >>nuttx.linkcmd
@( for lib in $(LINKLIBS); do \
echo " `cygpath -w $(TOPDIR)/$${lib}`, \\" >>nuttx.linkcmd; \
echo " \"`cygpath -w $(TOPDIR)/$${lib}`\", \\" >>nuttx.linkcmd; \
done ; )
@echo " ${shell cygpath -w $(ARCHSRCDIR)/board/libboard$(LIBEXT)}" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ARCHSRCDIR)/board/libboard$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/chelpld$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/fpld$(LIBEXT)}\"" >>nuttx.linkcmd
else
nuttx.linkcmd:
endif

View File

@@ -108,7 +108,11 @@ static void _up_assert(int errorcode) /* __attribute__ ((noreturn)) */
* Name: up_assert
****************************************************************************/
#ifdef CONFIG_HAVE_FILENAME
void up_assert(const ubyte *filename, int lineno)
#else
void up_assert(void)
#endif
{
#if CONFIG_TASK_NAME_SIZE > 0
_TCB *rtcb = (_TCB*)g_readytorun.head;
@@ -116,10 +120,20 @@ void up_assert(void)
up_ledon(LED_ASSERTION);
#ifdef CONFIG_HAVE_FILENAME
#if CONFIG_TASK_NAME_SIZE > 0
lldbg("Assertion failed in task: %s\n", rtcb->name);
lldbg("Assertion failed at file:%s line: %d task: %s\n",
filename, lineno, rtcb->name);
#else
lldbg("Assertion failed at file:%s line: %d\n",
filename, lineno);
#endif
#else
#if CONFIG_TASK_NAME_SIZE > 0
lldbg("Assertion failed: task: %s\n", rtcb->name);
#else
lldbg("Assertion failed\n");
#endif
#endif
up_stackdump();
@@ -131,7 +145,11 @@ void up_assert(void)
* Name: up_assert_code
****************************************************************************/
#ifdef CONFIG_HAVE_FILENAME
void up_assert_code(const ubyte *filename, int lineno, int errorcode)
#else
void up_assert_code(int errorcode)
#endif
{
#if CONFIG_TASK_NAME_SIZE > 0
_TCB *rtcb = (_TCB*)g_readytorun.head;
@@ -139,10 +157,20 @@ void up_assert_code(int errorcode)
up_ledon(LED_ASSERTION);
#ifdef CONFIG_HAVE_FILENAME
#if CONFIG_TASK_NAME_SIZE > 0
lldbg("Assertion failed in task: %s error code: %d\n", rtcb->name, errorcode);
lldbg("Assertion failed at file:%s line: %d task: %s error code: %d\n",
filename, lineno, rtcb->name, errorcode);
#else
lldbg("Assertion failed: %d error code: %d\n", errorcode);
lldbg("Assertion failed at file:%s line: %d error code: %d\n",
filename, lineno, errorcode);
#endif
#else
#if CONFIG_TASK_NAME_SIZE > 0
lldbg("Assertion failed: task: %s error code: %d\n", rtcb->name, errorcode);
#else
lldbg("Assertion failed: error code: %d\n", errorcode);
#endif
#endif
up_stackdump();

View File

@@ -152,7 +152,7 @@ void _exit(int status)
(void)irqsave();
lldbg("TCB=%p exitting\n", tcb);
slldbg("TCB=%p exitting\n", tcb);
#if defined(CONFIG_DUMP_ON_EXIT) && defined(CONFIG_DEBUG)
lldbg("Other tasks:\n");
@@ -168,7 +168,7 @@ void _exit(int status)
*/
tcb = (FAR _TCB*)g_readytorun.head;
lldbg("New Active Task TCB=%p\n", tcb);
slldbg("New Active Task TCB=%p\n", tcb);
/* Then switch contexts */

View File

@@ -57,16 +57,18 @@
#undef CONFIG_SUPPRESS_SERIAL_INTS /* Console will poll */
#undef CONFIG_SUPPRESS_UART_CONFIG /* Do not reconfig UART */
#undef CONFIG_DUMP_ON_EXIT /* Dump task state on exit */
#undef CONFIG_Z16_LOWPUTC /* Support up_lowputc for debug */
#undef CONFIG_Z16_LOWGETC /* support up_lowgetc for debug */
/* Determine which (if any) console driver to use */
#if defined(CONFIG_ARCH_LOWPUTC) || defined(CONFIG_ARCH_LOWGETC) || \
#if defined(CONFIG_Z16_LOWPUTC) || defined(CONFIG_Z16_LOWGETC) || \
CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE)
# define CONFIG_USE_LOWCONSOLE 1
# define CONFIG_USE_LOWUARTINIT 1
# define CONFIG_USE_LOWCONSOLE 1
# define CONFIG_USE_LOWUARTINIT 1
#elif defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0
# define CONFIG_USE_SERIALDRIVER 1
# define CONFIG_USE_EARLYSERIALINIT 1
# define CONFIG_USE_SERIALDRIVER 1
# define CONFIG_USE_EARLYSERIALINIT 1
#endif
/* Macros for portability */
@@ -115,7 +117,7 @@ extern int up_saveusercontext(FAR chipreg_t *regs);
extern void up_sigdeliver(void);
extern int up_timerisr(int irq, FAR chipreg_t *regs);
#if defined(CONFIG_ARCH_LOWPUTC) || defined(CONFIG_ARCH_LOWGETC)
#if defined(CONFIG_Z16_LOWPUTC) || defined(CONFIG_Z16_LOWGETC)
extern void up_lowputc(char ch);
#else
# define up_lowputc(ch)

View File

@@ -80,7 +80,7 @@ void up_release_pending(void)
{
FAR _TCB *rtcb = (FAR _TCB*)g_readytorun.head;
lldbg("From TCB=%p\n", rtcb);
slldbg("From TCB=%p\n", rtcb);
/* Merge the g_pendingtasks list into the g_readytorun task list */
@@ -105,7 +105,7 @@ void up_release_pending(void)
*/
rtcb = (FAR _TCB*)g_readytorun.head;
lldbg("New Active Task TCB=%p\n", rtcb);
slldbg("New Active Task TCB=%p\n", rtcb);
/* Then setup so that the context will be performed on exit
* from the interrupt.
@@ -127,7 +127,7 @@ void up_release_pending(void)
*/
rtcb = (FAR _TCB*)g_readytorun.head;
lldbg("New Active Task TCB=%p\n", rtcb);
slldbg("New Active Task TCB=%p\n", rtcb);
/* Then switch contexts */

View File

@@ -101,7 +101,7 @@ void up_reprioritize_rtr(FAR _TCB *tcb, ubyte priority)
FAR _TCB *rtcb = (FAR _TCB*)g_readytorun.head;
boolean switch_needed;
lldbg("TCB=%p PRI=%d\n", tcb, priority);
slldbg("TCB=%p PRI=%d\n", tcb, priority);
/* Remove the tcb task from the ready-to-run list.
* sched_removereadytorun will return TRUE if we just
@@ -153,7 +153,7 @@ void up_reprioritize_rtr(FAR _TCB *tcb, ubyte priority)
*/
rtcb = (FAR _TCB*)g_readytorun.head;
lldbg("New Active Task TCB=%p\n", rtcb);
slldbg("New Active Task TCB=%p\n", rtcb);
/* Then setup so that the context will be performed on exit
* from the interrupt.
@@ -174,7 +174,7 @@ void up_reprioritize_rtr(FAR _TCB *tcb, ubyte priority)
*/
rtcb = (FAR _TCB*)g_readytorun.head;
lldbg("New Active Task TCB=%p\n", rtcb);
slldbg("New Active Task TCB=%p\n", rtcb);
/* Then switch contexts */

View File

@@ -91,7 +91,7 @@ void up_sigdeliver(void)
* EINTR).
*/
int saved_errno = rtcb->errno;
int saved_errno = rtcb->pterrno;
up_ledon(LED_SIGNAL);
@@ -131,7 +131,7 @@ void up_sigdeliver(void)
*/
dbg("Resuming\n");
rtcb->errno = saved_errno;
rtcb->pterrno = saved_errno;
/* Then restore the correct state for this thread of
* execution.

View File

@@ -43,6 +43,7 @@
#include <nuttx/config.h>
#include <arch/irq.h>
#include "common/up_internal.h"
/************************************************************************************
* Definitions
@@ -543,7 +544,7 @@ extern "C" {
*/
EXTERN void z16f_lowinit(void);
#if defined(CONFIG_ARCH_LOWPUTC) || defined(CONFIG_ARCH_LOWGETC)
#if defined(CONFIG_Z16_LOWPUTC) || defined(CONFIG_Z16_LOWGETC)
EXTERN void z16f_lowuartinit(void);
#endif

View File

@@ -40,6 +40,7 @@
#include <nuttx/config.h>
#include <sys/types.h>
#include <nuttx/irq.h>
#include <arch/irq.h>
@@ -109,7 +110,8 @@ void up_disable_irq(int irq)
if (irq >= Z16F_IRQ_IRQ0)
{
/* Disable the interrupt by clearing the corresponding bit in the
* appropriate IRQ enable register.
* appropriate IRQ enable high register. The enable low
* register is assumed to be zero, resulting interrupt disabled.
*/
if (irq < Z16F_IRQ_IRQ1)
@@ -142,7 +144,9 @@ void up_enable_irq(int irq)
if (irq >= Z16F_IRQ_IRQ0)
{
/* Enable the interrupt by setting the corresponding bit in the
* appropriate IRQ enable register.
* appropriate IRQ enable register. The enable low
* register is assumed to be zero, resulting in "nomimal" interrupt
* priority.
*/
if (irq < Z16F_IRQ_IRQ1)

View File

@@ -50,10 +50,10 @@
xdef _z16f_lowuartinit
xref _SYS_CLK_FREQ:EROM
#ifdef CONFIG_ARCH_LOWPUTC
#ifdef CONFIG_Z16_LOWPUTC
xdef _up_lowputc
#endif
#ifdef CONFIG_ARCH_LOWGETC
#ifdef CONFIG_Z16_LOWGETC
xdef _up_lowgetc
#endif
@@ -139,7 +139,7 @@ _z16f_lowuartinit:
*
*************************************************************************/
#ifdef CONFIG_ARCH_LOWPUTC
#ifdef CONFIG_Z16_LOWPUTC
_up_lowputc:
/* Check if the character to output is a linefeed */
@@ -184,7 +184,7 @@ _z16f_xmitc1:
#endif
ret /* Return */
#endif /* CONFIG_ARCH_LOWPUTC */
#endif /* CONFIG_Z16_LOWPUTC */
/*************************************************************************
* Name: _up_lowgetc
@@ -200,7 +200,7 @@ _z16f_xmitc1:
*
*************************************************************************/
#ifdef CONFIG_ARCH_LOWGETC
#ifdef CONFIG_Z16_LOWGETC
_up_lowgetc:
_up_lowgetc1:
ld r0, #Z16F_UARTSTAT0_RDA /* RDA=Receive data available */

View File

@@ -0,0 +1,77 @@
/****************************************************************************
* arch/ez80/arch.h
* arch/chip/arch.h
*
* Copyright (C) 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
/* This file should never be included directed but, rather,
* only indirectly through nuttx/arch.h (via arch/arch.h)
*/
#ifndef __ARCH_EZ80_ARCH_H
#define __ARCH_EZ80_ARCH_H
/****************************************************************************
* Included Files
****************************************************************************/
/****************************************************************************
* Definitions
****************************************************************************/
/****************************************************************************
* Public Types
****************************************************************************/
/****************************************************************************
* Public Variables
****************************************************************************/
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C" {
#else
#define EXTERN extern
#endif
#undef EXTERN
#ifdef __cplusplus
}
#endif
#endif /* __ARCH_EZ80_ARCH_H */

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