Commit Graph

877 Commits

Author SHA1 Message Date
Meco Man 093b9700c8 [kservice] remove RT_USING_ASM_MEMCPY RT_USING_ASM_MEMSET 2021-12-19 08:45:08 -05:00
jihongbin eda0df469e [update] Correct some code comments 2021-12-16 18:43: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
zhouji ee1e85455a [update] 使用memheap内存管理算法时,对rt_system_heap_init传入的地址进行对齐。 2021-12-14 06:16:59 +08:00
zhouji 3327ffaa15 [update] 使用memheap内存管理时,rt_malloc 0长度返回RT_NULL, 与slab与小内存管理等算法保持一致。 2021-12-14 06:16:59 +08:00
guo 1e03864fcb
Merge pull request #5278 from thewon86/master
remove duplicate work between idle and thread_exit
2021-12-10 18:55:10 +08:00
guo fda37d55f8
Merge pull request #5319 from RT-Thread/master
【PSE分支】同步master到PSE分支
2021-12-02 10:09:37 +08:00
Bernard Xiong 7c012afdf8
Merge pull request #5314 from GuEe-GUI/master
fixup .bss size define in link.lds and set spsel=1 in aarch64
2021-12-01 09:18:50 +08:00
GuEe-GUI efbdbc2636 fixup .bss size define in link.lds and set spsel=1 in aarch64 2021-11-30 11:14:17 +08:00
Meco Man 2d505d8ffd [kservice] 精简RT_PRINTF_PRECISION 2021-11-27 23:52:34 -05:00
Meco Man e13230ba72 [kernel] 整理Kconfig 2021-11-27 18:34:44 -05:00
Meco Man 6a863ef65c [kservice] 优化RT_PRINTF_LONGLONG,减少重复代码 2021-11-27 18:30:41 -05:00
thewon86 5ae6b54e21 remove duplicate work between idle and thread_exit 2021-11-26 09:13:18 +08:00
armink 75063a1b5e [timer] update the RT_TIMER_CTRL_GET_STATE code in rt_timer_control 2021-11-25 15:31:43 +08:00
Meco Man 7c789d4b11 revise some RT_USING_POSIX to RT_USING_POSIX_DEVIO 2021-11-24 09:47:55 -05: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 cc44316410 [master] modify version to v4.1.0 2021-11-19 17:27:43 -05:00
Meco Man 857428bd23 [kservice] add return value's comment 2021-11-16 18:54:40 -05:00
Meco Man 5e19b71eca 将返回值类型由signed int改为int,符合ISO C标准,防止编译器报错 2021-11-16 03:41:26 -05:00
Jianting (Meco) Man b98539e3f8
Merge branch 'master' into weak 2021-11-11 10:55:44 -05:00
Bernard Xiong 301856ac95
Merge pull request #5063 from Eureka1024/master
[kernel]增加一种新的查找字节最低非0位的算法
2021-11-11 10:18:29 +08:00
杨澄 216cd309ea
Update kservice.c 2021-11-09 23:32:51 +08:00
杨澄 e509b9fe32
Update Kconfig 2021-11-09 23:30:18 +08:00
Meco Man da0bb7f629 [kservice] add RT_WEAK for rt_vsnprintf 2021-11-07 13:24:07 -05:00
杨澄 46fe85e2c2
精简简化版的__rt_ffs()函数 2021-11-07 15:51:24 +08:00
杨澄 e6e9062977
Update kservice.c 2021-11-07 14:57:02 +08:00
guo 389d2f948a
Merge pull request #5203 from HelloByeAll/master
【更新】ipc init/create增加 flag 判断
2021-10-21 10:16:37 +08:00
HelloByeAll a5b684d29c 【更新】删除空行上的tab 2021-10-19 16:50:09 +08:00
wangqinglin 758ef39024 【更新】调整RT_ASSERT和RT_DEBUG_NOT_IN_INTERRUPT,维持代码风格 2021-10-19 10:13:25 +08:00
wangqinglin 4c4f107436 【更新】ipc init/create增加 flag 判断 2021-10-19 09:39:45 +08:00
Meco Man bd24c67d06 define RT_USING_BIG_ENDIAN for the long-term version 2021-10-18 17:41:14 -04:00
guozhanxin 0546b4b524 Merge remote-tracking branch 'remotes/gitee/gitee_master' 2021-10-14 14:07:13 +08:00
mazhiyuan d006905c88 修改size_t为rt_size_t 2021-10-13 16:23:06 +08:00
Bernard Xiong 0c82690f32
Merge pull request #5160 from cndabai/bsp
修复部分bsp编译报错
2021-10-13 15:40:38 +08:00
mazhiyuan 99e9ea61bc 修复部分bsp编译报错 2021-10-13 11:02:01 +08:00
Meco Man 663991897b fixed bug #5138 2021-10-12 21:47:57 -04:00
nrush 861c579c60 [Kernel] Add build time to the boot printing
When the firmware is built many times in a day, we can not distinguish
them by current boot printing for the lack of compile time. So, it is
necessary to add __TIME__ to rt_show_version().

