Commit Graph

286 Commits

Author SHA1 Message Date
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