LiteOS2021
04bf3a682f
feat: synchronizing arch api
...
命名规范:修改少量Arch接口,命名规范化调整:
1.修改arch/include下接口声明,所有arch对外提供调用函数均以ArchXX命名
2.提取多个架构均有实现的公共函数声明至arch/include对应头文件中以供外部调用,并修改命名格式为ArchXX
3.修改OS_HWI_WITH_ARG为LOSCFG_PLATFORM_HWI_WITH_ARG并移至los_config.h中
4.typedef VOID (*OS_TICK_HANDLER)(VOID);暂时移至arch/include/los_timer.h中
5.实现atomic原子操作相关接口,位于arch/include/los_atomic.h,arm架构部分与汇编指令相关原子操作接口使用ARCH_ARM宏进行控制是否编译
BREAKING CHANGE: 1.修改arch/include下接口,以ArchXX命名函数
2.提取公共函数声明:ArchAtomicXchg32bits、ArchAtomicDecRet、ArchAtomicCmpXchg32bits
3.新增部分原子操作c内联实现
Close #I4N7XV
Signed-off-by: LiteOS2021 <dinglu@huawei.com>
2021-12-25 18:36:09 +08:00
ou-yangkan
c082d77f55
fix:Fix spelling errors
...
Signed-off-by: ou-yangkan <519689417@qq.com>
2021-12-20 09:35:58 +08:00
JerryH
ecce17ea48
fix: 解决定时器超时但还在队列中无法删除的问题
...
利用每次创建时,软件定时器timerId都是唯一的(0~0xffffffff循环),在超时写队列时,同时记录软件定时器id,删除的时候更新软件定时器id,那么在处理软件定时器前,
通过队列中记录的id获取软件定时器控制块,如果控制块的id不等于记录的id,那么说明该软件定时器被删除过,将不执行对应回调函数,表现为删除该定时器。
BREAKING CHANGE: SwtmrHandlerItem结构体新增swtmrID字段,用于标识超时队列中软件定时器id
Close #I4LFVD
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I716176f177c4bc07adb348936d5568fbadcbebe7
2021-12-08 15:27:49 +08:00
zhushengle
cc8a794229
feat: 调度、任务及pm解耦
...
pm中冻结线程的操作,融合至OsSchedSuspend和OsSchedResume,
使得调度模块提供对应完整的方法给任务模块,做到之间的相互解耦,
方便其它调度算法的融入。
Close #I4JTN6
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ifde7077166a2fe67e7246fa68f777844640d67db
2021-11-25 16:54:02 +08:00
zff
c886629e27
fix:系统pend类接口未对软件定时器任务进行限制,容易引发软件定时器任务非正常挂起,
...
出现响应不及时的问题
close: #I44CI9
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I6aa612f3c34eef274eaa0c98efed0a3c4736de6e
2021-10-18 16:35:51 +08:00
zhushengle
49c93b37c5
fix: 调用LOS_TaskDetach操作已退出的joinable的任务时,未正确回收该任务
...
Close #I4DZL7
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iac88818317c07807d0636712025f2c75b3b1f766
2021-10-15 10:56:02 +08:00
openharmony_ci
91bd0c2e2b
!331 fix: OS_TASK_STACK_PROTECT_SIZE undeclared error
...
Merge pull request !331 from kenneth/mpu
2021-09-29 02:50:25 +00:00
zhushengle
0fb49d4422
fix: 修复risc-v异常时,异常信息混乱且backtrace无法输出的问题
...
1.修复risc-v backtrace无法输出的问题
异常时未将fp传入,且backtrace校验不足,容易导致再次异常
2.优化task 输出信息格式
3.shell中task命令代码重复
4.OSBackTraceInit 拼写有误
Close #I4BPHX:riscv32_virt 异常时无法输出backtrace信息
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I141d5e7808fc967d846f425422f5dcf2ac01d1d1
2021-09-28 11:39:42 +08:00
kenneth
56e234b300
fix: fix OS_TASK_STACK_PROTECT_SIZE undeclared error
...
当开启LOSCFG_EXC_HARDWARE_STACK_PROTECTION宏时,增加定义OS_TASK_STACK_PROTECT_SIZE宏
close #I4C5RW
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-09-28 10:27:52 +08:00
zhushengle
ecfdf7ff9b
feat: 支持posix 和 cmsis join能力
...
支持API:
LOS_TaskJoin
LOS_TaskDeatch
pthread_join
pthread_deatch
osThreadJoin
osThreadDetach
Close #I44V26
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ib61e69c280eef2e4b3b79d9bba7bbd5a300c7fe4
2021-09-23 18:54:14 +08:00
zhushengle
9b5739ab11
feat: 低功耗支持冻结线程等需求
...
1.支持低功耗时冻结线程
2.支持延时锁
3.低功耗与idle分离
4.支持对接电源管组件的低功耗接口
LOS_PmReadLock --- 常阻塞,低功耗线程阻塞于该接口,当系统无任何模块持锁时会唤醒低功耗线程, 触发低功耗流程
LOS_PmSuspend --- 进入低功耗流程
Close #I49FJF
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I009255cfa1852b109dd8bfaf9c779e976660d621
2021-09-14 19:55:26 +08:00
zhushengle
c6600d9ddd
fix: 优化低功耗流程
...
1.normal和其它模式分离,流程分层化,使得结构较为清晰
2.tick timer处理实现优化为注册对应机制则默认支持,不注册则不执行,简化使用逻辑
3.添加 pm测试用例
Close #I46VXK
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I7810ce0ca12dce96972399adf88e8319bb487905
2021-09-09 11:46:23 +08:00
mucor
cea551e99e
feat: add cmsis ThreadFlags support
...
close: I43AYB
Signed-off-by: mucor <mucorwang@gmail.com>
2021-08-05 17:01:20 +08:00
silen
c842251bab
fix: cpup funciton repair
...
Change-Id: I42951b0c0aa16267b6a86a0e95929ae4dccf28ad
Signed-off-by: silen <wuyunjie@huawei.com>
2021-07-19 14:44:03 +08:00
openharmony_ci
0526c14017
!224 feat: 新增LOSCFG_BASE_CORE_TSK_SWITCH_HOOK 宏定义配置
...
Merge pull request !224 from zhushengle/task
2021-07-19 01:37:43 +00:00
zhushengle
39efd6fb30
feat: 新增LOSCFG_BASE_CORE_TSK_SWITCH_HOOK 宏定义配置
...
优化原任务切换对外函数钩子调用为通过宏定义实现
Close #I40Q9O
Change-Id: Ie5ab75d04e2a63cb992be968d25e876fd91ee591
Signed-off-by: zhushengle <zhushengle@huawei.com>
2021-07-15 09:44:03 +08:00
openharmony_ci
73a99977de
!215 [待合并]fix: 清理残留无效的trace代码
...
Merge pull request !215 from Zhaotianyu/0708trace_delete
2021-07-13 09:01:57 +00:00
arvinzzz
3c48951857
fix: 清理残留无效的trace代码
...
1. 删除残留无用的trace代码
2. 调整los_error.h中失效的错误类型定义
3. 整理los_config.h中的特性控制宏
close: #I3ZMB4
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I9f03c486b54ae66308f0dac1aa003dd2a5ef5b84
2021-07-13 11:31:32 +08:00
openharmony_ci
1ab9813256
!205 L0 LiteOS-M支持ARM9架构
...
Merge pull request !205 from JerryH/master
2021-07-12 00:44:56 +00:00
JerryH1011
6d7c9dfe59
feat: Support arm9
...
close: #I3WLCN
Change-Id: Id8e3ce9a9a7749cb27b52562e6d506803b38d9af
Signed-off-by: JerryH1011 <huangjieliang@huawei.com>
2021-07-12 06:39:24 +08:00
zhushengle
558ce14bec
feat: L0 支持低功耗框架
...
1.【需求描述】
L0 支持低功耗投票框架, 使内核与应用、驱动分离开,通过注册及投票机制控制系统的低功耗模式,
减低系统功耗,提升设备电池寿命。
2.【方案描述】
(1).提供注册机制,使驱动与内核分离
(2).提供投票机制,判断系统运行模式
(3).记录持锁设备,便于回溯
进入:系统运行进入idle任务时判断当前的功耗模式,如果上层应用未对当前功耗模式(deep和shutdown)
持锁,则系统准备进入当前模式,首先所有设备依次进入当前模式,如果有设备进入当前模式失败,则恢复
已进入当前模式的所有设备,并且功耗模式变为normal模式;设备依次进入当前功耗模式后cpu再进入当前
功耗模式。
恢复:功耗模式为deep时,需要恢复逻辑,时系统恢复运行。当有中断出发时,系统会退出低功耗模式,
恢复顺序为:首先cpu先恢复,然后设备依次恢复。
BREAKING CHANGE:
1.原调度中基于tick timer的低功耗扩展和当前的pm模块合并,删除原对外接口LOS_SchedSleepInit,
变为pm模块统一提供的LOS_PmRegistered接口.
2.原来在arch los_timer.h下提供的低功耗模式为枚举LOS_SysSleepEnum,其中OS_SYS_NORMAL_SLEEP
和OS_SYS_DEEP_SLEEP不符合对外定义,统一修改为LOS_SYS_NORMAL_SLEEP和LOS_SYS_DEEP_SLEEP,
并移至los_pm.h中.
3.VOID HalEnterSleep(LOS_SysSleepEnum sleep) 变更为UINT32 HalEnterSleep(VOID).
Close #I3UDNV
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Id5382c42c8055ba7850895a3f575130a73e38a65
2021-06-22 13:15:06 +08:00
openharmony_ci
804f5a809f
!130 fix: fix macro typo
...
Merge pull request !130 from kenneth/STACK_PROTECTION
2021-06-03 15:14:10 +08:00
kenneth
16003604a9
fix: fix macro typo
...
change LOSCFG_EXC_HRADWARE_STACK_PROTECTION to LOSCFG_EXC_HARDWARE_STACK_PROTECTION
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3NUX6
2021-05-18 10:02:03 +08:00
openharmony_ci
bb84279cc2
!112 fix: fix function name
...
Merge pull request !112 from rtos-lover/los_sched
2021-05-18 09:42:55 +08:00
openharmony_ci
62f6531539
!114 fix: correct typo
...
Merge pull request !114 from rtos-lover/los_task
2021-05-15 09:44:01 +08:00
YOUR_NAME
bcc34e22ed
fix: modify the return type of LOS_IntLock from UINTPTR to UINT32.
...
Change-Id: I6207e5cb7d612a154a88de4e9e274c67127361d8
2021-05-14 11:33:05 +08:00
rtos-lover
3ceface13e
fix: correct typo
...
correct typos in los_task.c
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3PYHW?from=project-issue
2021-05-08 10:23:02 +08:00
rtos-lover
f7d50d0fbf
fix: fix function name
...
correct function name OsSchedSetIdleTaskSchedParam
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3PXEX
2021-05-08 10:12:52 +08:00
openharmony_ci
6c1ce1c1cc
!84 style: align with first param line
...
Merge pull request !84 from MGY917/master
2021-04-27 11:40:12 +08:00
zhushengle
adaf6cf7c5
fix:Change the interface to LOS_UDelay and change the input parameter to microsecond.
...
Close #I3NT3Y
Change-Id: Iae33e0aff59480342b07bb4fd2e66969a09affb3
2021-04-23 17:33:27 +08:00
Guangyao Ma
c6d36f5915
style: align with first param line
...
Change-Id: Ifc14322a05a624d5c24ef4dca25c1ad7299aeed1
2021-04-23 17:10:47 +08:00
zhushengle
583d177de0
fix:Provide a CPU delay interface
...
Close #I3NT3Y
Change-Id: I30c984a95a77cbddabdae2900ab8fcf9d7eac1ac
2021-04-23 14:50:27 +08:00
zhushengle
793d2139b2
fix:Solution of conflict.
...
Close #I3IK07
Change-Id: I6913691a28c90b54fbda233209d43b981884f10c
2021-04-20 14:56:26 +08:00
Caoruihong
3cea0e42b1
remove __cplusplus guards in .c files
...
Change-Id: Ie25b83a42d3ca35c3a6d624ef01f425a85957d7f
2021-04-19 18:19:28 +08:00
zhushengle
f685eeb97d
IssueNo:#I3IK07
...
Description:liteos_m scheduling optimization and low power design.
Sig:kernel
Feature or Bugfix:Feature
Binary Source:No
Change-Id: If913b673c9b69039b51ca416be0a77ebccf2773b
2021-04-13 21:48:04 +08:00
arvinzzz
62caa74382
Description: add hook framework
...
Change-Id: I45c37c3c92e74e676818e713fa46b3a9fe970e68
2021-04-01 11:26:49 +08:00
YOUR_NAME
f5b7a2ed60
IssueNo:I3DGV9
...
Description:Add task stack protection by mpu.
Sig:liteos_m
Feature or Bugfix:Feature
Binary Source: No
Change-Id: I13e301379756f61677eeb44be41928cbf21e3eaa
2021-03-27 10:21:50 +08:00
YOUR_NAME
70ebb57f28
Fix CodingStyle.
...
Change-Id: Ib76b61c7f22b8a978a4f36e398198f2e8ec0507b
2021-03-23 16:02:05 +08:00
YOUR_NAME
34c82ccd64
Add exc dump.
...
Change-Id: Ie3b925f89a01ade5f4a4fae6ff2eff94d97176da
2021-03-22 16:33:38 +08:00
mamingshuai
778c8b9930
update openharmony 1.0.1
2021-03-11 20:30:40 +08:00
huangjieliang
25b432927c
Description: Sync liteos_m to OpenHarmony.
...
Reviewed-by: likailong
2021-01-30 18:05:13 +08:00
Caoruihong
1405111aa9
Description: refactor
...
Reviewed-by: likailong
2020-12-16 17:30:08 +08:00
likailong
72c4acf01e
Description: liteos-m refactoring
...
Reviewed-by: wangmihu, zhushengle
2020-12-02 19:40:34 +08:00
zhushengle
82082fc0e6
Description:Liteos_m Support risc-v
...
Reviewed-by:likailong, zhangfanfan
2020-11-27 15:20:02 +08:00
l00278955
07d25a8ae8
Description: liteos-m refactoring
...
Reviewed-by: liulei, shenwei
Change-Id: I7baba352c02b78aefc81fc5eca000d840d3b2fe3
2020-11-13 09:55:39 +08:00