Signed-off-by: nrush <1741598985@qq.com>
2021-10-11 15:25:26 +00:00
Bernard Xiong 173913b96e
Merge pull request #4872 from aozima/aozima_memheap_develop
优化memheap内存管理:1.自动多块粘合可配置;
2021-09-27 14:16:17 +08:00
liukangcc d99737d8a9 [update] functions annotation. 2021-09-18 16:56:44 +08:00
aozima 2e5b4736fe [kernel] update memheap auto binding policy. 2021-09-18 10:12:33 +08:00
杨澄 1ef31445fd
[src][Kconfig] 增加隐性RT_KSERVICE_USING_TINY_FFS定义 2021-09-15 00:10:35 +08:00
杨澄 9d8afc8ede
增加一种新的查找字节最低非0位的算法 2021-09-15 00:07:24 +08:00
Bernard Xiong 065f9586d0
Merge pull request #5047 from ShermanShao/master
[kservice] 完善 API 注释
2021-09-14 22:35:07 +08:00
Bernard Xiong b2c64b7977
Merge pull request #5039 from Guozhanxin/kernel_comment
Improve the Kernel comment
2021-09-14 22:33:51 +08:00
Bernard Xiong f76a192fb3
Merge pull request #5040 from yangjie11/comments
[kernel]Normalized kernel API annotation
2021-09-14 22:32:57 +08:00
guozhanxin 6cb093aa27 [kernel] Improve code comments. 2021-09-14 21:55:06 +08:00
Sherman d586417bb7 [kservice] 完善 API 注释 2021-09-14 11:32:11 +08:00
yangjie fe5d506ef2 【增加】memheap.c 2021-09-13 16:20:31 +08:00
liukangcc 202b23371d [update] thread.c api annotation. 2021-09-13 13:58:18 +08:00
yangjie 464d0c5a97 [kernel] update comments 2021-09-11 16:40:56 +08:00
liukangcc 48c7a455e6 [update] src/thread.c function description. 2021-09-10 18:18:37 +08:00
guozhanxin e6f5282f6e [kernel] Improve the code comment of the cpu.c 2021-09-10 18:08:32 +08:00
yangjie 5de6996670 [kernel]update format 2021-09-10 17:51:52 +08:00
yangjie a912a2f88f [kernel]Normalized kernel API annotation 2021-09-10 17:31:31 +08:00
guozhanxin e562c6f24b [kernel] 裁剪尾随空格 2021-09-10 16:31:31 +08:00
guozhanxin ce1402f773 [kernel] Improve the code comment of the components.c 2021-09-10 15:52:50 +08:00
guozhanxin 921e6057aa [clock] Improve the code comment of the clock.c 2021-09-10 15:52:03 +08:00
guozhanxin 4e4f381fec [add] a comment for the signal 2021-09-04 17:48:12 +08:00
Bernard Xiong c89e7e43ed
Merge pull request #4976 from mysterywolf/finsh_kconfig
[finsh] finsh组件可以选择是否包含内置命令
2021-09-02 10:03:03 +08:00
WillianChan 75b65ebcf2 [fix][kernel][timer]fixed timer ASSERT exception due to multithreaded scheduling
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-08-31 17:14:30 +08:00
supperthomas a35520f841 fix the return 2021-08-30 07:33:05 +08:00
Meco Man 1997113fbc FINSH_USING_BUILT_IN_COMMANDS改MSH_USING_BUILT_IN_COMMANDS 2021-08-28 16:48:08 -04:00
supperthomas 320c44adf8 add the fixed comment 2021-08-28 23:33:13 +08:00
Meco Man 29828dc94f [finsh] finsh组件可以选择是否包含内置命令 2021-08-25 19:48:15 -04:00
Meco Man 247f21f998 [kernel][timer] 规范内部函数和变量命名 2021-08-17 06:17:38 -04:00
supperthomas 19bcf9ae32 add the formatted file 2021-08-16 22:07:46 +08:00
supperthomas 30fd28a89a add the comment of timer.c 2021-08-15 23:04:35 +08:00
supperthomas 33a6700f16 add the comment of irq.c 2021-08-15 23:04:22 +08:00
Bernard Xiong a6df4391ed
Merge pull request #4924 from GuEe-GUI/master
[bsp/virt64/aarch64]添加qemu-virt64-aarch64平台
2021-08-10 18:03:07 +08:00
GuEe-GUI b7dd004de0 [bsp/virt64/aarch64] Add 'qemu-virt64-aarch64' bsp 2021-08-06 18:35:58 +08:00
Meco Man 67f2f323a2 [kernel] 规范内部函数命名 2021-08-06 15:20:27 +08:00
Bernard Xiong 054f6db3e6
Merge pull request #4760 from mysterywolf/Internafunction
[kernel] 规范内核内部函数命名
2021-08-05 16:57:16 +08:00
Meco Man c10678c1f0 内部函数以_开头 2021-08-04 10:53:17 +08:00
Meco Man b339b5cf33 [src][Kconfig] 增加隐性RT_USING_ASM_MEMCPY定义 2021-08-03 12:05:07 +08:00
rtthread-bot 7ef6bb4a0d Merge remote-tracking branch 'rtt_gitee/gitee_master' 2021-07-15 16:26:44 +00:00
liuduanfei 4e40129e57 Kconfig 中添加 RT_PRINTF_LONGLONG 的选择,默认不选择 2021-07-15 08:30:17 +00:00
liuduanfei 1d276ac4b3 清除 kservice.c 中对 RT_PRINTF_LONGLONG 的支持 2021-07-15 08:28:30 +00:00
liuduanfei f33c89ce5a 64位模式下 默认支持 RT_PRINTF_LONGLONG 2021-07-14 07:02:56 +00:00
xukai c0e48f0417 [components][kernel] 解决多核下 finsh 不能响应串口输入问题 2021-07-09 17:37:46 +08:00
chenjh 9f3e349f69 [comment] Optimize the comment for ipc 2021-07-09 10:54:51 +08:00
Bernard Xiong a28fd885b0
Merge pull request #4846 from fenghuijie/master
修改irq handle接口rt_hw_trap_irq,支持核间IPI中断处理
2021-07-07 20:24:19 +08:00
Meco Man 6e334416e3 [ipc][mutex] 补充注释 2021-07-07 10:16:49 +08:00
Meco Man edcdd126ed [kernel][ipc] 移除mutex RT_IPC_FLAG_FIFO 功能 2021-07-07 09:47:09 +08:00
fenghuijie 0015af02e4 调整代码,以支持cpu usage 2021-07-05 18:33:22 +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
杨澄 ec3c1d4d00
[kernel] Fix comment error for rt_mutex_detach(). 2021-06-23 21:23:07 +08:00
Meco Man 921e606426 将defined(__CC_ARM) || defined(__CLANG_ARM) 改为 ifdef __ARMCC_VERSION 2021-06-13 17:36:42 +08:00
guo b24447a60a
Merge pull request #4785 from mysterywolf/endif
[kernel] 补充endif后缀注释
2021-06-13 09:39:52 +08:00
Bernard Xiong 2be1cb420f
Merge pull request #4788 from yangjie11/memheap
[src] add RT_WEAK for rt_malloc_align,rt_free_align
2021-06-12 11:56:52 +08:00
Meco Man 4fa92ae3f6 [kernel] 补充endif后缀注释(4) 2021-06-11 13:13:36 +08:00
yangjie fa1f1ef485 [src] add RT_WEAK for rt_malloc_align,rt_free_align 2021-06-11 10:00:23 +08:00
Meco Man 8b53609f57 [kernel] 补充endif后缀注释(3) 2021-06-10 18:39:43 +08:00
Meco Man e019a57ff3 [kernel] 补充endif后缀注释(2) 2021-06-10 17:58:31 +08:00
Bernard Xiong c8f72a215c
Merge pull request #4780 from mysterywolf/endif
[kernel]补充endif后缀注释
2021-06-10 15:16:49 +08:00
Meco Man 24b4b6cbb9 [kernel]补充endif后缀注释 2021-06-10 01:48:17 +08:00
Meco Jianting Man e7097118d2
Merge pull request #49 from RT-Thread/master
update
2021-06-08 10:53:18 +08:00
Meco Man bb848db2a4 解决冲突 2021-06-08 10:49:20 +08:00
Bernard Xiong 0949986cf1
Merge pull request #4770 from mysterywolf/heap
[bug][kernel][heap] 将内存堆信号量保护机制由FIFO改为PRIO
2021-06-08 10:24:47 +08:00
Meco Man b2dd3f00f0 [bug][kernel][heap] 将内存堆保护机制由FIFO改为PRIO 2021-06-07 16:45:39 +08:00
Meco Jianting Man 2b6762e859
remove fix priority inversion bug of mutex 2021-06-05 13:05:11 +08:00
Meco Jianting Man bfd8d21e38
Merge branch 'master' into mutexrevert 2021-06-05 13:03:45 +08:00
Meco Man 076941612a [kernel] 规范内核内部函数命名 2021-06-04 00:34:27 +08:00
Bernard Xiong 2884700817
Merge pull request #4759 from mysterywolf/rt_tick
[kernel] 对rt_tick变量增加volatile修饰,防止编译器优化时出现问题
2021-06-03 23:52:38 +08:00
Bernard Xiong e984037e44
Merge pull request #4758 from mysterywolf/protect
[bug][kernel] 保持空闲任务钩子函数调用的原子性
2021-06-03 20:23:00 +08:00
Meco Man e0b66ccab8 [kernel] 对rt_tick变量增加volatile修饰,防止编译器优化时出现问题 2021-06-03 20:09:26 +08:00
Meco Man 5a6bc99006 [bug][kernel] 保持空闲任务钩子函数调用的原子性 2021-06-03 19:05:36 +08:00
guozhanxin 51ec75f71d [update]format memheap.c 2021-06-03 15:15:18 +08:00
guozhanxin 8e8ae9c951 [src][memheap] Fix the crash problem after opening Oz optimization on ac6. 2021-06-03 15:02:00 +08:00
Meco Man f34e9323b4 对rt_tick_increase临界区进行保护 2021-06-01 14:41:55 +08:00
Bernard Xiong 84fb09230f
Merge pull request #4741 from geniusgogo/fix_tick_increase
🐛 🐛  **It is strongly recommended to upgrade with all versions of the relevant code.**

