Commit Graph

3006 Commits

Author SHA1 Message Date
Grissiom 824261d3bc dev/portal: add checks on oflag
It does not make sense to open portal without a flag. One should open a
portal with RT_DEVICE_OFLAG_RDWR in most cases.
2013-08-22 15:12:00 +08:00
Bernard Xiong b4ba2657bb Merge pull request #145 from grissiom/hot-fix
finsh/cmd: add description for new pipe and portal device
2013-08-20 20:02:31 -07:00
Grissiom b4ab82284f finsh/cmd: add description for new pipe and portal device 2013-08-20 14:27:28 +08:00
Bernard Xiong 59f0f66996 Merge pull request #144 from grissiom/portal-device
Portal device
2013-08-19 22:41:31 -07:00
Grissiom 6e676e7754 dev/portal: implement portal device
Portal is a device that connect devices. Currently, you can only connect
pipes in portal. Pipes are unidirectional. But with portal, you can
construct a bidirectional device with two pipes.
2013-08-20 12:54:43 +08:00
Grissiom 7e68096a88 dev/pipe: make pipe a type of device
Pipe have many differences with char device. The main difference is
altough pipe have both read and write, it is unidirectional in nature.
2013-08-20 10:16:55 +08:00
Bernard Xiong a8f9f85f66 Merge pull request #143 from grissiom/ringbuffer-pipe
Ringbuffer and Pipe
2013-08-19 02:39:56 -07:00
Grissiom 0340300f89 dev/pipe: cleanup 2013-08-19 16:25:17 +08:00
Grissiom e8cca2315a dev/pipe: call rx_indicate the time we resume reader
Some reader(FinSh again) would like to block on a semaphore which is
released in rx_indicate. So we should invoke rx_indicate in
_rt_pipe_resume_reader.
2013-08-19 15:57:59 +08:00
Grissiom d683d32bd5 device/pipe: add nonblocking read/write and force write mode
The previous implementation will always blocks the reader/writer.
However, at least FinSh would expect the device to be nonblocking ---
read should return 0 when there is no data in it.
2013-08-19 15:35:56 +08:00
Grissiom 4919d29d69 ringbuffer: add put_force and putchar_force API
Add the APIs that will discard the old data when rb is full.
2013-08-19 15:32:42 +08:00
Grissiom 981d929b56 ringbuffer: fix the ambiguous name
RT_RINGBUFFER_SIZE could mean "the size of the whole buffer", "the size
of the empty space" or "the size of the data". Moreover, it's never a
micro anymore. Change it to rt_ringbuffer_data_len before it's too late.
Also, RT_RINGBUFFER_EMPTY is changed to rt_ringbuffer_space_len.
2013-08-19 14:12:35 +08:00
bernard 6f75988cee Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-08-19 13:00:48 +08:00
Bernard Xiong 90c9c8a27a Merge pull request #142 from grissiom/pipe-device
device/pipe: add rt_pipe_{init,detach}
2013-08-18 21:47:46 -07:00
bernard d8695085dc Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-08-19 12:47:40 +08:00
bernard fa934fa7bd add shell device automatically setting for rx_ind 2013-08-19 12:46:04 +08:00
Grissiom 38ce3879d8 device/pipe: add rt_pipe_{init,detach}
This provide the possibility that allocate the buffer of the ringbuffer
on a specific region, instead of always mallocing it. It also bring us
the benefit of using pipe device on the systems without heap.
2013-08-19 12:28:59 +08:00
Bernard Xiong cb880fd763 Merge pull request #141 from grissiom/fix-schedule-debug
fix debug output of scheduler
2013-08-18 19:28:20 -07:00
Grissiom ad17bc2908 fix debug output of scheduler
When print the thread names, we should use "%.*s" instead of bare "%s".
2013-08-19 10:08:11 +08:00
Bernard Xiong 0826efaab3 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-08-12 07:22:04 -07:00
Bernard Xiong 05b9eb0b82 remove compiling warning 2013-08-12 07:21:29 -07:00
bernard dce51ddf05 add buildlib for Keil MDK 2013-08-09 22:26:22 +08:00
bernard 60a0529553 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-07-30 23:30:27 +08:00
Bernard Xiong e301d14979 Merge pull request #132 from MrVan/sep6200
SEP6200 Support
2013-07-29 22:35:31 -07:00
bernard ac10730492 fix O_APPEND write issue in RAMFS 2013-07-29 14:50:12 +08:00
bernard ac850ef3f0 add device_open/close in mkfs 2013-07-29 14:43:52 +08:00
bernard 914244f368 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-07-29 13:53:38 +08:00
bernard d74dee0dd6 Add ramfs into building script 2013-07-29 13:52:59 +08:00
Bernard Xiong a431a25699 Merge pull request #135 from reynoldxu/K60Fxxxx
K60 fxxxx
2013-07-25 03:55:52 -07:00
reynoldxu 10c75c3dc6 remove a var for INT_TX. 2013-07-25 10:18:33 +08:00
reynoldxu 151ce31be8 delete K60.pro 2013-07-24 18:38:16 +08:00
reynoldxu 8f0fffc132 fix a bug in rt_hw_uart_init() where u CAN NOT init some feature. 2013-07-24 18:34:07 +08:00
reynoldxu 421d980b07 add NRZ feature on K60 2013-07-24 18:32:09 +08:00
reynoldxu a927b48049 modify codes for fractional divider 2013-07-24 18:31:26 +08:00
bernard ba8f125f56 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-07-24 09:05:12 +08:00
bernard a124e7bd22 add initialization debug code 2013-07-24 07:33:48 +08:00
Bernard Xiong e28c8963e6 Merge pull request #134 from prife/sim-fix
simulator: update to support simulator for linux
2013-07-22 15:15:25 -07:00
prife 8846ac8c40 simulator: update to support simulator for linux 2013-07-22 23:02:03 +08:00
bernard b96b35613f add mount table 2013-07-22 07:46:10 +08:00
Bernard Xiong adc678dabb Merge pull request #133 from weety/at91sam9260
At91sam9260
2013-07-21 05:35:41 -07:00
weety 37ac4855da Embedded GPLv2 license. 2013-07-21 20:01:24 +08:00
weety 36c4604a36 fix compiling error 2013-07-21 19:39:21 +08:00
weety 42f9840653 commit again 2013-07-21 17:32:55 +08:00
weety 3bdbf640b7 update at91sam9260 project directory structure. 2013-07-21 17:19:30 +08:00
weety 885301bb14 update AT91SAM9260 usart driver, using serial driver component. 2013-07-21 15:01:42 +08:00
Peng Fan 82bc21ff7b Cleanup and add licencse 2013-07-17 18:42:19 +08:00
Peng Fan 73beced22a SEP6200 Support 2013-07-17 13:37:31 +08:00
Bernard Xiong 9980041de6 Merge pull request #131 from grissiom/memheap
memheap: don't alloc/memcpy when there is next node is enough for realloc
2013-07-14 21:01:40 -07:00
Grissiom c3a39444da memheap: dont alloc/memcpy when there is next node is enough for realloc
When realloc a bigger space and the next node is free and big enough, we
should directly relocate the next node instead of doing alloc/memcpy.
The new method not only faster in this cases, it would avoid memory
fragment as well.
2013-07-15 11:47:55 +08:00
Bernard Xiong f0f0e3dd9e move commands out of DFS 2013-07-14 14:36:48 +08:00