Commit Graph

147 Commits

Author SHA1 Message Date
bernard a5ba2a24f7 add file and path name auto completion for module shell 2014-01-01 21:45:09 +08:00
Grissiom 408ac34bc2 kernel: add rt_critical_level that return the lock count of scheduler
Out side world may be interested in whether the scheduler is locked or
not. Provide an API to tell that.
2013-12-21 11:27:26 +08:00
Bernard Xiong 3eac58ce8e Merge pull request #173 from grissiom/new-timer
kernel: use skip list to implement timer list
2013-10-17 15:44:20 -07:00
prife 5641360b49 simulator: add createdef.py to generate def file for VS
Now we can get rid off Mingw to create def file. To create def file, one
should run:

    scons --def

in the bsp/simulator.
2013-10-14 22:53:59 +08:00
Grissiom d59aa279c3 kernel: use skip list to implement timer list
Skip list is a "random" data structure that in high possibilities it
would get O(log(N)) time complexity in inserting while the old list get
O(N). Forthermore, when set RT_TIMER_SKIP_LIST_LEVEL to 1, it will just
the same as the old double linked list, both in time and space
complexity.

Benchmarks shows that when RT_TIMER_SKIP_LIST_LEVEL is 3, the average
time of random insertion of new timer is about 2 times faster than the
old timer when there are 100 timers and 3 times faster when there are
200 timers.