fix rt_tick_increase critical code protection
2021-06-01 11:10:26 +08:00
Bernard Xiong 472be15404
Merge pull request #4745 from mysterywolf/rt-exit
[kernel][thread.c] 规范内部函数命名方式
2021-06-01 11:05:49 +08:00
Bernard Xiong 892edb4f4c
Merge pull request #4746 from mysterywolf/schedulor
[kernel][注释] 明确rt_schedule的调度时刻
2021-06-01 11:05:29 +08:00
Meco Man 8b82b83482 [kernel] 增加rt_mutex_trytake 2021-05-30 11:47:33 +08:00
Meco Man 2e11562772 [kernel][注释] 明确rt_schedule的调度时刻 2021-05-29 19:10:48 +08:00
Meco Man 039d7979d8 [kernel][thread.c] 规范内部函数命名方式 2021-05-29 17:30:18 +08:00
geniusgogo 37960723b8 fix rt_tick_increase critical code protection 2021-05-28 18:42:40 +08:00
tangyuxin d936746806 [kernel] Improve kernel stability 2021-05-28 10:28:00 +08:00
yangjie cd326d849a [src]移除 C99 依赖 2021-05-25 18:28:30 +08:00
Meco Jianting Man c58d893c1a
[kernel][idle] _has_defunct_thread函数增加条件编译
_has_defunct_thread函数增加条件编译,防止没有开启heap时报警
2021-05-22 17:21:42 +08:00
Meco Man 02331fd30d revert #3647 2021-05-17 21:00:40 +08:00
Hunter f7d198463e
注释错误,此处的场景是zone满了,不是空了 2021-05-15 21:57:01 +08:00
armink c61419b69b Update the version number to 4.0.4 2021-05-10 09:10:54 +08:00
geniusgogo ac2c734583 fixed rt_kprintf %s precision print error. 2021-05-07 14:53:48 +08:00
Meco Man 305f9946d8 clarify the context 2021-04-12 23:08:40 +08:00
Meco Man 0d21f37119 [kernel][irq] 优化DEBUG打印输出位置,防止造成歧义 2021-04-12 23:01:35 +08:00
Meco Man e65b2a1c2e add "kservice optimization" option 2021-04-09 13:37:55 +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
Bernard Xiong bf2c74f654
Merge pull request #4478 from Eureka1024/master
Fix code comment error for function rt_memset().
2021-03-20 18:22:10 +08:00
Meco Man 846102efa1 [kernel][device] remove rt_device_init_all() 2021-03-19 03:01:07 +08:00
杨澄 8836cb7895
Fix code comment error for function rt_memset(). 2021-03-17 23:55:27 +08:00
Bernard Xiong 4a0855c276
Merge pull request #4359 from willianchanlovegithub/Willianchan
[kernel][memheap]add memory heap track and memory heap check.
2021-03-15 09:25:53 +08:00
Bernard Xiong ca8056072d
Merge pull request #4329 from liruncong/delay_until_3
修正rt_thread_delay_until时间不准问题
2021-03-11 15:26:06 +08:00
Meco Man 678306d300 [kernel]auto formatted 2021-03-08 11:25:38 +08:00
WillianChan ffe4493982 [kernel][Konfig]modify Kconfig file
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-03-05 16:16:34 +08:00
Bernard Xiong 8ba8608894
Merge pull request #4391 from cliff-cmc/dev
Add memtrace command for memheap.c
2021-03-05 08:16:43 +08:00
liruncong 5ce889ea82 撤销有符号比较,仍应使用无符号比较 2021-03-04 19:33:28 +08:00
Meco Man 58f000bdce 修改拼写错误 2021-03-01 23:58:04 +08:00
张世争 72d7f6c0ad [update][kernel]规范rt_object_t强制转换的使用,消除上次提交的编译警告 2021-02-28 12:00:44 +08:00
Meco Man 00cebaacac add RT_KERVICE_USING_STDLIB 2021-02-28 05:07:02 +08:00
Bernard Xiong 2bf53d315d
Merge pull request #4369 from mysterywolf/removeminilibc
[libc]移除minilibc 并将其职能并入newlibc中
2021-02-27 09:12:45 +08:00
cliff-cmc eea0c3d74a Add memtrace command for memheap.c 2021-02-26 11:45:19 +08:00
张世争 62137eec9a [update][kernel]规范rt_object_detach的使用 2021-02-26 10:38:31 +08:00
Bernard Xiong 86aec6371a
Merge pull request #4381 from mysterywolf/exit
[kernel]  rt_thread_control() 关闭线程后增加rt_schedule调度
2021-02-24 16:43:00 +08:00
Meco Man 2b98ac215a [kernel] rearrange rt_thread_control() - schedule the thread when close it 2021-02-24 16:29:43 +08:00
Meco Man b2d3317c6a remove minilibc 2021-02-23 03:21:16 +08:00
tangyuxin be864bcdd1 [ipc] fix IAR Compilation error 2021-02-20 20:44:46 +08:00
WillianChan 4b4ab15602 [kernel][memheap]rename memtrace to memheaptrace
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-02-20 16:19:00 +08:00
WillianChan e94d907056 [kernel][memheap]fix RT_DEBUG_LOG errors.
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-02-20 15:53:21 +08:00
WillianChan 114f305f77 [kernel][memheap]add memory heap track and memory heap check.
Signed-off-by: WillianChan <chentingwei@rt-thread.com>
2021-02-20 15:35:45 +08:00