zhushengle
|
ae02afc850
|
fix: tick timer时钟频率赋值修改为运行时赋值
OS_SYS_CLOCK 宏由产品定义,该宏可能为函数,在编译时赋值无法覆盖该场景
Close #I4PGUR
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I60e3f4fcd8f94b26c23cc88e0622408a24fbebe2
|
2022-01-05 15:51:11 +08:00 |
openharmony_ci
|
3c19b017fc
|
!522 fix: 修复pthread_create相关问题
Merge pull request !522 from zhushengle/pthread
|
2022-01-04 11:16:07 +00:00 |
zhushengle
|
cd949ddae0
|
fix: 修复pthread_create相关问题
1. 系统调度未起时,调用pthread_create失败
系统调度未起时,系统无运行任务,获取当前线程失败
2. 先创建任务再给任务赋值name,且未加锁保护,和shell存在静态
Close #I4P78J
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I2570dcf90953ced06400a0a22193cc81719fb546
|
2022-01-04 15:06:13 +08:00 |
openharmony_ci
|
67f8149640
|
!480 feat: 内核提供tick timer框架,支持多架构多平台通用化
Merge pull request !480 from zhushengle/timer
|
2022-01-04 01:12:29 +00:00 |
openharmony_ci
|
9ebad7d291
|
!521 fix: 修复newlib缺省PTHREAD_KEYS_MAX 问题
Merge pull request !521 from zhushengle/key
|
2021-12-31 08:51:16 +00:00 |
zhushengle
|
65f04bf093
|
fix: 修复newlib缺省PTHREAD_KEYS_MAX 问题
Close #I4OX47
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I4c6b07a77dca5eb5b24f462e639ff173f06d5da0
|
2021-12-31 15:38:18 +08:00 |
openharmony_ci
|
1af387098f
|
!520 pm codex告警清零
Merge pull request !520 from zhushengle/codex
|
2021-12-31 07:22:52 +00:00 |
zhushengle
|
96663805ec
|
fix: pm codex告警清零
Close #I4OWPE
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I07f6db919062090b917ce991198f769032365472
|
2021-12-31 14:55:20 +08:00 |
zhushengle
|
f635450d7c
|
feat: 内核提供tick timer框架,支持多架构多平台通用化
背景:
当前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: zhushengle <zhushengle@huawei.com>
Change-Id: I83ad0bdf303904f0e73f808b57b60183619fddcd
|
2021-12-31 10:50:33 +08:00 |
openharmony_ci
|
909a18ec8f
|
!510 feat: 支持posix线程私有数据能力
Merge pull request !510 from zhushengle/pthread_key
|
2021-12-30 06:34:28 +00:00 |
openharmony_ci
|
bd0ae07bcf
|
!511 fix: 公版gcc编译内核,调用calloc崩溃
Merge pull request !511 from Zhaotianyu/1228newlib_calloc
|
2021-12-30 01:12:29 +00:00 |
openharmony_ci
|
ad6bdba415
|
!460 fix: 中断向量表对齐大小支持可配置
Merge pull request !460 from kenneth/align
|
2021-12-29 00:55:39 +00:00 |
zhushengle
|
a856303b9c
|
feat: 支持posix线程私有数据能力
BREAKING CHANGE:
int pthread_key_create(pthread_key_t *k, void (*dtor)(void *))
int pthread_key_delete(pthread_key_t k)
int pthread_setspecific(pthread_key_t k, const void *x)
void *pthread_getspecific(pthread_key_t k)
Close #I4ODEB
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I60ce26c20d1e2033922d2d1b01d73fc8938c8019
|
2021-12-28 19:55:10 +08:00 |
arvinzzz
|
8d0ced2069
|
fix: 修复公版gcc编译内核,调用calloc崩溃
使用内核提供的calloc接口替换工具链的实现
close: #I4OFG6
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ia979f2b613c8bab89b5df3aa4bd340f6cc6fabd7
|
2021-12-28 16:12:26 +08:00 |
kenneth
|
cf9c8387e3
|
fix: 中断向量表对齐大小支持可配置
根据板端实际设置中断向量表对齐大小,支持可配置。
fix #I4M20E
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-12-28 09:52:13 +08:00 |
openharmony_ci
|
5a7fabe4f8
|
!498 fix: liteos_kernel_only=true编译内核报错
Merge pull request !498 from kenneth/mk
|
2021-12-28 00:59:20 +00:00 |
openharmony_ci
|
d7fd58b986
|
!496 fix the compile warning
Merge pull request !496 from laojr1/master
|
2021-12-28 00:58:24 +00:00 |
openharmony_ci
|
28d0761b85
|
!505 解决m核开启ipv6功能的编译的问题
Merge pull request !505 from xieshen9527/master
|
2021-12-27 06:23:03 +00:00 |
zhangyang
|
c7843926b8
|
refactor: 解决m核开启ipv6功能的编译
close #I4NOIP
Signed-off-by: zhangyang <zhangyang349@huawei.com>
|
2021-12-27 12:00:30 +08:00 |
openharmony_ci
|
900f183260
|
!504 在arch\csky\v2\gcc\los_exc.S中添加IrqEntry函数实现
Merge pull request !504 from ouyk/master
|
2021-12-27 03:38:51 +00:00 |
wcc0
|
79d42b7976
|
在arch\csky\v2\gcc\los_exc.S中添加IrqEntry函数实现
Signed-off-by: wcc0 <917033401@qq.com>
|
2021-12-27 11:10:45 +08:00 |
openharmony_ci
|
85a1ce43c6
|
!493 feat:Synchronizing arch api
Merge pull request !493 from LiteOS/master
|
2021-12-25 10:42:15 +00:00 |
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 |
kenneth
|
adc21052b2
|
fix: liteos_kernel_only=true编译内核报错
修复单独编译内核报错的问题
close #I4O204
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-12-25 14:10:01 +08:00 |
老家荣
|
cbcd297a3a
|
chore: 解决 cmsis_liteos2.c:115:23: warning 编译告警
Signed-off-by: laojr1 <laojr1@midea.com>
|
2021-12-23 17:55:11 +08:00 |
openharmony_ci
|
4334b3e18b
|
!473 fix:修复拼写错误
Merge pull request !473 from ouyk/master
|
2021-12-22 02:46:46 +00:00 |
openharmony_ci
|
b998978561
|
!474 fix: 修复L0_Emulator 门禁高概率失败的问题
Merge pull request !474 from zhushengle/Emulator
|
2021-12-20 08:18:56 +00:00 |
zhushengle
|
7ad2f62a03
|
fix: 修复L0_Emulator 门禁高概率失败的问题
内存测试用例002中对全局的内存池进行了重复申请释放操作,
释放之后全局的测试内存池为无效的野指针,而该内存已被网络
分配并使用,从而导致出现踩内存的现象。
Close #I4NB0N
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Iffd631fcdaa020afefd108c189850ef3e75d1e4b
|
2021-12-20 15:34:08 +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 |
openharmony_ci
|
7e9d84362f
|
!442 M核posix接口fs模块用例完善
Merge pull request !442 from wangchen/posix_test
|
2021-12-19 08:12:27 +00:00 |
openharmony_ci
|
b56c6e86d4
|
!470 fix: 补充newlib对ipv6的支持
Merge pull request !470 from Zhaotianyu/1218newlib_ipv6
|
2021-12-18 11:58:52 +00:00 |
arvinzzz
|
f7400fbcb2
|
fix: 添加newlib对ipv6的支持
补充业务中需要的ipv6相关宏定义
close: #I4M1DB
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I6835fb0673874ed8efff01c8e4f79c2d64ea0d46
|
2021-12-18 19:35:10 +08:00 |
openharmony_ci
|
e6dd09733d
|
!469 修复posix的Kconfig
Merge pull request !469 from Zhaotianyu/1217Kconfig_fix
|
2021-12-17 04:05:20 +00:00 |
arvinzzz
|
bb04582910
|
fix: 修复Kconfig信息错误
close: #I4MZ1F
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I9216b28ab5b2a43d77512d529a6a6637998e19ea
|
2021-12-17 11:35:04 +08:00 |
openharmony_ci
|
41a3cb0233
|
!468 fix:修复异常处理入口条件判断范围错误的问题
Merge pull request !468 from 王树林/master
|
2021-12-17 03:20:15 +00:00 |
wcc0
|
d09d46ff75
|
fix:fix bug of exception
Signed-off-by: wcc0 <917033401@qq.com>
|
2021-12-17 09:37:03 +08:00 |
openharmony_ci
|
6f7ceb3e72
|
!464 转移csky架构中断入口由device到kernel中
Merge pull request !464 from ouyk/master
|
2021-12-16 12:03:15 +00:00 |
ou-yangkan
|
ee79364748
|
转移csky架构中断入口由device到kernel中
Signed-off-by: ou-yangkan <519689417@qq.com>
|
2021-12-16 19:43:47 +08:00 |
openharmony_ci
|
91e5b3054e
|
!466 修改csky和xtensa架构的g_intCount变量使用
Merge pull request !466 from ouyk/modify_g_intCount
|
2021-12-16 08:01:06 +00:00 |
ou-yangkan
|
d6aa3bf44b
|
修改csky和xtensa架构的g_intCount变量使用
Signed-off-by: ou-yangkan <519689417@qq.com>
|
2021-12-16 13:50:48 +08:00 |
openharmony_ci
|
d03b490d3d
|
!462 OsMuxInit函数中增加对owner成员的初始化
Merge pull request !462 from fangye945a/master
|
2021-12-15 02:34:24 +00:00 |
openharmony_ci
|
939414ea9a
|
!456 fix: tick中断处理时,无挂起任务时应更新当前运行任务的时间片, 并触发一次调度
Merge pull request !456 from zhushengle/tick
|
2021-12-15 01:57:10 +00:00 |
fangye
|
d1f7b8e465
|
OsMuxInit函数中增加对owner成员的初始化
Signed-off-by: fangye <fangye@talkweb.com.cn>
|
2021-12-14 22:45:29 +08:00 |
openharmony_ci
|
12b66edbe3
|
!459 解决kernel目录下一些函数入参过剩导致编译错误的问题
Merge pull request !459 from 苏宗耀/master
|
2021-12-14 02:15:40 +00:00 |
suzongyao
|
eff6b5533c
|
fix: 解决kernel目录下一些函数入参过剩导致编译错误的问题
Signed-off-by: suzongyao <suzongyao@talkweb.com.cn>
|
2021-12-13 17:15:26 -08:00 |
openharmony_ci
|
4b43e360a2
|
!458 解决_SEM_MAGIC宏定义数据类型错误导致的编译问题
Merge pull request !458 from 苏宗耀/master
|
2021-12-13 10:14:32 +00:00 |
szy
|
58ebbf0a71
|
fix: 解决宏定义_SEM_MAGIC数据类型错误导致的编译问题
Signed-off-by: suzongyao <suzongyao@talkweb.com.cn>
|
2021-12-13 01:52:13 -08:00 |
openharmony_ci
|
3aff6c572f
|
!434 feat: 低内存资源回收low memory killer
Merge pull request !434 from kenneth/lmk1130
|
2021-12-13 08:56:26 +00:00 |
kenneth
|
ab886d848a
|
feat: 低内存资源回收low memory killer
低内存资源回收特性,支持维护可杀低重要任务,当高内存任务申请不到足够内存时,临时释放低重要性的任务来释放内存来满足高内存任务正常运行;
当高内存任务退出运行时,自动恢复被杀的低重要性任务。设计文档归档位置 https://gitee.com/rtos_yuan/lmk/tree/design/
BREAKING CHANGE: 增加低内存资源回收注册相关接口LOS_LmkOpsNodeRegister、LOS_LmkOpsNodeUnregister和内存资源释放和任务恢复接口LOS_LmkTasksKill和LOS_LmkTasksRestore.
close #I4ID0M
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-12-13 12:07:33 +08:00 |
zhushengle
|
ea12d40caf
|
fix: tick中断处理时,无挂起任务时应更新当前运行任务的时间片, 并触发一次调度
Close #I4LRZG
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I4472fb50c775b832688aa7a555498901a80e2999
|
2021-12-13 11:37:50 +08:00 |