Commit Graph

376 Commits

Author SHA1 Message Date
guozhanxin d343c6578a [kernel]Change 'rt_timer_timeout_hook' function to 'rt_timer_enter_hook' and add 'rt_timer_exit_hook' hook function. 2018-11-13 11:32:15 +08:00
Bernard Xiong e108dfe4a5 [libc] Fix the _EXFUN issue in newlib 2018-11-10 16:58:07 +08:00
armink 29dd96ec35 [rtdbg] Add ulog compatible with rtdbg. 2018-10-31 10:57:52 +08:00
Bernard Xiong 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +08:00
Bernard Xiong d23a65d54e Merge branch 'master' into dev-4.0.x 2018-10-25 21:42:47 +08:00
Bernard Xiong 20bc91d25f [license] Change license to Apache. 2018-10-14 19:38:52 +08:00
Bernard Xiong 4660882320
[Kernel] Change number to v4.0.0 2018-10-13 09:36:23 +08:00
Bernard Xiong b98a0ba804 [Kernel] Add ARMCC 6.x support. 2018-09-23 12:08:44 +08:00
Bernard Xiong 41f7f2c284 [Kernel] Update to Apache License v2.0
Update license for RT-Thread kernel.
2018-09-14 22:37:43 +08:00
armink a969b7096f [slist] Add rt_slist_tail and rt_slist_tail_entry for slist. 2018-09-11 20:06:40 +08:00
armink aa8ff55bbb [rtdbg] Change all level sequence. The most urgent log level (error) using 0. 2018-09-11 18:26:28 +08:00
armink 3dea90eaf9 [rtdbg] Optimize footprint for rtdbg log. 2018-09-06 09:50:18 +08:00
Bernard Xiong 95c36f32e2
Update rtdef.h 2018-09-04 07:01:39 +08:00
Bernard Xiong ab1a220eae [components] Remove lwP from v3.1.0 2018-09-01 12:03:32 +08:00
Bernard Xiong 07ec7e686d
Merge pull request #1754 from liangyongxiang/rt-used
add RT_USED to component init and finsh shell
2018-08-31 18:41:44 +08:00
liang yongxiang 0aa03dd731 [kernel] add RT_USED to INIT_EXPORT, so that the initialization function is not deleted when it is linked. 2018-08-31 15:01:04 +08:00
Bernard Xiong efe4523132 [Kernel] move module tolibc/libdl. 2018-08-30 20:27:45 +08:00
heyuanjie 2373a9c7be 添加lwp类型声明 2018-07-31 10:38:26 +08:00
heyuanjie c79fbd373f [lwp]给thread添加lwp成员 2018-07-30 11:12:12 +08:00
chenyong a862619490 [net][sal] Remove SAL_USING_POSIX dependence for lwIP stack. 2018-07-26 11:57:20 +08:00
armink 81a0782568 [rtdbg] Update default section name to "DBG". 2018-07-19 18:04:02 +08:00
chenyong 8cda48a132 [net][sal] Add SAL (socket abstraction layer) framework 2018-07-18 13:34:13 +08:00
Bernard Xiong 6964d623aa [Kernel] Add strdup for armcc 2018-07-15 16:03:40 +08:00
Bernard Xiong b0dbdf4289
Merge pull request #1621 from armink/fix_idle_hook
[idle] Add idle hook list.
2018-07-14 15:20:59 +08:00
Bernard Xiong 1758f5773e
Merge pull request #1617 from armink/fix_rtdbg
Fix rtdbg
2018-07-14 06:46:50 +08:00
armink e9c165034e [kernel][idle] Add idle hook list. 2018-07-13 10:02:27 +08:00
Bernard Xiong 44712ba2cf
Merge pull request #1611 from TanekLiang/add-more-assert
add more assert for object check
2018-07-11 21:38:31 +08:00
Lynx Zhou 754b363839
Add list iterators over list elements
Address the comments from armink@rt-thread
2018-07-11 17:14:44 +08:00
liang yongxiang 7b984c2f54 [kernel] add rt_object_get_type() function who return type of object without static flag 2018-07-11 14:48:32 +08:00
armink 541925195f [rtdbg] Update dbg log header format. 2018-07-11 10:17:34 +08:00
armink 9ec76e302d [rtdbg] Add LOG_RAW and dbg_raw API to rtdbg.h . 2018-07-11 10:15:46 +08:00
Lynx Zhou 3b9dfc6aed
Add list iterators over list elements
Some non-gnu toolchains don't support gnu C extended keyword "typeof", like MDK (if no "gnu" option) and IAR, in this case we can provide list element manipulation macro functions to iterate over the list.
2018-07-04 15:50:31 +08:00
Bernard Xiong f0f883668c
Merge pull request #1579 from RT-Thread/fix_waitqueue
Fix waitqueue issue
2018-06-29 13:19:16 +08:00
Bernard Xiong 497a2dd02c
[Kernel] Remove the restriction of waitqueue
Remove the restriction of RT_USING_POSIX for waitqueue structure.
2018-06-29 12:18:37 +08:00
armink aa12d66b30 [rtservice] Add `rt_slist_first` and `rt_slist_next` API to slist. 2018-06-27 13:05:50 +08:00
Bernard Xiong ef132f3c94 [Kernel] clean code for indentation. 2018-06-26 11:57:20 +08:00
Bernard Xiong a1a56ce1d1 [Kernel] Add flag in wait queue and fix wakeup issue. 2018-06-26 11:19:38 +08:00
Bernard Xiong 884fb70fe9 [Kernel] Add device ops feature. 2018-06-10 17:59:17 +08:00
Bernard Xiong 44cffcf9ac
Update rtdef.h 2018-05-31 18:05:43 +08:00
armink 72316a6e6d [rtdbg] Update some comments on rtdbg.h. 2018-05-28 09:29:49 +08:00
armink 67188c8692 [rtdbg] Add simple API to rtdbg.h. Such as LOG_D, LOG_E. 2018-05-25 16:18:28 +08:00
bupleurum 3af13de6a5
Update rtservice.h 2018-05-21 19:41:13 +08:00
Bernard Xiong 6ac213d622 Add GCC version detection.
Add cconfig.h file for different version of GCC, which is automatically
detected and generated by scons script.
2018-05-14 21:37:11 +08:00
heyuanjie 93afe69c90 添加mdelay接口 2018-05-12 12:08:47 +08:00
ZHANG Jinglong e3df19fde5 correct a spelling error 2018-05-04 23:10:35 +08:00
Bernard Xiong 7b9de446cb
Update rtdef.h 2018-04-25 06:02:21 +08:00
armink c6e928a780 [Libc] Update struct stat on libc_stat.h . 2018-03-20 17:51:12 +08:00
Bernard Xiong f9a7ba050a [finsh] convert tab to space and split export API to finsh_api.h 2018-03-01 21:01:20 +08:00
Bernard Xiong 15fa3084c3 [Kernel] include finsh.h file in rtthread.h when RT_USING_FINSH enable 2018-03-01 18:12:49 +08:00
BernardXiong 38b9ed3118 [Kernel] add sigwait implementation 2018-03-01 13:36:22 +08:00
Bernard Xiong 4007bf99ff
[Kernel] Change version number. 2018-02-24 09:20:03 +08:00
BernardXiong 011eb615bc [Kernel] Correct the comments of DBG_ENABLE macro. 2018-02-11 13:56:30 +08:00
Bernard Xiong 40fc0fa50d
Update rtdebug.h 2018-02-09 16:58:20 +08:00
Bernard Xiong 484b667d7d [libc] Add O_BINARY definition 2018-02-09 09:30:32 +08:00
Bernard Xiong 4e41b0573b [libc] fix the fcntl issue in newlib 2018-02-07 19:55:35 +08:00
BernardXiong 4bc082e7cb [libc] move `struct sigevent` to libc_signal.h file. 2017-12-31 14:48:54 +08:00
BernardXiong 5a95d35626 [DFS] Add fcntl API (same with ioctl in RT-Thread). 2017-12-31 14:46:24 +08:00
bernard 6c7150a5fc [Kernel] code cleanup for signal. 2017-12-30 14:46:51 +08:00
Bernard Xiong e3dd653ed4
Update rtdef.h 2017-12-27 20:38:43 +08:00
Bernard Xiong 8ff8436fcd [Kernel] Add device_create/destroy api 2017-12-24 00:06:29 +08:00
bernard 9644678dcb [libc] include <sys/select.h> when enable HAVE_SYS_SELECT_H 2017-12-22 14:46:45 +08:00
Bernard Xiong b4cfa4db09
Merge pull request #1104 from JasonJiaJie/master
[list]1.Modify rt_slist_foreach to rt_slist_for_each_entry. 2.Add rt_sllist_isempty. 3.Make code cleanup.
2017-12-15 07:37:45 +08:00
bernard c4b6fa7978 [libc] Add stat definitions for WIN32. 2017-12-14 10:47:07 +08:00
JasonJiaJie e9b846d119 [list]1.Modify rt_slist_foreach to rt_slist_for_each_entry. 2.Add rt_sllist_isempty. 3.Make code cleanup
1.Modify rt_slist_foreach to rt_slist_for_each_entry. 2.Add rt_sllist_isempty. 3.Make code cleanup
2017-12-14 09:28:10 +08:00
bernard ae7237dc53 [BSP] Fix the WIN32 compiling issue.
rename _errno to __rt_errno for conflict in WIN32.
2017-11-30 23:56:52 +08:00
bernard 0d22872a13 [Kernel] Update version number to v3.0.1 2017-11-30 16:53:49 +08:00
weety ed90b9d415 [RTSERVICE] Add rt_list_for_each_entry_safe macros definition. 2017-11-05 22:36:46 +08:00
bernard 6d9fcd04d2 [Kernel] Change the order of initialization.
1. Remove INIT_FS_EXPORT and change INIT_DEVICE_EXPORT as the first item
in the initalization thread.
2. Move the eth_system_device_init into INIT_PREV_EXPORT item.
2017-11-03 11:44:37 +08:00
tanek liang 909275b8a6 add cache definition 2017-11-01 21:23:14 +08:00
bernard b3d872740b [libc] Fix the typedef in minilibc. 2017-10-31 10:24:11 +08:00
bernard 7d673f921c [libc] Adjust libc.
1. Move struct stat to libc_stat.h;
2. Defined a new FD_SET macros in libc_fdset.h.
2017-10-31 09:52:49 +08:00
bernard 0d45288f06 [libc] Add mode_t in rtlibc.h for Keil MDK/IAR. 2017-10-25 07:25:24 +08:00
yygg_you 2d0c10a0ca 修改simulator,匹配RTT 3.0 2017-10-20 13:26:47 +08:00
armink d3ac388846 [rtservice] Add `rt_list_len` and `rt_slist_len` to rtservice.h . 2017-10-19 09:28:17 +08:00
bernard 7b2decbb7c Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2017-10-18 17:27:54 +08:00
bernard e4beb9c0f7 [Kernel] Add more setting checking for RT_USING_POSIX. 2017-10-18 17:27:48 +08:00
Bernard Xiong 97727dcc5e Merge pull request #879 from hichard/renhaibo-branch
[Kernel] Add HWREG macro.
2017-10-18 09:27:50 +08:00
hichard 4b83744a6c renhaibo-branch 2017-10-18 09:08:21 +08:00
bernard 8a38307e2c [libc] Add RT_USING_POSIX macro.
1. Add macro check in rtdebug.h;
2. Use RT_USING_POSIX for poll/select, stdin etc.
3. Split dfs_posix.h to dfs_posix.h, dfs_poll.h and dfs_select.h;
2017-10-17 22:27:06 +08:00
bernard 947d8aa4d2 [libc] Use correct header file for newlib. 2017-10-17 22:24:40 +08:00
bernard cd215b2545 [Kernel] header files
1. Remove components.h file;
2. Add libc_* files for standard libc definitions;
3. Add rtdbg.h file for simple debug log;
4. Add single list implementation;
5. Change the 'rt_uint8_t' type of cmd to 'int'.
2017-10-15 22:30:05 +08:00
Bernard Xiong a6a5dbd64e Change version to v3.0.0
The master branch will be frozen util v3.0.0 updated.
2017-10-10 09:10:16 +08:00
geniusgogo 85cc2dab69 Update rtdef.h 2017-09-18 16:31:14 +08:00
geniusgogo ed08b32dd3 convert tab to space 2017-09-18 16:30:28 +08:00
geniusgogo 2aae989f40 Merge branch 'master' into RT_MACRO 2017-09-18 16:27:20 +08:00
xieyangrun 6b06cb83e3 rename WEAK to RT_WEAK 2017-09-18 11:32:13 +08:00
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
tanek liang 9f2f2f0875 Add RT_USED definition for IAR 2017-08-25 22:22:35 +08:00
bernard 0acf441836 Fix compiling warning for Win32. 2017-06-06 23:34:01 +08:00
Bernard Xiong 02607c85ac [GUI Engine] change directory for image and font. 2017-06-05 17:36:45 +08:00
geniusgogo 387bbcc44f Update rtthread.h 2017-05-23 00:01:05 +08:00
Bernard Xiong 462885e6f1 [Kernel] rename list_for_each/list_first_entry. 2017-04-09 19:13:21 +08:00
Bernard Xiong b1f1536688 [kernel] Add thread_inited_hook. 2017-04-09 19:12:53 +08:00
bernard 6b18346199 [Kernel] Add RTGRAPHIC_PIXEL_FORMAT_ALPHA definition. 2017-01-31 13:18:39 +08:00
bernard 2ce7382534 [Kernel] Add rt_kputs routine. 2017-01-31 13:18:20 +08:00
dogandog d507755bd8 Update rtthread.h
Correct comments about doxygen format
2016-08-19 09:56:03 +08:00
ArdaFu 189e9b9632 [Kernel] add new hooks for support trace componment. 2016-08-09 11:29:11 +08:00
weety 62e770f9de Fixed 64KB stack size limit. 2016-05-31 20:39:33 +08:00
Bernard Xiong bb1cb89b52 [Kernel] Add list_for_each_entry and list_frist_entry routine.
committed by FH.
2016-05-20 12:24:08 +08:00
FlyLu 0b3dd47347 修正ramfs.h中防止重复包含的宏定义名称
修正components.h中使能RT_USING_DFS_RAMFS宏时,加入ramfs.h头文件
2016-02-20 14:53:39 +08:00
Bernard Xiong 7dfac0f78e rename .name section to .rodata.name section 2015-09-15 12:11:07 +00:00
heyuanjie87 8f9bda579a 定义Timer设备类 2015-09-06 15:18:15 +08:00
heyuanjie87 c84887d021 加入定时器设备 2015-09-02 22:00:24 +08:00
Bernard Xiong dc194cd7b6 [Kernel] Add .name section for exported symbols. 2015-09-02 12:09:46 +08:00
Bernard Xiong fc54a74abb [BSP] stm32f7-disco cleanup 2015-08-09 09:17:28 +08:00
Bernard Xiong 266496cef3 [Kernel] Use rt_assert_handler() function to handle assertion. 2015-08-03 16:07:30 +08:00
Bernard Xiong abd19b8dd7 [Kernel] More better support for module. 2015-08-03 16:02:24 +08:00
ardafu 667c03db97 [FINSH] Add macro MSH_CMD_EXPORT_ALIAS 2015-07-31 11:07:54 +08:00
armink 892eac2cce [kservice]add hook for RT_ASSERT 2015-06-11 10:59:25 +08:00
prife 1b1908b35d [kservice] fix rt_strcmp/strncmp/strlen prototype 2015-05-20 20:40:57 +08:00
Bernard Xiong 1377022b18 [DFS] Use SConscript of each file system to build. 2015-04-03 14:26:18 +00:00
Bernard Xiong 6c83ff6eca Merge remote-tracking branch 'coding/master' 2015-03-31 07:03:22 +00:00
Bernard Xiong 81c4f43109 Merge remote-tracking branch 'upstream/master' 2015-03-31 07:02:05 +00:00
Aubr.Cool 7caabd2b7a mv device ctl cmd macros from serial.h to rtdef.h 2015-03-26 08:40:36 +08:00
Bernard.Xiong 62a0172d11 [Kernel] Fix the system initialization link issue 2015-03-22 09:06:48 +08:00
Bernard Xiong fbd620a7f4 [Kernel] Move the components initailzation to the kernel 2015-02-25 10:50:21 +08:00
Bernard Xiong 204298c1b2 Update rtdef.h 2015-02-02 13:22:38 +08:00
pangweishen 675fa48281 modified the comments of block device geometry structure, to tell everyone the unit of block_size is byte. 2014-11-04 10:16:54 +08:00
bernard ceaf9cd3fa Add WEAK definition; Add AUTO Refresh option for block device. 2014-06-26 14:47:31 +08:00
bernard 8bd3e6f6dc [Kernel] Change command line to const parameter and add system() function. 2014-04-02 14:05:15 +08:00
Bernard Xiong 40b7eba446 [Kernel] Change the version number to 2.0.0. 2014-03-29 14:59:02 +08:00
bernard dbcb4a1ccf [Kernel] declare more APIs in module 2014-03-11 15:44:35 +08:00
bernard 27be3d9af4 Include rtconfig.h file in rtdebug.h file. 2014-01-26 20:32:44 +08:00
bernard e601c2a6ed Add sector size check when mounting a FAT file system. 2014-01-26 20:30:37 +08:00
bernard 8fdbb7c92b [Kernel] Fix the compiling issue for not including rtconfig.h file in rtdebug.h/rtdef.h 2014-01-17 22:32:32 +08:00
Bernard Xiong 97508eb48e Merge pull request #228 from prife/kernel
kernel: rearrange the header file include order
2014-01-11 03:58:10 -08:00
prife 86cdc22043 kernel: rearrange the header file include order
There are some CONFIG OPTIONS in rtdebug.h, which may influence the
rtdef.h, so rtdebug.h should be head of the rtdef.h
2014-01-11 16:50:53 +08:00
bernard 31446eab4c [Kernel] application module can support arguments 2014-01-11 16:33:31 +08:00
bernard e393b8fcfa fix the FINSH_USING_SYMTAB not defined and compiling error issue 2014-01-04 06:03:24 +08:00
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