Commit Graph

365 Commits

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