- 20 1月, 2022 1 次提交
-
-
由 JerryH 提交于
内核支持信号功能,支持注册、屏蔽、等待及触发等操作。 close #I4R72Q Signed-off-by: NJerryH <huangjieliang@huawei.com> Change-Id: I26fb11a03d1899c6f7e665f0798824c578d592a6
-
- 31 12月, 2021 1 次提交
-
-
由 zhushengle 提交于
背景: 当前Arch下tick timer的实现依赖于弱函数机制,三方适配时出错及限制较大,且tick timer作为内核必须模块,未模块化,当前散落在tick和调度等模块中,且当前存在arch依赖 内核,内核也依赖arch的情况,为了解决上述问题,将tick timer模块化,通过提供tick timer框架实现内核依赖Arch而Arch不依赖内核,并且可以减少对外暴漏的接口,使得三方 适配时更加明确需要实现的接口。 方案描述: 1.tick timer结构 在kernel_liteos_m/arch/include/los_timer.h,中定义结构: typedef struct { UINT32 freq; INT32 irqNum; UINT32 (*init)(HWI_PROC_FUNC tickHandler); UINT64 (*getCycle)(UINT32 *period); VOID (*reload)(UINT64 time); VOID (*lock)(VOID); VOID (*unlock)(VOID); HWI_PROC_FUNC tickHandler; } ArchTickTimer; 并声明对外获取tick timer的接口: ArchTickTimer *ArchSysTickTimerGet(VOID) define LOS_SysTickTimerGet ArchSysTickTimerGet 2.在每个架构下提供默认的tick timer操作: STATIC ArchTickTimer g_archTickTimer = { .freq = xxx, 必填 .irqNum = xxx, 必填 .init = xxx, 必填 .getCycle = xxx, 必填 .reload = xxx, 必填 .lock = xxx, 必填 .unlock = xxx, 必填 .tickHandler = NULL, 可选 } 并实现:ArchTickTimer *ArchSysTickTimerGet(VOID) 接口 3.内核los_tick.c中提供对外(其它模块)和公共的tick timer初始化操作函数, 如果用户不想启用系统默认的tick timer,则需要在 "内核初始化之前" 调用接口: LOS_TickTimerRegister(const ArchTickTimer *timer, const HWI_PROC_FUNC tickHandler) 将用户自己的tick timer或中断处理函数 注册进去。 用户也可以注册自己的中断处理函数(用户不提供,默认使用系统提供的)。 BREAKING CHANGE: 原来版本中每个架构下提供的tick timer相关操作函数为弱函数: WEAK UINT32 HalTickStart(OS_TICK_HANDLER handler); WEAK VOID HalSysTickReload(UINT64 nextResponseTime); WEAK UINT64 HalGetTickCycle(UINT32 *period); WEAK VOID HalTickLock(VOID); WEAK VOID HalTickUnlock(VOID); 用户如果需要启用自己的tick timer需要自己实现相关接口(强属性),在 "内核初始化之前" 通过调用: LOS_TickTimerRegister 接口替换系统默认提供的tick timer相关接口。 无论用户提供的tick timer 还是系统默认提供的,均在内核初始化时启动。 Close #I4N7XV:arch 重构 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I83ad0bdf303904f0e73f808b57b60183619fddcd
-
- 25 12月, 2021 1 次提交
-
-
由 LiteOS2021 提交于
命名规范:修改少量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: NLiteOS2021 <dinglu@huawei.com>
-
- 16 11月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Signed-off-by: NCaoruihong <crh.cao@huawei.com> Change-Id: I0f0b6f5cff967c47acf58be133a12a0fd98f4643
-
- 21 7月, 2021 1 次提交
-
-
由 zhushengle 提交于
解决系统未初始化完成前无timer可用的问题。 Close #I410F0 Signed-off-by: Nzhushengle <zhushengle@huawei.com> Change-Id: I3799b9b0ff03cb1dfe80a97816a484df28ae49fd
-
- 13 7月, 2021 1 次提交
-
-
由 JerryH1011 提交于
close: #I3WLCN Change-Id: Id14c4e903ca3c3271faf2ecdf6791163ac93b9a8 Signed-off-by: NJerryH1011 <huangjieliang@huawei.com>
-
- 12 7月, 2021 1 次提交
-
-
由 JerryH1011 提交于
close: #I3WLCN Change-Id: Id8e3ce9a9a7749cb27b52562e6d506803b38d9af Signed-off-by: NJerryH1011 <huangjieliang@huawei.com>
-
- 19 4月, 2021 1 次提交
-
-
由 Caoruihong 提交于
Change-Id: Ie25b83a42d3ca35c3a6d624ef01f425a85957d7f
-
- 13 4月, 2021 1 次提交
-
-
由 星e雨 提交于
Description:liteos_m scheduling optimization and low power design. Sig:kernel Feature or Bugfix:Feature Binary Source:No Change-Id: If913b673c9b69039b51ca416be0a77ebccf2773b
-
- 11 3月, 2021 1 次提交
-
-
由 mamingshuai 提交于
-
- 29 1月, 2021 1 次提交
-
-
由 c00546070 提交于
Reviewed-by: shenwei
-
- 16 12月, 2020 1 次提交
-
-
由 Caoruihong 提交于
Reviewed-by: likailong
-
- 02 12月, 2020 1 次提交
-
-
由 likailong 提交于
Reviewed-by: wangmihu, zhushengle
-
- 13 11月, 2020 1 次提交
-
-
由 l00278955 提交于
Reviewed-by: liulei, shenwei Change-Id: I7baba352c02b78aefc81fc5eca000d840d3b2fe3
-
- 08 9月, 2020 1 次提交
-
-
由 wenjun 提交于
-