However, it restores the deprecated funcion rt_system_timer_init. BSPs
must invoke it upon system startup.
2013-10-12 22:48:29 +08:00
Grissiom c9b8b7465f kernel: fix compiling error when RT_DEBUG is not defined
Define RT_DEBUG_IN_THREAD_CONTEXT when RT_DEBUG is not defined.
2013-10-12 10:58:56 +08:00
Grissiom 6f71308ef5 kernel: add RT_DEBUG_IN_THREAD_CONTEXT
In thread context means: 1) the scheduler has been started; 2) not in
interrupt context. It is more stronger than RT_DEBUG_NOT_IN_INTERRUPT.
With this commit, you will catch the error on situations like taking
mutex before scheduling instead of crashing on NULL pointer reference.
2013-10-11 22:51:38 +08:00
bernard 1ffb99e6f5 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-10-10 00:22:59 +09:00
bernard f1107f6714 add BGR565 definition 2013-10-10 00:22:11 +09:00
Grissiom 7b0a3afdf9 kservice: export vsnprintf as rt_vsnprintf
vsnprintf is a common string function that could be used in many places.
Using both vsnprintf in libc and vsnprintf in the RTT could make a
bigger image. Moreover, if newlib is not enabled when compiling with
GCC, referencing vsnprintf will lead to link error:

    .../arm-none-eabi/lib/armv7-ar/thumb/softfp/libc.a(lib_a-sbrkr.o):
    In function `_sbrk_r':
    sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
    collect2: error: ld returned 1 exit status

Using rt_vsnprintf could avoid such problem.
2013-09-23 11:34:13 +08: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 a124e7bd22 add initialization debug code 2013-07-24 07:33:48 +08:00
bernard b96b35613f add mount table 2013-07-22 07:46:10 +08:00
Bernard Xiong 493930ea07 Merge pull request #118 from BernardXiong/master
Remove initialization feature for MS VC++ compiler.
2013-07-09 13:56:51 -07:00
Grissiom 7bcce9e87f device: add ref_count support
This is a simple work around to the current device stack design. A
ref_count could let different modules to open/close the same device
independently without interfere others in some degree.

But there is still some data shared between the modules, like flag,
open_flag and user_data. Moreover, it won't yield an error if A open a
device, and B read from it before open it in B. Maybe alloc a new handle
in rt_device_open will be the ultimate solution. But that is much bigger
change and we may leave it to future development.
2013-07-09 15:44:55 +08:00
Bernard Xiong 8c0d4d2ad8 fix the spelling wrong 2013-07-05 19:36:57 -04:00
Bernard Xiong ca56dce2a3 remove initialization feature for MS VC++ compiler 2013-07-05 19:32:16 -04:00
Grissiom 9f62f03f11 rm48x50: restore missing include for __TI_COMPILER_VERSION__ 2013-07-01 22:03:58 +08:00
Bernard Xiong e63be67e2d Remove the stdarg.h file include.
Please @Grissiom check why add this header file in rtthread.h.
2013-06-30 20:17:41 +08:00
yiyue.fang 62c5115282 reformat the coding style in rthw.h 2013-06-29 13:33:06 +08:00
yiyue.fang cf0db957f2 reformat the coding style in rtdef.h
convert the Tabs to Spaces
2013-06-29 11:41:20 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong 0bb5eb18b9 Add rt_kprintf re-defined, which is suggested by ufbycd. 2013-06-24 00:08:10 +08:00
Bernard Xiong 98c8a23e94 Add component initialization. 2013-06-23 07:48:42 +08:00
Bernard Xiong c5927f51b3 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-06-23 07:40:32 +08:00
Bernard Xiong f837ea41b1 Add component initialization define in rtdef.h 2013-06-23 07:40:23 +08:00
Grissiom 85822f22b7 rtdef.h: get back the codes that removed accidentally by d80a471 2013-06-03 22:23:17 +08:00
Bernard Xiong d80a471680 Fix the memheap_realloc issue 2013-06-03 06:44:35 +08:00
Grissiom 9237433030 add TI CCS support micros in rtdef.h 2013-05-29 23:36:10 +08:00
Grissiom f51bce3fed add rm48x50 bsp and libcpu
We currently only support building with CCS and SCons is not using.
bsp/rm48x50/HALCoGen/HALCoGen.{hcg,dil} is the HALCoGen project file.
You may need to regenerate the source file as you like, providing that:

    1, IRQ is in Dispatch Mode and the table entry is IRQ_Handler. The
    channel 5 in enabled and connected to IRQ.

    2, RTI driver is enabled and compare3 source is selected to counter1
    and the compare3 will generate tick in the period of 10ms. This
    value is coresponding with RT_TICK_PER_SECOND in rtconfig.h.

In CCS, you need to create a new CCS project and create link folders
pointing at bsp/rm48x50, libcpu/arm/rm48x50 and src/, include/. Remember
to add the include path to the Build Properties.
2013-05-24 22:55:13 +08:00
Bernard Xiong 4afdf44da2 add RT_KERNEL_MALLOC/FREE 2013-04-25 14:22:07 +08:00
Bernard Xiong 608bf2cb3d add rt_memheap_realloc function 2013-04-17 22:09:48 +08:00
Bernard Xiong bb72be94b2 code cleanup for interrupt description 2013-03-26 08:52:33 +08:00
weety 7917cf09e7 remain the old handler to keep forward compatibility 2013-03-19 11:25:46 +08:00
weety b21028474b Modify the interrupt interface implementations, changes in the part of the parameter definition. 2013-03-19 11:25:12 +08:00
prife a64ec10e68 app module support for simlator, first version 2013-02-27 00:37:57 +08:00
Bernard Xiong 47d8dc67c0 change version number 2013-01-09 11:00:32 +08:00
dzzxzz@gmail.com d5531c6054 fixed the coding style in rtdef.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2566 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 14:14:40 +00:00
bernard.xiong@gmail.com 850d544bdc add more control command for graphic.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2560 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 06:37:30 +00:00
bernard.xiong@gmail.com 975610477e Add RT_USING_MEMHEAP_AS_HEAP feature: system can use "heap" memheap as system default memory heap.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2554 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-29 12:29:03 +00:00
bernard.xiong@gmail.com 54351d17de fix compiling warning.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2552 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-29 09:51:48 +00:00
bernard.xiong@gmail.com 68fadd9edc Add exception hook function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2551 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-29 09:36:16 +00:00
dzzxzz@gmail.com b2da13707b fixed the coding style
convert the tabs to spaces
convert the file format to unix style

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2483 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-14 08:59:22 +00:00
goprife@gmail.com 977afc4f67 add RT_DEVICE_CTRL_BLK_ERASE and struct rt_device_blk_sectors in rtdef.h
please see this commit with revision 2478

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2482 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-14 06:34:25 +00:00
bernard.xiong@gmail.com b60476b8e7 remove rt_current_module and rt_module_set function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2459 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-28 14:25:06 +00:00
bernard.xiong@gmail.com df249c467d change RT_NULL from ((void*)0) to 0.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2422 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-16 14:54:31 +00:00
sc943313837@gmail.com c49700184f add RTC control command
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2377 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-29 02:02:41 +00:00
dzzxzz@gmail.com 409dd3801f convert TABs to Spaces in rtdef.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2367 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-23 02:34:53 +00:00
bernard.xiong@gmail.com f4d768ec56 Add mutex lock in memheap object.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2366 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-22 23:27:04 +00:00