Commit Graph

999 Commits

Author SHA1 Message Date
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
liruncong 302f179c85 修正rt_thread_delay_until时间不准问题,及错误使用无符号比较问题 2021-02-09 23:18:45 +08:00
tangweikang b1cdc3a2cb [toolchain] Added support for the TASKING toolchain. 2021-02-07 12:06:02 +08:00
Bernard Xiong d514fea54a
Merge pull request #4259 from mysterywolf/gitignore
[kernel][kservice] add RT_WEAK for several functions
2021-02-04 14:23:15 +08:00
Meco Man 949aa71ad4 [kernel][kservice] add RT_WEAK for several functions 2021-01-22 11:04:47 +08:00
tmmdh 9db4d44638 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2021-01-20 18:45:20 +08:00
Bernard Xiong 84c772ea40
Merge pull request #4218 from mysterywolf/urgent
[kernel] add rt_mb_urgent()
2021-01-06 17:10:23 +08:00
Meco Man 3f9b3f57ea update 2021-01-05 09:20:53 +08:00
Meco Man cd6ca24f88 update 2021-01-04 22:34:50 +08:00
iysheng 7a5edbaabd [src/kservice.c] 更新打印提示時間信息 2021-01-04 14:22:58 +08:00
Meco Man 342dac48bd [kernel] [script] remove module.c 2021-01-04 00:29:53 +08:00
Meco Man 234f1aec99 update 2021-01-03 23:41:07 +08:00
Meco Man 661f54d1e0 update 2021-01-03 23:28:15 +08:00
Meco Man d7d663562e [kernel] update sconscript 2021-01-03 07:23:50 +08:00
Meco Man 89cf5886aa add rt_mb_urgent() and rt_mb_urgent_wait() 2021-01-03 06:19:14 +08:00
Bernard Xiong a174881e0b
Merge pull request #4209 from jesven/cleanup
cleanup操作改由当前线程退出前执行
2020-12-31 14:43:45 +08:00
shaojinchun 5957e15754 cleanup操作改由当前线程退出前执行 2020-12-31 10:31:06 +08:00
bernard b4e57db1a8 [kernel] Use object_find to implement thread_find/device_find 2020-12-31 09:47:55 +08:00
Bernard Xiong 4c399f88bb
Merge pull request #4192 from Jedcheen/master
add rt_memory_info() for memheap.c
2020-12-30 17:21:26 +08:00
Bernard Xiong 4529e9a741
Merge pull request #4198 from mysterywolf/gettick
[bug] add function rt_tick_get_millisecond() and fix bug #4012
2020-12-30 17:20:28 +08:00
Meco Man a1f4d93fc5 update 2020-12-30 16:33:30 +08:00
Meco Man 63cd26b0d1 update 2020-12-30 16:32:20 +08:00
Bernard Xiong b2a6dbadf4
Merge pull request #4135 from balanceTWK/master_hal_delay
[BSP][STM32] update void HAL_Delay(__IO uint32_t Delay)
2020-12-30 08:09:49 +08:00
Meco Man 3d5e79248d [kernel] 对IPC中减减进行摸排,防止出现减出一个很大的数 2020-12-29 00:49:18 +08:00
Meco Man c2e15e003c add function rt_hw_1ms_tick_get() 2020-12-29 00:08:24 +08:00
unknown b71a0eb1d4 add rt_memory_info() for memheap.c 2020-12-25 15:06:55 +08:00
Bernard Xiong 9971067f49
Merge pull request #4112 from enkiller/1203-0940
[timer] Fix the bug that the linked list is still mounted when the si…
2020-12-18 08:16:05 +08:00
tangweikang f91089b578 [BSP][STM32] update void HAL_Delay(__IO uint32_t Delay) 2020-12-08 14:36:38 +08:00
Bernard Xiong 3f122bd790
Merge pull request #4053 from yangjie11/kernel
[src][scheduler] remove RT_USING_FINSH in kernel, remove list_thread()
2020-12-07 14:17:57 +08:00
tangyuxin 014105025a [timer] Fix the bug that the linked list is still mounted when the single timer is not modified 2020-12-03 09:43:09 +08:00
guozhanxin 7b28bc6ede Fixed an issue with rt_timer_start being broken and destroying the timer list 2020-11-27 10:35:13 +08:00
yangjie11 077ac68661 [src/SConscript]update 2020-11-25 15:45:35 +08:00
yangjie11 6e46b3fec0 Merge branch 'master' of https://github.com/RT-Thread/rt-thread into malloc 2020-11-25 14:36:54 +08:00
Bernard Xiong adf10f2d05
Merge pull request #4081 from mysterywolf/rt_object_delete
[kernel] rt_object_delete函数优化重置object->type
2020-11-24 23:22:20 +08:00
Meco Man 05f631aa3a
[kernel] rt_object_delete函数优化重置object->type
object->type = 0;
改为
object->type = RT_Object_Class_Null;
一个东西,但是提高源码可读性
2020-11-24 04:17:50 +08:00
guozhanxin a22decb71b 【优化】在代码中移除 rt_system_object_init/rt_system_tick_init 的调用。 2020-11-23 11:39:38 +08:00
yangjie11 d79802b942 [src][SConscript] Provide user heap options 2020-11-21 17:56:02 +08:00
yangjie11 1784c8be31 [src][scheduler] remove RT_USING_FINSH in kernel, remove list_thread() 2020-11-21 14:53:30 +08:00
yangjie11 b082c91d8b [src] add a __RTTHREAD__ global macro definition 2020-11-18 20:36:42 +08:00
minghao_wang b9a186952c fix bug of rt_memheap_detach 2020-11-16 15:10:22 +08:00
thread-liu ea89767f2c [update] check whether it's a same console device. 2020-11-02 15:00:12 +08:00
tmmdh 55c0a9f279 fix the conflicting file. 2020-10-25 11:54:06 +08:00
Bernard Xiong ee733babe5
Merge pull request #3975 from mysterywolf/master
[bug fixed] add mb mq value overflow-check code
2020-10-24 13:17:20 +08:00
mysterywolf 98f0cfbf6e define maximum value of ipc type 2020-10-23 01:04:06 +08:00
Bernard Xiong 0776b36a4f [Kernel] fix the delay_until issue 2020-10-22 22:44:58 +08:00
mysterywolf b43f7365a4 [bug fixed] add mb mq value overflow-check code 2020-10-22 07:13:49 +08:00
mysterywolf b93b494239 [bug fixed] add mutex values' overflow-check code 2020-10-21 17:15:43 +08:00
mysterywolf 2469335e21 [fix bug] #3951 2020-10-11 17:54:39 +08:00
Bernard Xiong 13044b1e29
Merge pull request #3940 from RT-Thread/timer_issue
[kernel] fix the timer issue
2020-10-11 11:01:40 +08:00
Bernard Xiong aeff91b2a7
Merge pull request #3769 from jesven/fix_yield
解决yield操作不能及时释放cpu的问题
2020-10-01 15:46:10 +08:00
Bernard Xiong 1c6700acfd [kernel] fix the timer issue 2020-09-30 23:50:18 +08:00
Bernard Xiong d890d555a7
Merge pull request #3886 from jesven/fix_smp_ready_table
修正多核rt_schedule_remove_thread时pcpu的ready_table判断问题
2020-09-05 08:59:06 +08:00
shaojinchun 731e64f0c5 修正多核rt_schedule_remove_thread时pcpu的ready_table判断问题 2020-09-04 12:12:01 +08:00
chenchaoqun c15a7858c9 [fix] thread control bug about RT_THREAD_CTRL_CLOSE command 2020-09-02 15:04:42 +08:00
xieyangrun 76d1651a74 fixed the iterator failure for softtimer list timeout check. 2020-08-15 20:15:29 +08:00
Bernard Xiong c0d78d4f88
Merge pull request #3773 from ErnestChen1/event_option0717
[modify] if ... else if constructs to be terminated with an else clau…
2020-08-03 21:41:13 +08:00
Bernard Xiong 70142efbf2
Merge pull request #3775 from ErnestChen1/event_goto
[add] a macro to be isolated while using signals in rt_mutex_take fun…
2020-08-03 21:19:30 +08:00
Bernard Xiong 65d4e732cc
Merge pull request #3774 from ErnestChen1/switch_default0727
[add] switch default clause
2020-08-03 21:14:09 +08:00
Bernard Xiong aa7247eccd
Merge pull request #3764 from ErnestChen1/isdigit0724
[modify] internal function 'isdigit' name to '_isdigit'
2020-08-01 16:51:55 +08:00
Bernard Xiong bb84e235af
Merge pull request #3787 from mysterywolf/master
fix在rt_event_recv函数中,如果事件已经满足无需阻塞的情况下,没有给thread->event_set/event_info…
2020-07-30 14:10:04 +08:00
Bernard Xiong 4f674ef149
Merge pull request #3786 from jesven/avoid_critical_deadlock
avoid deadlock (rt_hw_interrupt_disable and rt_enter_critical when en…
2020-07-29 11:08:18 +08:00
Meco 1fe077a0be fix在rt_event_recv函数中,如果事件已经满足无需阻塞的情况下,没有给thread->event_set/event_info赋值的问题 2020-07-29 09:57:32 +08:00
Bernard Xiong 18d1683092
Merge pull request #3777 from ErnestChen1/strcmp0727
[format] code style of rt_strcmp function
2020-07-29 09:12:28 +08:00
shaojinchun 0e61949116 avoid deadlock (rt_hw_interrupt_disable and rt_enter_critical when enable smp) 2020-07-28 09:55:01 +08:00
chenchaoqun 984e8e5651 [modify] internal function 'isdigit' name to '_ISDIGIT' 2020-07-27 15:46:21 +08:00
chenchaoqun 9f41cbced8 [format] code style of rt_strcmp function 2020-07-27 14:18:16 +08:00
chenchaoqun a78c6bedea [add] a macro to be isolated while using signals in rt_mutex_take function. 2020-07-27 14:01:30 +08:00
chenchaoqun 55cfefd90a [add] switch default clause 2020-07-27 11:50:48 +08:00
chenchaoqun b328c1cbac [modify] if ... else if constructs to be terminated with an else clause, which other option is invalid and delete surplus space. 2020-07-27 11:38:46 +08:00
shaojinchun 3ed84b8d03 解决yield操作不能及时释放cpu的问题 2020-07-24 21:13:56 +08:00
David Lin 160811b77a
Minor optimization for mempool.c
1. Improve code readability,  unify the variable name  in functions "rt_hw_interrupt_enable(level);" and "rt_hw_interrupt_enable(level);",
so changed variable  "temp" to "level";
2020-07-23 19:35:31 +08:00
Bernard Xiong 423270936a
Merge pull request #3494 from greed-island/event
Update ipc.c
2020-05-30 09:43:21 +08:00
Bernard Xiong 8e3e0edcc5
Merge pull request #3604 from cliff-cmc/kernel
[Kernel] Fix double release for thread
2020-05-25 15:08:49 +08:00
cliff-cmc 7471a665db
Update thread.c 2020-05-25 08:43:13 +08:00
Bernard Xiong b98690e211 [Kernel] Fix the maxlen issue in rt_object_get_pointers 2020-05-17 23:14:24 +08:00
Cliff Chen 240961e8e8 [Kernel] Fix double release for thread
Signed-off-by: Cliff Chen <cliff.chen@rock-chips.com>
2020-05-15 18:31:34 +08:00
Bernard Xiong e0bc6b86ea [kernel] Remove named comments. 2020-04-10 00:02:24 +08:00
Bernard Xiong b1eb3943a3 [Kernel] Add rt_object_get_length/rt_object_get_pointers APIs. 2020-04-10 00:01:58 +08:00
greed-island 08c15f1b11
Update ipc.c
程序的分支逻辑出错。
详见修改。
2020-03-31 23:54:41 +08:00
greed-island b082876c9b
Update mem.c
rt_realloc may cause <lfree> change, if we don't change <lfree> timely, it may cause memory leakage
2020-03-27 18:57:29 +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
suhui d6d690da1a fix the comment
Signed-off-by: suhui <3164683437@qq.com>
2020-02-21 19:46:59 +08:00
Bernard Xiong 57ff16edb9
Merge pull request #3365 from longtengmcu/master
给软件定时器增加定时器工作状态查询的功能
2020-02-07 21:31:32 +08:00
longtengmcu 720d8479a5 给软件定时器增加定时器工作状态查询的功能 2020-02-07 16:43:39 +08:00
Bernard Xiong e7af915cf2
Merge pull request #3363 from armink/fix-kservice
Update show version info.
2020-02-07 16:10:47 +08:00
朱天龙 (Armink) a7c590773e
Update show version info. 2020-02-07 13:08:04 +08:00
Bernard Xiong c62ad71203
Merge pull request #3334 from geniusgogo/fixed_code_style
fixed whitespace character
2020-01-24 19:07:53 +08:00
xieyangrun 3b87cb8ded [src/timer.c]fixed rt_timer_list_next_timeout multi-task safe 2020-01-15 09:34:47 +08:00
xieyangrun 618eb1c016 fixed whitespace character 2020-01-15 09:14:58 +08:00
armink dddc8ab896 Update the RT_VER_NUM to 4.0.3. 2020-01-09 10:45:21 +08:00
tyustli edfe6d5b28 [src] [components] avoid compiler optimize 2020-01-02 18:35:22 +08:00
zhaoshaowei ff44570887
[Kernel] fix typo in rt_thread_delay_util 2019-12-27 16:41:47 +08:00
Bernard Xiong 2c1f7b73a7 [Kernel] fix typo in rthread_delay 2019-12-19 09:45:58 +08:00
Bernard Xiong df57b9014c
Update thread.c 2019-12-19 08:06:53 +08:00
Bernard Xiong 4a14b8f59a [Kernel] Add delay_util implementation. 2019-12-18 21:38:26 +08:00
Bernard Xiong 992d3af3ae [kernel] code and comments cleanup 2019-12-16 13:59:46 +08:00
Bernard Xiong 0548b3af6f
Merge pull request #3203 from jesven/fix_thread_exit
修正在多核时,运行在另外核上的idle任务有可能会插在rt_thread_exit调用rt_schedule之前释放其资源的问题
2019-11-16 10:04:56 +08:00
shaojinchun 88b552276b 修正在多核时,运行在另外核上的idle任务有可能会插在rt_thread_exit调用rt_schedule之前释放其资源的问题 2019-11-15 10:45:12 +08:00
Bernard Xiong 69e8c0324e
Merge pull request #3199 from BernardXiong/fix_signal_issue
[Kernel] Fix the signal issue when the context switch is triggered bu…
2019-11-13 08:59:39 +08:00
Bernard Xiong da7751c044
Merge pull request #3129 from jesven/fix_same_prio
修正相同优先级任务切换太频繁的问题
2019-11-12 22:47:18 +08:00
Bernard Xiong 6fca4a7722 [Kernel] Fix the signal issue when the context switch is triggered but not immediately handled. 2019-11-12 21:23:56 +08:00
shaojinchun cdaf8c65ca 修正rt_thread_delete在特定点被切走后不能回来继续执行的问题 2019-11-12 16:02:24 +08:00
shaojinchun e03ac83ad3 将yield状态置于tcb的stat位域中 2019-11-05 08:41:38 +08:00
shaojinchun 9a38bba168 使can_yield成员的赋值更好理解 2019-10-12 11:57:27 +08:00
shaojinchun b53bd79783 同步单核时的同优先级切换问题 2019-10-12 11:52:08 +08:00
shaojinchun 234af6aaa2 修正相同优先级任务切换太频繁的问题 2019-10-12 10:51:47 +08:00
Bernard Xiong 413fcba30a
Merge pull request #3108 from enkiller/master
[kernel][ipc] 修复创建0长度的消息队列宕机问题
2019-09-29 09:28:30 +08:00
Bernard Xiong 71311b73ae [Kernel] Fix the wrong indentation 2019-09-28 12:26:48 +08:00
Bernard Xiong 5cd6509296 [Kernel] cleanup code of spinlock in SMP Kernel 2019-09-28 11:56:03 +08:00
shaojinchun cb07e5fb24 开放spinlock相关函数 2019-09-27 14:38:33 +08:00
tangyuxin 255825835e [kernel][ipc] 修复创建0长度的消息队列宕机问题 2019-09-27 14:21:52 +08:00
tangyuxin e4671d2916 [kernel][ipc] add send wait support for message queue 2019-09-19 10:10:02 +08:00
Bernard Xiong ae7a33c27c
Merge pull request #3077 from jesven/fix_mempool
修正rt_mp_free有可能唤醒一个错误任务指针的问题
2019-09-17 14:11:14 +08:00
shaojinchun ae1fdc70f0 修正rt_mp_free有可能唤醒一个错误任务指针的问题 2019-09-16 16:55:40 +08:00
yangjie e7cb38c9c3 [src]解除组件初始化与使用user main的依赖 2019-09-11 12:01:24 +08:00
LinJieqiang d16d78c53e fix spelling mistake for "RT_IDEL_HOOK_LIST_SIZE" 2019-09-05 08:33:12 +08:00
iglencao 37de4d6054 Create IPC.ipch
这里注释应该由semaphore改为mutex
2019-08-10 22:45:00 +08:00
tyustli 85a9f5add9 fix bug in Thread.cpp/Thread.h/components.c files 2019-07-27 17:33:36 +08:00
tangyuxin 6a170ddbe4 [src][idle] 修复一处编译警告 2019-07-13 09:30:23 +08:00
tangyuxin df3a9e573f [src][irq] 添加 WEAK 修饰,中断嵌套数可由外部提供。 2019-07-12 11:15:20 +08:00
tyx c8e27adf1f [src][ipc]完善 message queue 相关定义 2019-07-09 21:34:56 +08:00
guozhanxin 5e6f852cbe [src/mempool.c] add parameter check.|添加参数检查。 2019-07-01 12:56:12 +08:00
tyustli d8eb0cfc1e fix kernel and framework no cast type error 2019-06-18 20:09:19 +08:00
Bernard Xiong 3463a756d9 [kernel] skip warning when disable debug. 2019-06-07 22:44:24 +08:00
armink 6408aac04a Update the version number to 4.0.2 2019-05-17 13:49:32 +08:00
HubretXie edccf1c07d
Update kservice.c
修复rt_kprintf输出long long类型数据问题
2019-05-16 10:24:54 +08:00
shaojinchun 8dd2a07d45 去除scheduler.c的_get_highest_priority_thread函数中重复判断 2019-05-11 13:51:50 +08:00
shaojinchun 057c7da3a3 修改signal模块默认log级别 2019-05-11 09:37:39 +08:00
shaojinchun c5249157d7 增加signal的状态位说明及一处代码修改,以防止编译警告 2019-05-11 09:35:26 +08:00
shaojinchun 737d58fbb9 修正_get_highest_priority_thread中对“是否只有idle可运行”判断位置的问题 2019-05-11 09:35:17 +08:00
shaojinchun 6cdfb2ac92 fix signal code 2019-05-11 09:34:26 +08:00
Bernard Xiong 2bf9ba0675
Merge pull request #2661 from BernardXiong/pre-release_v4.0.1
Pre-release for v4.0.1
2019-05-09 12:57:47 +08:00
Bernard Xiong 43c1236ec9 [Kernel] code cleanup for indentation. 2019-05-09 08:57:24 +08:00
Bernard Xiong 4127cc13bf [Kernel] Move the ++/-- operator outside of condition. 2019-05-09 08:48:38 +08:00
EvalZero c57f2370ad [components][pm]improve low power management components 2019-05-06 18:17:55 +08:00
shaojinchun 7bcee9bcb1 semaphore结构中value仍改为uint16_t,加入对其设置范围的检测,加入对齐变量 2019-04-24 09:14:00 +08:00
yangjie ce51a27f87 [src/components.c]remove the repetitive rt_hw_interrupt_disable() function before rtthread_startup() 2019-04-15 17:56:19 +08:00
armink fa4d4ab7cf Update all of debug log definition to DBG_TAG and DBG_LVL. 2019-04-12 10:18:57 +08:00
Bernard Xiong 7d2471c423
Merge pull request #2544 from BernardXiong/disable_color
[Kernel] Disable color log in default
2019-04-06 10:48:41 +08:00
Bernard Xiong 0366eb13ac [Kernel] Fix the critical issue when scheduler not start 2019-04-04 10:58:24 +08:00
Bernard Xiong d517389e52 [Kernel] Fix the critical issue under smp 2019-04-04 10:06:28 +08:00
BernardXiong 84407ef186 [Kernel] Disable color log in default 2019-04-04 01:11:11 +00:00
Bernard Xiong 25186f3e19
Merge pull request #2511 from BernardXiong/fix_object
[WIP][Kernel] Add object re-initialization check.
2019-04-03 13:26:51 +08:00
Bernard Xiong 4d3b4abfeb [Kernel] To check object re-initialization in the list 2019-04-02 17:33:07 +08:00
yangjie a7f4f120dd [src][Kconfig]Open soft_timer by default 2019-04-01 17:10:41 +08:00
Bernard Xiong 437b0da91e
Merge pull request #2518 from ErnestChen1/master
[src/clock.c] avoid warning
2019-03-27 20:37:07 +08:00
Ernest Chen aa3295d7f0 [src/clock.c] avoid warning 2019-03-27 19:50:40 +08:00
BernardXiong 50a97669cf [Kernel] Add object re-initialization check. 2019-03-26 13:49:18 +00:00
BernardXiong fd9835e4f4 [Kernel] Fix the bsp external config name 2019-03-26 05:08:24 +00:00
BernardXiong 1487a4f732 [Kernel] Support ARCH data types definitions 2019-03-26 01:03:39 +00:00
MurphyZhao 0f673df08a [src/kservice.c] 修复 rt_vsnprintf 格式化后宽度不正确的问题
[src/kservice.c] 修复 rt_vsnprintf 处理 size 和 buf 为 0 极端情况的 bug (对 0 地址写入)

Signed-off-by: MurphyZhao <d2014zjt@163.com>
2019-03-25 16:50:13 +08:00
Bernard Xiong efd8b404a3
Merge pull request #2480 from HubertXie/master
【修复】修复ms转tick时计算溢出问题
2019-03-23 06:25:27 +08:00
ZYH 163772fb67 fix slab at 64bits CPU 2019-03-20 15:11:52 +08:00
HubretXie 348bd83b08
【修复】修复计算中间值溢出问题
rt_tick_from_millisecond
当入参较大时,计算中间值会出现溢出情况,导致转换结果出错
2019-03-20 14:54:17 +08:00
armink 3e4a93cc91 Delete the unused '--keep' link flag when used RT_USED marco. 2019-03-12 11:40:53 +08:00
Bernard Xiong 6a12704bc6
Merge pull request #2412 from armink/fix_ulog
Update the ulog
2019-03-10 13:04:25 +08:00
liruncong 39673cf4f6 [src]消除参数传递警告(warning: passing argument 1 of 'zoneindex' from incompatible pointer type [-Wincompatible-pointer-types]) 2019-03-10 10:54:54 +08:00
armink b2c338970f [kservice] Update the rt_strnlen function. 2019-03-09 15:46:56 +08:00
Bernard Xiong 4028aa1eba
Merge pull request #2397 from lgnq/master
Update clock.c
2019-03-07 21:14:23 +08:00
lgnq 308065a9a2 Update clock.c
function rt_timer_check(void) is already decleared in rtthread.h
2019-03-07 16:30:53 +08:00
armink 8fa6c1d9cd Remove dbg_enter and dbg_exit macro. 2019-03-06 18:02:29 +08:00
armink 0d7ba79219 Remove the DBG_COLOR and DBG_ENABLE definition. 2019-03-06 17:54:30 +08:00
Bernard Xiong f9f7e6c520 [ptherad] Fix pthread_exit issue
When pthread invokes pthread_exit, it just detach self.
2019-02-14 13:45:25 +08:00
Bernard Xiong 7383269905 [Kernel] Code cleanup for compiling warning. 2019-02-12 14:33:45 +08:00
Bernard Xiong 25988d30d9 [Kernel] Add thread detach for system thread 2019-02-07 23:49:46 +08:00
armink 791c2c89cf [kservice] Update the rt_show_version info to 2019. 2019-01-28 20:12:44 +08:00
armink 9133dde430 [Kconfig] Update the version number to 4.0.1 2019-01-28 20:11:45 +08:00
Bernard Xiong 7aede1befb
Merge pull request #2245 from zhaojuntao/fix-sprintf
[src][kservice.c] 修复 snprintf 中 `print_number` 函数错误解析 `%.0d` format 的问题
2019-01-25 10:29:24 +08:00
Bernard Xiong 69994ca210 [Kernel] Fix rt_schedule_insert_thread issue
When suspend current thread and then enable interrupt, it's possible resume "the current thread" immediately and insert to ready queue. The rt_schedule_insert_thread should change  the status of "current thread" to RUNNING statue.
2019-01-24 09:30:30 +08:00
MurphyZhao 5c76d3d516 [src][kservice.c] 修复 snprintf 中 `print_number` 函数错误解析 `.0` format 的问题
Signed-off-by: MurphyZhao <d2014zjt@163.com>
2019-01-21 19:28:44 +08:00
Bernard Xiong de624c52c1 [Kernel] Enable RUNNING status in thread. 2019-01-13 11:23:08 +08:00
Bernard Xiong d266d681a1 [kernel] Fix the 64bit issue for idle thread cpu binding. 2018-12-24 09:07:56 +08:00
Bernard Xiong 58be04b693 [kernel] format scheduler log. 2018-12-19 20:10:18 +08:00
Bernard Xiong a74a3031f0
Merge pull request #2081 from jesven/sync_smp_skeleton
Sync smp skeleton
2018-12-18 14:02:04 +08:00
shaojinchun eff767a074 remove rt_hw_mb define
sync smp skeleton
2018-12-17 11:02:09 +08:00
zhaohengbo 10d00ff41c reduce change 2018-12-15 20:27:38 +08:00
zhaohengbo afcd8b4521 fix some bug when stack grows upward 2018-12-15 11:20:24 +08:00
Bernard Xiong f9f959f33e [Kernel] Fix the thread->sp data type issue. 2018-12-14 22:46:34 +08:00
Bernard Xiong 1f37de29c4 Fix the value width issue under 32/64 bit arch. 2018-12-13 14:54:26 +08:00
shaojinchun b3e1507bcf 1 RT_THREAD_CTRL_BIND_CPU define to 4
2 RTM_EXPORT(rt_cpus_lock_status_restore)
3 sync ARCH_CPU_STACK_GROWS_UPWARD in _rt_scheduler_stack_check()
2018-12-12 09:36:39 +08:00
Bernard Xiong 2a7d814f77 [libcpu] Add unified RISC-V libcpu porting. 2018-12-08 10:41:38 +08:00
armink a0243d7795 Add RTT version number on Kconfig file. 2018-11-27 13:47:03 +08:00
shaojinchun 94a2e751a5 修正idle.c中一处宏定义位置 2018-11-22 22:06:02 +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 00a655ac1c [Kernel] Add ARCH_CPU_STACK_GROWS_UPWARD option 2018-11-11 15:56:02 +08:00
geniusgogo cca6e38758 Merge branch 'master' into fix_kconfig 2018-11-10 10:47:21 +08:00
geniusgogo 379451c081 code indent 2018-11-10 10:45:36 +08:00
Bernard Xiong d1c177f48b [Kernel] Fix typo. 2018-11-09 09:17:43 +08:00
geniusgogo 1b8d7b3557 fixed Kconfig IDLE hook config 2018-11-08 22:25:47 +08:00
armink 83b7b763b7 The dbg_log API is DISCARDED. Change all dbg_log to LOG_X. 2018-11-02 10:20:30 +08:00
Bernard Xiong b31888de49 [Kernel] Fix the rt_memset/memcpy issue under 64bit ARCH. 2018-11-01 09:09:54 +08:00
Bernard Xiong 432210809d [Kernel] Fix the data type issue in kservice.c 2018-10-31 21:32:34 +08:00
Bernard Xiong 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +08:00
armink cc0f5ca1cd [kernel][mem] Improve some ISR check range. 2018-10-23 16:03:17 +08:00
Bernard Xiong ff08faf605 [Kernel] Adjust the copyright information 2018-09-25 11:06:07 +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 d74d5801c8
Merge pull request #1751 from RT-Thread/feature_libdl
[Kernel] move module to libc/libdl.
2018-08-31 18:41:16 +08:00
Bernard Xiong efe4523132 [Kernel] move module tolibc/libdl. 2018-08-30 20:27:45 +08:00
Bernard Xiong 60f3d61acd [Kernel] Fix the compiling warning 2018-08-29 02:35:51 +01:00
yangjie 4a43d3cdae [src][timer.c]:modify -RT_EOK to RT_EOK 2018-08-23 15:57:45 +08:00
hichard_ren@yeah.net bbb879717c add config main thread priority 2018-07-31 17:05:01 +08:00
heyuanjie c79fbd373f [lwp]给thread添加lwp成员 2018-07-30 11:12:12 +08:00
liang yongxiang 39d0236194 [kernel] add all RT_DEBUG_* options macro to menuconfig 2018-07-17 20:15:02 +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
armink d37c289b56 [kernel][idle] Improve rt_thread_idle_sethook and rt_thread_idle_delhook code. 2018-07-14 14:04:08 +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
liang yongxiang d645525a0b [kernel] add assert to module object 2018-07-11 18:31:01 +08:00
liang yongxiang 9945ced57b [kernel] add assert to thread object 2018-07-11 18:16:39 +08:00
liang yongxiang f706131fc6 [kernel] add assert to ipc object 2018-07-11 18:02:54 +08:00
liang yongxiang 2bbf98e5ed [kernel] add assert to timer object 2018-07-11 18:02:51 +08:00
liang yongxiang 0509af9319 [kernel] add assert to memheap object 2018-07-11 18:02:25 +08:00
liang yongxiang ade8822352 [kernel] add assert to mempool object 2018-07-11 15:00:10 +08:00
liang yongxiang 5213fd0e95 [kernel] splite rt_device_unregister() and rt_device_destroy(), add assert to device object 2018-07-11 14:58:59 +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
liang yongxiang c5ed45237e [kernel] reset type when object delete or detach 2018-07-11 14:46:35 +08:00
armink 6cd8658dad [rtdbg] Change all DBG_SECTION_NAME to new format. 2018-07-11 10:23:19 +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 df64a297ab [Kernel] Remove memory ops when SLAB and module enable 2018-06-10 18:46:11 +08:00
Bernard Xiong 884fb70fe9 [Kernel] Add device ops feature. 2018-06-10 17:59:17 +08:00
Bernard Xiong 682da9b249 [Kernel] Remove object container in module feature. 2018-06-10 17:56:02 +08:00
guozhanxin d44790c8f9 [src/ipc.c]adjust rt_event_send() hook function position|调整rt_event_send()钩子函数位置 2018-05-18 19:59:30 +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
Bernard Xiong 3c31567f14 [kernel] Fix vstart_addr issue in module. 2018-04-25 23:25:49 +08:00
liang yongxiang 8dc8382277 [kernel] fixed signed/unsigned mismatch warning 2018-04-09 12:05:49 +08:00
liang yongxiang b09445cbfe [Kernel][memheap] fix rt_realloc bugs
- missing free old memory after malloc new
- free memory when new size is zero
2018-03-28 10:19:32 +08:00
朱天龙 (Armink) 4e54df820b
[kservice] Update show version year info to 2018. 2018-03-02 08:11:17 +08:00
BernardXiong 38b9ed3118 [Kernel] add sigwait implementation 2018-03-01 13:36:22 +08:00
skawu 2357842f59
没用使用RT_USING_HEAP宏时,增加一条语句用于消除此警告
没用使用RT_USING_HEAP宏时,components.c文件第211行会报警告,增加一条语句用于消除此警告(使用四个空格代替TAB)
2018-02-28 22:53:47 +08:00
714826565 d4d22d34d3 没用使用RT_USING_HEAP宏时,components.c文件第211行会报警告,增加一条语句用于消除此警告 2018-02-28 16:04:30 +08:00
emlslxl 2340408e3c fix code style 2018-02-24 16:10:44 +08:00
parai 74622c6ed3
Fix issue when loading *.o when do internal function call
Fox example for the below example code:

#include <stdio.h>

void goodBye(void)
{
	printf("Good Bye!\n");
}

int main(int argc, char* argv[])
{
	printf("Hello World!\n");
	goodBye();
	return 0;
}
2018-02-08 20:19:10 +08:00
Bernard Xiong 55e2fabbc5 [kernel] lock scheduler when cleanup thread 2018-02-07 19:55:35 +08:00
Bernard Xiong 1f37c1a497 [Kernel] Fix the object find issue when enable MODULE 2018-01-25 17:46:59 +08:00
BernardXiong 992e10ae08 [Kernel] fix the compiling warning. 2017-12-31 14:45:16 +08:00
Bernard Xiong e2d88e433e [Kernel] fix the object container initialization issue 2017-12-25 20:55:20 +08:00
Bernard Xiong 8bb0a1a151 [Kernel] Fix the module object initialization issue 2017-12-24 09:33:47 +08:00
Bernard Xiong 8ff8436fcd [Kernel] Add device_create/destroy api 2017-12-24 00:06:29 +08:00
Bernard Xiong 5326bd55a5 [Kernel] Add memory trace for small memory management 2017-12-22 14:36:35 +08:00
Bernard Xiong 2f409c85f1 [Kernel] Use rt_object_get_information to get object chain 2017-12-12 07:36:37 +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 Xiong 7bc87e4ae8 [Kconfig] Rename all of KConfig files to 'Kconfig' 2017-11-30 20:12:53 +08:00
weety c8e64a629a [kernel] Fixed module issue. 2017-11-23 11:29:02 +08:00
bernard 21cf0919b4 [Kernel] Update Kconfig to fix memory heap option. 2017-11-13 16:31:05 +08:00
bernard bbe6425f94 [KConfig] Update Kconfig
1. Change the type of RT_DEBUG_THREAD to int;
2. Add Kconfig of VBUS.
2017-11-03 21:08:00 +08:00
ArdaFu 7706316a89 [src]Add missing key RT_USING_INTERRUPT_INFO 2017-11-03 11:11:43 +08:00
flyingcys f6b71172b5 fix rt_memcpy buf in RT_USING_TINY_SIZE enable 2017-11-02 11:12:55 +08:00
bernard c733086354 [Kernel] Fix sem_release twice issue in slab. 2017-10-31 11:38:28 +08:00
armink 7a99641c71 [Kernel] Fix a bug on rt_schedule(). 2017-10-18 19:15:29 +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 b27c7e4826 [Kernel] Add signal implementation.
1. Add signal implementation;
2. Change the 'rt_uint8_t' of cmd to 'int';
2017-10-15 22:31:53 +08:00
bernard 326d405c26 [Kconfig] Use 256 as the default stack size for idle thread. 2017-10-09 15:13:19 +08:00
SummerGift 01aa54de2f [添加]:添加IDLE_THREAD_STACK_SIZE设置。空闲进程栈大小。 2017-10-09 14:22:09 +08:00
SummerGift 75b1c0fbae [错误]:RT_DEBUG_INIT不能是bool型
和一些使用这个宏的components起了冲突,无法编译通过。
2017-09-30 16:47:06 +08:00
bernard cccff34fca Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2017-09-29 10:23:56 +08:00
bernard e9a77b513f [Kernel] mutex can be used before scheduler startup. 2017-09-29 10:23:49 +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
parai 2957cf6f52 x86: bring up share object module on i386 machine
1. upddate kernel module to support i386
2. update libdl to support open *.so by absolute path
3. new test case bsp/x86/src/hello.c to test i386 module feature

Signed-off-by: parai <parai@foxmail.com>
2017-08-20 20:24:07 +08:00
armink a7e7b3dc02 [Kernel] Fix rt_realloc issue when new size is 0. 2017-08-14 16:09:54 +08:00
Yohozzy 07514c0d0a fix the end of module symbol bug when using iar compiler 2017-08-06 01:01:47 +08:00
tanek liang dcfaa9a909 [kernel] fix incompatible type error for "__rt_ffs()" 2017-07-29 14:20:08 +08:00
Bernard Xiong b9a718b80c Update components.c 2017-07-24 08:56:49 +08:00
tanek liang 2448b69d02 [kernel] rename RT_TINY_SIZE to RT_USING_TINY_SIZE 2017-07-24 00:28:15 +08:00
tanek liang d835d91ae8 [kernel] use the macro definition instead of the user main thread 2017-07-24 00:23:35 +08:00
Bernard Xiong 1f0081e796 [Kernel] Fix typo 2017-06-26 09:16:19 +08:00
Bernard Xiong 8437c049e6 [Kernel] Fix the number_mask initialization issue in TCB. 2017-06-15 23:30:18 +08:00
bernard 279fac7cbb [Kernel] Change RT_USING_IDLE_HOOK as simple definition. 2017-06-07 09:24:22 +08:00
bernard 53f042b44b Add module feature in KConfig. 2017-06-06 18:21:47 +08:00
geniusgogo 05052127c3 Update idle.c 2017-05-23 11:04:22 +08:00
geniusgogo 3c14a8867d Update idle.c 2017-05-22 23:53:55 +08:00
geniusgogo 662f619cf6 Update idle.c 2017-05-16 10:42:29 +08:00
xieyangrun e05186dd95 separate idle hook 2017-05-16 10:02:19 +08:00
朱天龙 (Armink) c3c26baf6f Update kservice.c
Update year info from 2016 to 2017
2017-04-14 14:55:35 +08:00
armink 2d593a22b7 [Kernel] Fix thread delete and thread detach bug. #712 2017-04-10 09:53:45 +08:00
Bernard Xiong b1f1536688 [kernel] Add thread_inited_hook. 2017-04-09 19:12:53 +08:00
Bernard Xiong 033d254c4d [tools] rename KConfig menu name 2017-01-31 13:22:25 +00:00
Bernard Xiong a1e5a3b309 [Kernel] Fix the Kconfig filename 2017-01-31 10:15:54 +00:00
bernard 2ce7382534 [Kernel] Add rt_kputs routine. 2017-01-31 13:18:20 +08:00
bernard d692001fd5 [tools] Add KConfig files. 2017-01-31 11:54:12 +08:00
Bluebear233 689f316100 Update components.c
修正断言错误
2017-01-02 19:52:00 +08:00
Bluebear233 0d43ebffe1 Update components.c
修正断言错误
2017-01-02 19:43:55 +08:00
Bluebear233 8d7686179c Update components.c 2017-01-01 20:23:27 +08:00
Bluebear233 6c1d60f987 Update components.c 2017-01-01 19:24:52 +08:00
dogandog 20fb863ddf Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:19:46 +08:00
dogandog 2bfacd85ae Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:18:38 +08:00
dogandog beb005e20d Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:17:36 +08:00
dogandog 70d34bce3c Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:16:07 +08:00
dogandog ed7088024d Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:15:10 +08:00
dogandog 91fb7ee1d6 Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:13:58 +08:00
dogandog aff68a36cd Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:12:39 +08:00
dogandog 3e249d2169 Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:11:38 +08:00
dogandog 4c9bd71f22 Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:10:26 +08:00
dogandog 50393389ff Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:08:35 +08:00
dogandog c314417e0b Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:07:12 +08:00
dogandog b54e72275a Correct comments about doxygen format
chang /*@{*/ to /**@{*/ and /*@}*/ to /**@}*/
2016-08-19 10:05:00 +08:00
zhangjun 65ac4a0810 增加rt_strnlen,lua采用单独的线程 2016-08-12 22:14:07 +08:00
ArdaFu 189e9b9632 [Kernel] add new hooks for support trace componment. 2016-08-09 11:29:11 +08:00
Jason Pan e4b138f810 Fix type size for 16bit cpu 2016-08-01 19:06:34 +08:00
Aubr.Cool 99e1b0d29b [src] scheduler update stackcheck 2016-06-02 09:30:34 +08:00
weety 62e770f9de Fixed 64KB stack size limit. 2016-05-31 20:39:33 +08:00
Bernard Xiong c8c4d2edcf [Kernel] Update year information in version info. 2016-04-18 13:58:01 +08:00
Bernard Xiong 49b1172b8d [Kernel] change rt_thread_exit() as a global function. 2016-04-05 14:40:49 +08:00
Bernard Xiong daf488ca77 fix the open_flag initialization issue. 2016-04-02 14:42:38 +08:00
pathletboy 63c51fbfc8 Sorry, fix missed, related #590. 2015-11-23 16:10:49 +08:00
pathletboy 78c9ddef86 fix code indent. 2015-11-23 13:23:55 +08:00
pathletboy 30cbe3cc3e add document. 2015-11-22 15:55:19 +08:00
pathletboy 5b03e37ae1 allow parameter "recved" can be null in function "rt_event_recv" 2015-11-21 20:55:41 +08:00
Bernard Xiong c7bd0aca21 [Kernel] Add rti_board_start to replace rti_start. 2015-11-09 15:25:48 +08:00
yuanbin 5968121332 Thread: Make comments in more accurate way 2015-10-23 21:54:40 +08:00
Bernard Xiong 730592df19 [Kernel] mark the free mem block with HEAP_MAGIC. 2015-09-24 21:07:54 +08:00
Bernard Xiong d0dcdd11fe [Kernel] Export more symbols for module. 2015-09-24 20:59:00 +08:00
GalaIO b886340e67 open and then get the new device
in rt_console_set_device, open new device first and get the new device to _console_device.
我在编写程序时,在device驱动中打印log,但是使用rt_kprintf时,如果_console_device存在非空,那就执行驱动的write函数,但是这是device还没有初始化成功,但是已经提前给_console_device赋值,导致了程序无故fault,以上述修改可避开这样的矛盾。
2015-09-10 22:59:51 +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
Bernard Xiong db73a31ec8 [Kernel] Fix compiling warning. 2015-08-03 16:02:02 +08:00
Bernard Xiong 783753d943 [Kernel] export more symbols. 2015-08-03 16:01:50 +08:00
ardafu 9201cbc29b [Kernel Init] Add support to use RT_USING_USER_MAIN with IAR 2015-07-29 09:58:26 +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
pangwei be7b8421a5 [Kernel]when the macro of RT_USING_COMPONENTS_INIT is not open ,then remove the source of components.c from the project.
Signed-off-by: pangwei <271372443@qq.com>
2015-05-20 15:21:29 +08:00
Bernard Xiong 2d27251d21 [Kernel] fix the Keil MDK compiling warning. 2015-05-18 18:09:16 +08:00
Bernard Xiong 90e95eca54 [Kernel] Rename init.c to components.c in kernel to avoid same file name issue. 2015-05-04 20:38:22 +08:00
Bernard Xiong 9339c2d96e [Kernel] Fix main() issue in Keil MDK 2015-04-24 11:48:24 +08:00
Grissiom b3214ed45f SConscript: fix LINKFLAGS over-written
Fix a regression on 62a0172d11.
2015-04-14 18:34:09 +08:00
Grissiom 54f8b19e12 SConscript: fix the `--keep` parameter for Keil
The old `--keep` parameter for Keil is wrong. RTFM of Keil and get it
right.
2015-04-14 18:22:46 +08:00
Bernard Xiong 4b838caaf8 Merge remote-tracking branch 'upstream/master' 2015-04-10 06:34:02 +00:00
Grissiom 2d3b2f1e94 memheap: check the USED bit in rt_memheap_free
This will ease the debugging of double-free bug.
2015-04-08 16:39:50 +08:00
Bernard Xiong 655054b1c5 [Kernel] Use main function in the Keil MDK 2015-04-03 14:27:56 +00: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 b83b1ee53d [Kernel] Change the copyright date information 2015-01-21 14:19:01 +08:00
Grissiom f8c171d5ad memheap: check against over written in rt_memheap_free 2015-01-16 11:41:20 +08:00
Grissiom 57b5c74a71 rt_kprintf: force the open_flag to be RT_DEVICE_FLAG_STREAM
Commit a6251a439e changed the serial device to check open_flag
instead of flag. So we should change the rt_kprintf counterpart as well.
2015-01-04 19:43:33 +08:00
Grissiom c045281ee2 object: fix module name testing 2014-12-24 12:10:00 +08:00
Grissiom 4bb6c8cf0c module: add !__CC_ARM when test __GNUC__
ARMCC will define __GNUC__ in "GNU mode"(with --gnu command line
option). So iff __GNUC__ && !__CC_ARM is GCC.
2014-12-01 18:54:55 +08:00
Grissiom 8615e2c8e5 kernel/timer: change row_lvl to unsigned
Use signed int as array index is unsecure.
2014-10-14 16:00:42 +08:00
Bernard Xiong bd6b39cace Update device.c 2014-09-19 14:29:03 +08:00
bernard 3b5c2e2f9f Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2014-09-11 12:55:18 +08:00
bernard 1f3ea02c5a [Kernel] Use stream mode to open console device. 2014-09-11 12:54:05 +08:00
bernard b23de95ff4 [Kernel] comments clean up. 2014-09-11 12:51:52 +08:00
bernard ab786679c7 [Kernel] comments clean up. 2014-09-11 12:50:41 +08:00
Grissiom d4133990b0 kernel/idle: fix rt_thread_idle_excute in high optimization level
The rt_list_isempty has prototype of "int rt_list_isempty(const rt_list_t *l)".
So the compiler has a good reason that the rt_thread_defunct list does
not change within rt_thread_idle_excute thus optimize the "while" loop
into a "if".

So add the volatile qualifier when test against the rt_thread_defunc list.
2014-09-02 17:21:31 +08:00
tcz717 c0629b342e fix:comment spelling mistake
relation=>relocation
2014-08-24 23:46:31 +08:00
Grissiom b8bf6bef76 kernel: mempool: fix race condition in rt_mp_alloc
When thread wake up from waiting for memory, there is a chance that
there is no memory available in high pressure. So use a loop to check
again. Otherwise, there will be a NULL reference.
2014-08-20 10:16:04 +08:00
bernard 33fed1b167 [Kernel] Better documentation for doxygen. 2014-07-21 06:29:15 +08:00
bernard 4e2a6cc361 [Kernel] The rt_object_find routine can support to find an object inside a module. The usage is: rt_object_find("module_name/object_name"). 2014-07-21 06:28:43 +08:00
Grissiom 30d68a515c src/timer: fix a compile warning 2014-07-16 22:05:02 +08:00
bernard 7a7e3002c8 [Kernel] system does not lock scheduler when invoking soft-timer timeout function. 2014-07-12 15:59:45 +08:00
bernard 1e7b089494 [Kernel] Remove rt_device_init_all implemetation. 2014-07-10 13:34:52 +08:00
bernard a1766b6c71 Add WEAK definition; 2014-06-26 14:47:53 +08:00
Grissiom dc366ecf7a device: only increase the ref_count when device is truly opened 2014-06-18 11:16:21 +08:00
Grissiom a78e42a7c8 [mempool] reset the thread->error before suspending thread
Time out result and other errors is recorded in thread->error. Dirty
error will screw up the error handling code after the thread has been
wake up.
2014-04-16 10:59:33 +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 898e0d2f3f [Kernel] stop thread timer when suspend a thread 2014-03-11 14:19:24 +08:00
bernard 31446eab4c [Kernel] application module can support arguments 2014-01-11 16:33:31 +08:00
Grissiom 04f432f47b kernel: let rt_thread_idle_excute loop until there is no dead thread
Out side world is difficult to tell whethere there is dead thread
remaining. If rt_thread_idle_excute only do one cleanup, it's hard to
finish cleanups outside the idle thread. So let is loop and do all the
cleanups in one call.
2013-12-21 11:31:40 +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 6d9e793388 kernel: timer: fix compiling bug in d59aa279c3 2013-10-19 21:07:14 +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
Bernard Xiong c29ff6b0ac Merge pull request #161 from aozima/pulls
make sure the device is in STREAM mode when used by rt_kprintf.
2013-10-17 15:43:56 -07:00
Grissiom b72001fcac kernel: mutex could only be released in thread context
Mutex has the idea of ownership, only the thread which owns the mutex
can release it. So rt_mutex_release could only be called in thread
context.  Add a debug guard to it.
2013-10-14 09:50:18 +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 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
aozima cad12ee14e update rt_kprintf: make sure the device is in STREAM mode when used by rt_kprintf. 2013-09-24 15:29:08 +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
Grissiom c465bc2c2e rt_event_recv: add a check on the option flag
Either RT_EVENT_FLAG_AND or RT_EVENT_FLAG_OR should be set in the option
flag. If none of them is present, the waiting thread will never be
resumed.
2013-09-14 13:12:23 +08:00
Grissiom ad17bc2908 fix debug output of scheduler
When print the thread names, we should use "%.*s" instead of bare "%s".
2013-08-19 10:08:11 +08:00
bernard b96b35613f add mount table 2013-07-22 07:46:10 +08:00
Grissiom c3a39444da memheap: dont alloc/memcpy when there is next node is enough for realloc
When realloc a bigger space and the next node is free and big enough, we
should directly relocate the next node instead of doing alloc/memcpy.
The new method not only faster in this cases, it would avoid memory
fragment as well.
2013-07-15 11:47:55 +08:00
Bernard Xiong 2c33678aac fix the memory block splitting issue 2013-07-11 16:20:28 +08:00