Commit Graph

192 Commits

Author SHA1 Message Date
Bernard Xiong 34c77da153 [Kernel] Add nested mutex feature 2022-10-15 16:19:13 +08:00
a1012112796 697bf139b2
[enhancement] Add string information for error (#3186)
* [enhancement]Add string information for error

* Update src/kservice.c

* Update src/kservice.c

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>

* remove %m

Signed-off-by: a1012112796 <1012112796@qq.com>

Co-authored-by: Meco Man <920369182@qq.com>
2022-06-29 14:21:21 +08:00
Meco Man 99a1c36f02 attach: remove strnlen #6026 2022-06-08 14:45:10 +08:00
Man, Jianting (Meco) fb3f835089
[libc] remove strdup from rtthread.h (#6026)
add __STDC_LIMIT_MACROS macro in Keil
add RT_USING_LIBC in simulator
add _DLIB_ADD_EXTRA_SYMBOLS=0 in IAR
2022-06-04 17:02:35 +08:00
Man, Jianting (Meco) 11344b89d9
attach #5815 (#5818) 2022-04-15 17:08:44 +08:00
Man, Jianting (Meco) 03823b5016
[kconfig] add 64bit default value for stack size. set tick HZ as 1000 by default (#5778)
* [kconfig] add 64bit default value for stack size. set tick HZ as 1000 by default

* 用RT_KSERVICE_USING_STDLIB_MEMXXX代替RT_KSERVICE_USING_STDLIB_MEMCP/MEMSET
将RT_KSERVICE_USING_STDLIB设置为默认开启

* 优化rt_kprintf支持longlong的能力,默认在64位CPU为开启状态
RT_PRINTF_LONGLONG命名不规范,更改为RT_KPRINTF_USING_LONGLONG

* fix commit error

* fix error

* 优化 system 函数

* RT_KSERVICE_USING_STDLIB_MEMXXX->RT_KSERVICE_USING_STDLIB_MEMORY
2022-04-09 00:40:36 +08:00
tyustli 5178e7ec0b
[add] src/clock.c add hook for rt_tick_increase (#5569)
* [add] src/clock.c add hook for rt_tick_increase

* [fix] clock.c rt_tick_incerase hook function

* Update clock.c

Co-authored-by: guo <guozhanxin@rt-thread.com>
2022-02-13 14:50:51 +08:00
Meco Man dd62b2b106 [kservice] 增加RT_KSERVICE_USING_STDLIB_MEMSET RT_KSERVICE_USING_STDLIB_MEMCPY 2022-01-09 00:23:18 +08:00
tangyuxin 09f439bcc2 [memheap] Fix 64 bit potential risk 2022-01-08 15:50:14 +08:00
balanceTWK 2babae231f [include/rtthread.h] Add function declarations to avoid compilation warnings. 2022-01-03 22:30:45 +08:00
Bernard Xiong 634a06c3cb Revert "[kernel] Add __attribute__(...) for rt_kprintf() to let the compiler check the format string parameters"
This reverts commit d2e6715ddb.
2021-12-30 09:06:46 +08:00
Bernard Xiong 2fa1a93497 Revert "Add support for IAR Compiler"
This reverts commit ead24644f0.
2021-12-30 09:06:46 +08:00
weycen ead24644f0 Add support for IAR Compiler 2021-12-30 01:42:57 +08:00
weycen d2e6715ddb [kernel] Add __attribute__(...) for rt_kprintf() to let the compiler check the format string parameters
Tested in the following environment:
1. Keil uVersion:Arm Compiler v5.06、v6.7、v6.16  
2. Atollic TrueSTUDIO for STM32:GNU v6.3.1  
3. Code Composer Studio:TI Compiler v20.2.2.LTS、GNU v7.2.1
2021-12-30 01:42:57 +08:00
Meco Man e6cd32a1ad [kernel] 将rt_thread_timeout设置为私有函数 2021-12-30 01:30:21 +08:00
Meco Man 457348e21a [kservice] implement rt_strcpy() 2021-12-22 13:04:45 +08:00
Tangyuxin d724eed9fc
分离内存分配接口与内存分配算法 (#5175)
* [kernel][mem] Multiple instances of small memory allocation algorithm

* [kernel][mem] Change small memory management algorithm memory header flag

* [kernel][mem] Fix assertion problem

* [kernel][slab] Multiple instances of slab memory management algorithm

* [kernel][memheap] Remove rt_malloc/rt_free/rt_realloc and other related memory interfaces

* [kernel][mem] Clean up memory space of small memory management objects

* [kernel][kservice] Add memory application interface and thread protection interface

* [kernel][kservice] Fix function return value problem

* [kernel][memheap] Optimize memheaptrace print

* [kernel][memheap] Support best mode

* [kernel][memory] Remove semaphore lock

* [kernel][memheap] Add locked flag

* [kernel][memory] Support malloc memory in interrupt

* [kernel][memheap] Add 'memheapcheck' cmd

* [kernel][mem] Fix failure to request full memory

* [kernel][memheap] Fix compilation warning

* [kernel][mem] Fix mem realloc ASSERT

* [examples][testcases] Add small mem testcase

* [examples][mem_tc] Modify test memory size

* [examples][testcases] Add slab memory management algorithm test case

* [examples][testcases] fix small memory management algorithm test case

* [kernel][memory] Adjusting memory allocation algorithm object definition and interface

* [kernel][memory] Fix compilation warning

* [examples][utest] Fix mem test case

* [examples][utest] fix slab test case

* [utest][testcases] Shorten test time

* [kernel][memory] Formatting code

* [examples][utest] Adjust test run time

* [examples][utest] Formatting code

* [bsp] update all rtconfig.h
2021-12-16 16:23:58 +08:00
Bernard Xiong 6a6b43fe3e
Merge pull request #5261 from mysterywolf/weak
[kernel] prepare to support full functional sprintf-family functions
2021-11-24 17:38:15 +08:00
Meco Man 5e19b71eca 将返回值类型由signed int改为int,符合ISO C标准,防止编译器报错 2021-11-16 03:41:26 -05:00
Meco Man c6c1544c84 implement legacy support 2021-11-14 23:51:05 -05:00
mazhiyuan d006905c88 修改size_t为rt_size_t 2021-10-13 16:23:06 +08:00
Meco Man 663991897b fixed bug #5138 2021-10-12 21:47:57 -04:00
Meco Jianting Man 717120549d
Merge branch 'RT-Thread:master' into rtusingheap 2021-09-14 10:30:51 -05:00
马志远 221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +08:00
fenghuijie 0015af02e4 调整代码,以支持cpu usage 2021-07-05 18:33:22 +08:00
Bernard Xiong 3dfebe337a
[kernel] remove switchto_sethook 2021-07-03 18:48:15 +08:00
fenghuijie 05bb1a50b0 添加idle回收资源的修改 2021-07-03 17:54:58 +08:00
Bernard Xiong 8a23d0ccf2
Merge pull request #4796 from mysterywolf/__CLANG_ARM
将defined(__CC_ARM) || defined(__CLANG_ARM) 改为 ifdef __ARMCC_VERSION
2021-06-24 21:05:05 +08:00
Meco Man 41875c17ff [rtthread.h] 移除rt_sscanf声明 2021-06-17 23:20:44 +08:00
Meco Man 921e606426 将defined(__CC_ARM) || defined(__CLANG_ARM) 改为 ifdef __ARMCC_VERSION 2021-06-13 17:36:42 +08:00
Meco Man 8b82b83482 [kernel] 增加rt_mutex_trytake 2021-05-30 11:47:33 +08:00
Meco Jianting Man 393d7f4479
[revert] remove rt_thread_exit 2021-05-29 16:37:52 +08:00
Meco Man 99f57bcd00 [kernel] rtthread.h 增加#ifdef RT_USING_HEAP 预编译 2021-05-28 22:46:49 +08:00
Bernard Xiong c3978ed9ce
Merge pull request #4396 from mysterywolf/kservice
[kernel] add RT_KSERVICE_USING_STDLIB
2021-04-02 18:24:25 +08:00
Meco Man 846102efa1 [kernel][device] remove rt_device_init_all() 2021-03-19 03:01:07 +08:00
Meco Man 2fd265406e [include] auto formatted 2021-03-08 17:22:21 +08:00
Meco Man 58f000bdce 修改拼写错误 2021-03-01 23:58:04 +08:00
Meco Man ced9b44e63 update 2021-02-28 19:05:14 +08:00
Meco Man 00cebaacac add RT_KERVICE_USING_STDLIB 2021-02-28 05:07:02 +08:00
Meco Man 63cd26b0d1 update 2020-12-30 16:32:20 +08:00
guozhanxin a22decb71b 【优化】在代码中移除 rt_system_object_init/rt_system_tick_init 的调用。 2020-11-23 11:39:38 +08:00
Bernard Xiong b1eb3943a3 [Kernel] Add rt_object_get_length/rt_object_get_pointers APIs. 2020-04-10 00:01:58 +08:00
lihui d0ebdc54d4 fix return type error of rt_strcasecmp: rt_uint32_t to rt_int32_t
Signed-off-by: lihui <leehui_hrbeu71102@163.com>
2020-03-24 18:59:31 +08:00
Bernard Xiong 2c1f7b73a7 [Kernel] fix typo in rthread_delay 2019-12-19 09:45:58 +08:00
Bernard Xiong 4a14b8f59a [Kernel] Add delay_util implementation. 2019-12-18 21:38:26 +08:00
Bernard Xiong 5cd6509296 [Kernel] cleanup code of spinlock in SMP Kernel 2019-09-28 11:56:03 +08:00
tangyuxin e4671d2916 [kernel][ipc] add send wait support for message queue 2019-09-19 10:10:02 +08:00
tyx c8e27adf1f [src][ipc]完善 message queue 相关定义 2019-07-09 21:34:56 +08:00
HubretXie 1e16a1ef23
修改函数返回类型
rt_tick_from_millisecond返回类型修改为rt_tick_t
2019-03-20 14:55:59 +08:00
armink b2c338970f [kservice] Update the rt_strnlen function. 2019-03-09 15:46:56 +08:00
shaojinchun fc6bc1ad39 Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +08:00
Bernard Xiong 46dae3f35f
Merge branch 'master' into dev-4.0.x 2018-11-20 23:13:45 +08:00
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 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +08:00
Bernard Xiong 20bc91d25f [license] Change license to Apache. 2018-10-14 19:38:52 +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
Bernard Xiong efe4523132 [Kernel] move module tolibc/libdl. 2018-08-30 20:27:45 +08:00
Bernard Xiong 6964d623aa [Kernel] Add strdup for armcc 2018-07-15 16:03:40 +08:00
armink e9c165034e [kernel][idle] Add idle hook list. 2018-07-13 10:02:27 +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
heyuanjie 93afe69c90 添加mdelay接口 2018-05-12 12:08:47 +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 8ff8436fcd [Kernel] Add device_create/destroy api 2017-12-24 00:06:29 +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
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
bernard 0acf441836 Fix compiling warning for Win32. 2017-06-06 23:34:01 +08:00
geniusgogo 387bbcc44f Update rtthread.h 2017-05-23 00:01:05 +08:00
Bernard Xiong b1f1536688 [kernel] Add thread_inited_hook. 2017-04-09 19:12:53 +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
Bernard Xiong 266496cef3 [Kernel] Use rt_assert_handler() function to handle assertion. 2015-08-03 16:07:30 +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 62a0172d11 [Kernel] Fix the system initialization link issue 2015-03-22 09:06:48 +08:00
bernard 8bd3e6f6dc [Kernel] Change command line to const parameter and add system() function. 2014-04-02 14:05:15 +08:00
bernard dbcb4a1ccf [Kernel] declare more APIs in module 2014-03-11 15:44:35 +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
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
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
bernard b96b35613f add mount table 2013-07-22 07:46:10 +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
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
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 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
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 2114b73b4b Add _MSC_VER compiler checking; Add DEVICE_CTRL_BLK_SYNC flag.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2315 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-05 08:44:10 +00:00
dzzxzz@gmail.com 1ccf6f800c delete the unnecessary space
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2278 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-07 06:48:02 +00:00
dzzxzz@gmail.com 3aa354d28b re-format the coding style, convert the tab to 4 spaces and make sure the line length is not longer than 80
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2266 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-05 05:36:08 +00:00
bernard.xiong@gmail.com 25268ad23d Add more symbols export for application module.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2205 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-07-06 11:20:53 +00:00
bernard.xiong@gmail.com 8475d23d3e Add rt_timer_next_timeout_tick() declaration in rtthread.h.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2157 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-06-11 23:38:28 +00:00