openharmony_ci
|
11bca47b6e
|
!247 fix: tick 动态化计算优化,减小中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。
Merge pull request !247 from zhushengle/tick_sched
|
2021-08-10 06:16:34 +00:00 |
zhushengle
|
2118c84616
|
fix: tick 动态化计算优化,减小中断执行时间对系统总体时间的影响,保证软件定时器的响应精度。
方案描述:
1.周期软件定时器超时添加一个startTime字段,用于记录当前软件定时器的开始计时的时间,
在定时器响应时,开始时间修改为上一次响应的结束时间(消除了中断执行时间对软件定时器
的影响)。
2. 在执行tick中断的过程当中,持有tick动态计算锁,保证在该过程中不会触发tick周期
的计算,在tick中断结束时统一计算设置。 --- 提升tick中断的执行效率
3. 在设置tick周期时,减掉tick中断执行的时间,减小周期动态化带来的时间误差
4.新增LOSCFG_BASE_CORE_TICK_PER_SECOND_MINI配置宏,用于配置tick中断的最小响应精度
Close #I3YGP1
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ia53e4accce497bce870557c2c3387ce51fa3fed3
|
2021-08-09 21:16:22 +08:00 |
openharmony_ci
|
56dfd80ea5
|
!242 cmsis添加ThreadFlags接口支持
Merge pull request !242 from 野生毛霉君/master
|
2021-08-05 12:31:09 +00: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 |
JerryH
|
c1a6245368
|
fix: 解决arm9编译冲突问题
close #I420PQ
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I788de96b176ae73541f1dc0577262b57179151a7
|
2021-08-03 10:27:20 +08:00 |
openharmony_ci
|
4fd6a663ac
|
!235 fix: 修复QUEUE_INFO_S中waitReadTask无法保存大于32的任务编号
Merge pull request !235 from kenneth/master
|
2021-08-02 02:07:12 +00:00 |
openharmony_ci
|
23d56f4b2a
|
!241 M核代码告警清零
Merge pull request !241 from wangchen/m_codex
|
2021-07-31 03:40:50 +00:00 |
openharmony_ci
|
8f5cefe41a
|
!225 fix: 在内核初始化前期启动tick timer
Merge pull request !225 from zhushengle/tick
|
2021-07-31 02:59:35 +00:00 |
openharmony_ci
|
1d33f5e4b0
|
!234 feat: L0 支持Trace
Merge pull request !234 from LiteOS/master
|
2021-07-31 02:58:59 +00:00 |
wangchen
|
cb5f862eaf
|
fix: M核代码告警清零
【背景】定期M核代码告警清零。
【修改方案】
根据工具扫描结果,对代码告警进行更改。
【影响】
对现有的产品编译不会有影响。
re #I4386N
Signed-off-by: wangchen <253227059@qq.com>
|
2021-07-30 18:34:08 +08:00 |
YOUR_NAME
|
c136cfdf97
|
fix: Mutex锁释放后,无任务持有的情况下,owner未清空
close: #I40OC8
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: Ia06c4dc7f6d0a24a9ea05b37599ffac4f359a29f
|
2021-07-30 09:44:41 +08:00 |
LiteOS2021
|
56c93a641b
|
feat: L0 支持Trace
1.【需求描述】
L0 支持Trace,提供两种工作模式:在线模式、离线缓存模式, 用于按时间线追踪系统事件,如任务切换、中断、ipc等。
2.【方案描述】
(1).在内核模块预置静态代码桩
(2).触发桩后,收集系统上下文信息
(3).离线模式则写入内存,用户可通过dump导出;
(4).在线模式通过pipeline对接IDE进行可视化解析和展示;
BREAKING CHANGE:
1.新增一系列trace的对外API,位于los_trace.h中.
LOS_TRACE_EASY简易插桩
LOS_TRACE标准插桩
LOS_TraceInit配置Trace缓冲区的地址和大小
LOS_TraceStart开启事件记录
LOS_TraceStop停止事件记录
LOS_TraceRecordDump输出Trace缓冲区数据
LOS_TraceRecordGet获取Trace缓冲区的首地址
LOS_TraceReset清除Trace缓冲区中的事件
LOS_TraceEventMaskSet设置事件掩码,仅记录某些模块的事件
LOS_TraceHwiFilterHookReg注册过滤特定中断号事件的钩子函数
Close #I41Y9Y
Signed-off-by: LiteOS2021 <dinglu@huawei.com>
|
2021-07-30 09:29:37 +08:00 |
wangchen
|
15a2c17f79
|
fix: trustzone 中断适配
【背景】当前无法使用 trustzone。
【修改方案】
由于tz需要使用svc中断,因此删除之前使用的HalExcSvcCall的地方,改为HalSVCHandler
【影响】
对现有的产品编译不会有影响。
re #I42TFV
Signed-off-by: wangchen <253227059@qq.com>
|
2021-07-28 17:40:03 +08:00 |
kenneth
|
704cca97b1
|
fix: 修复QUEUE_INFO_S中waitReadTask无法保存大于32的任务编号
根据任务最大数创建waitReadTask数组来保存任务编号信息
close #I41N78
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-07-28 11:19:39 +08:00 |
zhushengle
|
70f3aa1c11
|
fix: risc-v 锁中断在调度后失效
risc-v架构中,由于执行完mret指令之后,未将mstatus.mpie位清除,
导致锁中断后调度保存上下文信息后, 恢复上下文时误将中断打开。
Close #I42OLJ
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ib97b8bd0fc56bd4b2a7e5c474cb240db4e9c2419
|
2021-07-28 08:57:45 +08:00 |
zhushengle
|
b3841ed1dd
|
fix: 在内核初始化前期启动tick timer
解决系统未初始化完成前无timer可用的问题。
Close #I410F0
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I3799b9b0ff03cb1dfe80a97816a484df28ae49fd
|
2021-07-21 10:02:42 +08:00 |
YOUR_NAME
|
ad8e96a00f
|
fix: los_swtmr.h不满足自包含要求对los_config.h存在依赖,但未包含los_config.h
close: #I40DHM
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I6903d2ece13ab0a4aadbc65f737c5f5a0f0a357a
|
2021-07-20 14:23:40 +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
|
c7b91d7a31
|
!222 优化arm9调度汇编代码,任务执行默认system模式,解决多种模式使用混乱问题
Merge pull request !222 from JerryH/arm9
|
2021-07-14 03:11:52 +00:00 |
JerryH1011
|
97b5b0837b
|
feat: Support arm9 fiq swi mode and using system mode.
close: #I3WLCN
Change-Id: Id14c4e903ca3c3271faf2ecdf6791163ac93b9a8
Signed-off-by: JerryH1011 <huangjieliang@huawei.com>
|
2021-07-13 20:23:21 +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 |
x_xiny
|
d8c8c22666
|
fix:消除编译告警
【背景】
消除编译告警
【修改方案】
消除编译告警
re #I3ZC1R
Change-Id: If5748c7ed420a9ff822c20ffb17dee2815e9bddc
Signed-off-by: x-xiny <1301913191@qq.com>
Change-Id: Id78631543b0c41f11e1c3594200a3ad43543bbf5
|
2021-07-09 10:05:31 +08:00 |
zhushengle
|
76dc343c88
|
feat: risc-v gn 编译框架添加汇编编译选项
Close #I3YS5Y
Change-Id: I380bc3442222ba18a0eebba4022ad6ca032e3de2
Signed-off-by: zhushengle <zhushengle@huawei.com>
|
2021-07-05 09:26:45 +08:00 |
wangchen
|
d469da29c6
|
feat: M33平台支持GCC环境的Trustzone
【背景】M33平台当前仅支持IAR环境的tz,不满足云雀平台需求。
【修改方案】
1. 将 M33当前已有的IAR trustzone修改为gcc可用。
【影响】
对现有的产品编译不会有影响。
re #I3Y85I
Signed-off-by: wangchen <253227059@qq.com>
|
2021-06-29 15:16:57 +08:00 |
openharmony_ci
|
eca03e5ed6
|
!195 feat: L0新增posix接口sem_getvalue
Merge pull request !195 from x_xiny/master
|
2021-06-24 07:15:06 +00:00 |
x_xiny
|
8649b14591
|
feat: m核新增posix接口sem_getvalue
【背景】
m核新增posix接口适配
【修改方案】
接口新增sem_getvalue,并在内核适配相应接口
【影响】
无
re #I3WW8S
Signed-off-by: x_xiny <1301913191@qq.com>
Change-Id: I65a4baa242aaedc2fec9b6ed705dbb1ddb6e70c9
Change-Id: Id4c38a5dd4ac4e90f1bd032a39dcb97ce29de5f9
|
2021-06-24 10:43:44 +08:00 |
YOUR_NAME
|
e5e9289a08
|
fix: 调度过程低概率触发OsSchedTaskEnQueue断言,导致系统异常
当任务A调用LOS_EventRead阻塞开中断后,突然响应中断B,此时任务A已入阻塞链表,
任务状态为OS_TASK_STATUS_PEND | OS_TASK_STATUS_RUNNING;而B的回调函数中调用
LOS_EventWrite唤醒任务A,这个过程会调用OsSchedTaskWake,将任务A从阻塞链表中
取出,并去除OS_TASK_STATUS_PEND状态,且调用OsSchedTaskEnQueue将任务A添
加到调度队列并增加OS_TASK_STATUS_READY状态。OsSchedTaskWake全部流程完成后,
会开中断并调用LOS_Schedule,在LOS_Schedule流程中由于当前任务为A,且状态为
OS_TASK_STATUS_RUNNING | OS_TASK_STATUS_READY,会再次调用OsSchedTaskEnQueue,
从而被OsSchedTaskEnQueue断言拦住。修改方式:当任务状态含有OS_TASK_STATUS_RUNNING时
OsSchedTaskWake中不调用OsSchedTaskEnQueue。
close: #I3VX9Y
Signed-off-by: zff <zhangfanfan2@huawei.com>
Change-Id: I28f33d25504ade47469980fd6bb0b922bf4756da
|
2021-06-23 19:25:58 +08:00 |
openharmony_ci
|
d0efdfc20d
|
!169 feat: L0支持低功耗投票框架
Merge pull request !169 from zhushengle/PM
|
2021-06-22 11:55:22 +00: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
|
8df07fe3cc
|
!182 fix: add API LOS_HwiCreate、LOS_HwiDelete
Merge pull request !182 from kenneth/HWI
|
2021-06-21 12:38:07 +08:00 |
openharmony_ci
|
0f7d2fcf07
|
!193 fix: 延时队列为NULL时,返回的响应时间为64位最大值,导致无法更新tick timer的响应周期
Merge pull request !193 from zhushengle/sched
|
2021-06-18 10:09:31 +08:00 |
kenneth
|
eb668eb9e0
|
fix: add API LOS_HwiCreate and LOS_HwDelete
新增对外接口LOS_HwiCreate、LOS_HwiDelete
close #I3R75F
Signed-off-by: kenneth <459864689@qq.com>
|
2021-06-18 08:53:22 +08:00 |
zhushengle
|
bcec32e389
|
fix: 延时队列为NULL时,返回的响应时间为64位最大值,导致无法更新tick timer的响应周期
问题描述:
当g_schedResponseTime = OS_SCHED_MAX_RESPONSE_TIME,且nextExpireTime =(UINT64-1时,
表示系统的延时队列已为NULL, 此时tick timer 中应该设置为最大值,但由于判断
g_schedResponseTime - nextExpireTime >= OS_CYCLE_PER_TICK,导致条件不成立,直接返回,
无法将其设置为最大值,导致tick 中断一直频繁响应。
解决方案:
将延时队列为NULL时的返回值以及idle线程的时间片修改为OS_SCHED_MAX_RESPONSE_TIME - OS_CYCLE_PER_TICK,
保证延时队列为NULL,能够正常设置tick响应的最大值。
Close #I3W1LF
Change-Id: I0d09119240ae5a50ddcb0c96fb23cd3d6e70b892
Signed-off-by: zhushengle <zhushengle@huawei.com>
|
2021-06-17 20:23:13 +08:00 |
li_zan
|
7259289bd9
|
fix: 修复littlefs编译fs.c缺少头文件件依赖配置+若干musl库的缺失问题+多分区规格宏配置问题
close:#I3VT11
Signed-off-by: li_zan <371442490@qq.com>
|
2021-06-17 17:03:41 +08:00 |
rtos-lover
|
b6664e66f1
|
fix: fix backtrace check issue
fix issue that when memleak check is enabled, backtace is not enabled
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3VTKD
Signed-off-by: rtos-lover <zhushangyuan@hotmail.com>
|
2021-06-16 17:12:41 +08:00 |
openharmony_ci
|
468ce69f27
|
!180 update: rename LOS_BackTraceInit
Merge pull request !180 from kenneth/BackTraceInit
|
2021-06-16 13:45:04 +08:00 |
openharmony_ci
|
48067a0596
|
!178 littlefs三方源码采用GN编译修改上库+默认Mount路径可配置
Merge pull request !178 from li_zan/master
|
2021-06-16 10:58:13 +08:00 |
kenneth
|
a0a32188ff
|
update: rename LOS_BackTraceInit
change function name LOS_BackTraceInit and involve it in los_init.c when macro is not set to 0
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3SYQQ
Signed-off-by: kenneth <459864689@qq.com>
|
2021-06-16 08:51:00 +08:00 |
li_zan
|
bdb614bc2b
|
fix: littlefs三方源码采用GN编译修改上库
close:I3VJ6X
Signed-off-by: li_zan <371442490@qq.com>
|
2021-06-15 19:56:50 +08:00 |
openharmony_ci
|
9b656ac3c1
|
!172 fix: fix print format compilation warning
Merge pull request !172 from kenneth/printf_format_warning
|
2021-06-11 13:19:52 +08:00 |
kenneth
|
ef12c89c7a
|
fix: fix print format compilation warning
fix print format compilation warning by changing 0x%x to 0x%p
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3OFSQ
Signed-off-by: kenneth <459864689@qq.com>
|
2021-06-10 14:52:47 +08:00 |
JerryH
|
97a5b6d8dc
|
Merge branch 'master' of gitee.com:openharmony/kernel_liteos_m into backtrace
|
2021-06-09 10:41:58 +08:00 |
openharmony_ci
|
7ab7ae7ae7
|
!137 fix: fix typos
Merge pull request !137 from rtos-lover/los_sched.c
|
2021-06-05 13:53:35 +08:00 |
openharmony_ci
|
9d77efe6aa
|
!156 fix: correct the counter of exception type
Merge pull request !156 from kenneth/los_arch_interrupt.h2
|
2021-06-04 14:44:41 +08:00 |
kenneth
|
bff65877a2
|
fix: correct the counter of exception type
correct the counter of exception type from 19 to 21
close https://gitee.com/openharmony/kernel_liteos_m/issues/I3SR54
Signed-off-by: kenneth <459864689@qq.com>
|
2021-06-03 20:45:12 +08:00 |