zhushengle
|
9add4b4b92
|
feat: 低功耗增加idle选项
Close #I5N9J2
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I066ff415709145e585f1eb94e70263361d3d71af
|
2022-08-22 17:04:08 +08:00 |
openharmony_ci
|
dc5feb9e19
|
!774 【OpenHarmony开源贡献者计划2022】fix mempry to memory、satck to stack
Merge pull request !774 from rtos_ding/typo
|
2022-08-12 02:28:07 +00:00 |
wx880216
|
f465c15d7a
|
change uwtimeout to timeout
Signed-off-by: wx880216 <wx880216@liuxiuhai.cn>
|
2022-08-12 01:15:13 +08:00 |
juan
|
933efffba7
|
fix mempry to memory、satck to stack
Signed-off-by: juan <juan@liuxiuhai.cn>
|
2022-08-11 21:23:46 +08:00 |
openharmony_ci
|
8b19c3cbe4
|
!770 新增静态队列用例
Merge pull request !770 from xuxinyu/StaticQueueTest
|
2022-08-09 11:38:03 +00:00 |
xuxinyu
|
192a2a6e61
|
新增静态队列用例
Signed-off-by: xuxinyu <xuxinyu6@huawei.com>
Change-Id: Ib07ab22ee884475d5bc4de54fb43c89eed2c1305
|
2022-08-09 16:47:27 +08:00 |
openharmony_ci
|
2ec2c369e7
|
!755 内核告警清理
Merge pull request !755 from yinjiaming/fix
|
2022-08-09 08:37:39 +00:00 |
xuxinyu
|
c09b3a8774
|
feature:支持queue地址外部部署共功能及queue名字设置
Signed-off-by: xuxinyu <xuxinyu6@huawei.com>
Change-Id: I1984014956a92d61d65b68f79279b2aa593a72e1
|
2022-08-08 23:11:11 +08:00 |
yinjiaming
|
a36d5d9058
|
fix: 内核告警修复
【背景】
内核代码经代码扫描工具发现存在一些关于代码格式的告警,
现经修改解除掉告警。
【修改方案】
修改了代码中格式不规范的地方,修改的点有:
1.代码中一行过长
2.没有合理的添加空格和空行
3.没有按照规范进行缩进
4.括号的格式没有按照规范
5.注释的格式不对以及存在魔数字
6.函数的声明与定义的格式不一致
并更新了修改文件的版权头时间
【影响】
对现有的产品编译不会有影响。
re #I5H6F5
Signed-off-by: yinjiaming <yinjiaming@huawei.com>
Change-Id: Id8eb0450d03fae537ea4c73190fdadb76b29253d
|
2022-07-29 08:30:38 +00:00 |
arvinzzz
|
d92c10d92d
|
feature: 编译框架支持iccarm
close: #I5GL0C
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I94babac4d748b0c714835522a31f02b4f70de3e9
|
2022-07-12 14:54:15 +08:00 |
zhushengle
|
600283a96f
|
fix: 修复系统时间比RTC时间过快的问题
1.标记在时间接口中更新base后在中断中不再更新base
2.优化tick计算
Close #I5DCRB
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ic3df09142519357353906d40e3fd3cdca5cac71d
|
2022-06-24 17:47:06 +08:00 |
lihongjin
|
243fe55c68
|
style: Misspelling
Signed-off-by: lihongjin <lihongjin1@huawei.com>
Change-Id: Ie14607b483d31a6efdf17e40e9937fe4bc2484c2
|
2022-06-23 09:46:16 +08:00 |
fangye
|
128c3dffb5
|
TCB结构体扩展宏添加分号
Signed-off-by: fangye <fangye@talkweb.com.cn>
Change-Id: Ic31310a1da1842adb1b19a0afb1448aa0f4720ef
|
2022-06-14 11:31:18 +08:00 |
yangzelin
|
91743d3ea4
|
Signed-off-by: yangzelin <yangzelin@talkweb.com.cn>
fix: 解决关闭SWTMR模块后无法编译的问题
关闭SWTMR模块后, 屏蔽相关全局变量以及函数调用
|
2022-04-28 09:49:15 +08:00 |
zhushengle
|
4e9f8c71f9
|
refactor: 优化任务状态,EXIT状态仅表示任务已退出
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I53e98540af4deb44e64f6879df340b27efb201b8
|
2022-04-02 14:55:20 +08:00 |
openharmony_ci
|
befe8ecf9d
|
!647 feat: L0支持systick动态调频
Merge pull request !647 from zhushengle/freq
|
2022-03-22 13:46:21 +00:00 |
zhushengle
|
390a488a97
|
feat: L0支持systick动态调频
Close #I4YXW9
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I052fe71e507f76184c8ac5d6349e368494033cde
|
2022-03-22 20:44:25 +08:00 |
arvinzzz
|
17daa50fa2
|
fix: 内源检视修复
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ic8f63a512a5b2c88e7abee6c167473f37ecc9f3b
|
2022-03-21 11:02:16 +08:00 |
arvinzzz
|
fb76350771
|
feature:M核安全隔离
新增用户态,上层业务进行box隔离,共享C库
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ib6ecc3fcb230a7539f9e0f3663290900198d2ba9
|
2022-03-03 20:41:15 +08:00 |
zhushengle
|
9f393bcc6d
|
fix: 修复调度时间最大值不一致问题
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I1f31f343aebcc6565eec8bc2456a6dd9dfcde6e9
|
2022-02-23 12:07:57 +08:00 |
zhushengle
|
96cc92d035
|
feat: 支持任务栈可配置
支持liteos_m 任务栈可配置
支持pthread 任务栈可配置
支持cmsis 任务栈可配置
BREAKING CHANGE:
pthread_create 支持任务栈设置
osThreadNew 支持任务栈设置
TSK_INIT_PARAM_S 结构体添加stackAddr 字段
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ifa2a3581b705631cc83cbde6182a39c28d66de2a
|
2022-02-21 09:08:05 +08:00 |
LiteOS2021
|
cee9714a90
|
fix: kernel接口融合,添加/修改kernel函数
kernel接口融合,添加/修改kernel函数
BREAKING CHANGE:
新增接口:
LOS_TaskResRecycle
LOS_CurrNanosec
LOS_MDelay
接口修改:
LOS_QueueCreate:第一个入参添加const修饰并增加一种异常情况处理
los_memory.c中 OS_ERROR 修改为LOS_NOK,重定义LOS_NOK为(UINT32)-1。
接口位置转移:
LOS_UDelay 由los_task.h/.c 转移到los_tick.h/.c
宏修改:
LOS_ERRNO_MUX_PEND_INTERR 改名为 LOS_ERRNO_MUX_IN_INTERR
增加宏:
Signed-off-by: LiteOS2021 <dinglu@huawei.com>
|
2022-02-15 09:47:58 +08:00 |
zhushengle
|
fb11ab181e
|
feat: 同步调度部分优化至liteos_m
1.tick timer与调度进一步剥离
2.性能敏感函数内敛化
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I00c27216e286dd7ca9c02db3e2377707d628a786
|
2022-02-12 14:52:36 +08:00 |
LiteOS2021
|
4b607fd074
|
fix(posix接口融合): posix接口融合,接口规范兼容性修改
posix接口融合,接口规范兼容性修改
BREAKING CHANGE:
接口修改:
calloc
pthread_mutex_init
mq_unlink
pthread_join
pthread_exit
pthread_attr_init
pthread_attr_destroy
pthread_condattr_destroy
pthread_cond_timedwait
pthread_mutexattr_init
pthread_mutexattr_settype
pthread_mutex_destroy
pthread_mutex_timedlock
pthread_mutex_trylockk
pthread_mutex_unlock
sem_getvalue
sem_timedwait
pthread_cond_timedwait
nanosleep
timer_create
timer_settime
timer_gettime
testStdlibStrtoull005
testStdlibStrtol011
testStdlibStrtoul007
testPthread004
新增接口:
CheckForCancel
pthread_setcancelstate
pthread_setcanceltype
pthread_once
pthread_setschedprio
pthread_attr_setstack
pthread_attr_getstack
pthread_condattr_getpshared
pthread_condattr_setpshared
pthread_condattr_getclock
pthread_mutexattr_gettype
CheckMutexAttr
OsMuxPreCheck
sem_trywait
MuxPendForPosix
MuxPostForPosix
增加overrun功能
接口变化:
mq_getsetattr 改为内部接口MqGetSetAttr
GetTickTimeFromNow->OsGetTickTimeFromNow
接口位置转移:
pthread_equal接口由newlib下转移到kal/posix/src/pthread.c中
Signed-off-by: LiteOS2021 <dinglu@huawei.com>
|
2022-02-10 16:41:12 +08:00 |
JerryH
|
8d7468b44c
|
feature: Support kernel signal and POSIX API.
内核支持信号功能,支持注册、屏蔽、等待及触发等操作。
close #I4R72Q
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I26fb11a03d1899c6f7e665f0798824c578d592a6
|
2022-01-20 11:17:40 +08:00 |
yinjiaming
|
194ac5898d
|
fix: 当前仓代码编译告警的问题
【背景】
当前仓代码存在编译告警需要处理
【修改方案】
在测试用例中屏蔽了-Werror选项
在对应的代码处添加了相应函数的声明头文件
【影响】
对现有的产品编译不会有影响。
re #I4N50W
Signed-off-by: yinjiaming <yinjiaming@huawei.com>
Change-Id: I7dc1e38105aa3d60f9f991f34f88875cccb48463
|
2022-01-19 02:27:14 +00:00 |
JerryH
|
4890222e7c
|
feature: Support pipe and poll interfaces.
支持pipe管道驱动,支持poll多文件描述符检测接口。
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: Ida1f29709affbc91a26b8518e4a77b8e5469be19
|
2022-01-18 16:47:35 +08:00 |
JerryH
|
b98aa4eacd
|
feature: 支持IAR C++ thread_local特性
在需要IAR的thread_local特性时,在targets_config.h中包含los_iar_tls.h,覆盖los_config.h的默认定义,使能该特性。
close #I4PTVZ
Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I92d3f960555f95cb3618dd5e3915824105eb13a4
|
2022-01-10 20:10:35 +08:00 |
openharmony_ci
|
67f8149640
|
!480 feat: 内核提供tick timer框架,支持多架构多平台通用化
Merge pull request !480 from zhushengle/timer
|
2022-01-04 01:12:29 +00: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 |
kenneth
|
cf9c8387e3
|
fix: 中断向量表对齐大小支持可配置
根据板端实际设置中断向量表对齐大小,支持可配置。
fix #I4M20E
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-12-28 09:52:13 +08: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 |
ou-yangkan
|
c082d77f55
|
fix:Fix spelling errors
Signed-off-by: ou-yangkan <519689417@qq.com>
|
2021-12-20 09:35:58 +08:00 |
suzongyao
|
eff6b5533c
|
fix: 解决kernel目录下一些函数入参过剩导致编译错误的问题
Signed-off-by: suzongyao <suzongyao@talkweb.com.cn>
|
2021-12-13 17:15:26 -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
|
91903a3716
|
fix: 修正部分编码风格问题
Close #I4K8M7
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: If34d5c632cbb06f639434d8c35fb226a0253f4a7
Signed-off-by: zhushengle <zhushengle@huawei.com>
|
2021-11-29 14:22:39 +08:00 |
openharmony_ci
|
2ad9dc0eac
|
!426 feat: 调度、任务及pm解耦
Merge pull request !426 from zhushengle/pm
|
2021-11-27 02:08:29 +00: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 |
kenneth
|
ad18026a59
|
fix: 在头文件中补充LOSCFG_MEM_FREE_BY_TASKID函数的声明
LOSCFG_MEM_FREE_BY_TASKID函数在头文件kernel\include\los_memory.h中没有声明,使用会有警告,补充声明该函数。
close #I4JBOV
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-11-22 20:40:32 +08:00 |
Caoruihong
|
7e673430dc
|
feat(build): support Kconfig
Kconfig usages are the same with liteos_a
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I9aacbb69da88d5427cced89d1a49cb1041afa998
|
2021-11-05 12:18:04 +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 |
openharmony_ci
|
6134dcd428
|
!332 fix: LOS_QueueInfoGet函数统计等待读写任务有误
Merge pull request !332 from kenneth/queue
|
2021-09-29 02:51:19 +00: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 |
kenneth
|
a0b6f98e20
|
fix: LOS_QueueInfoGet函数统计等待读写任务有误
LOS_QueueInfoGet使用32位无符号数组来记录阻塞队列的任务,每个数组元素的每个bit位对应一个任务编号。
比如第一个数组元素的32个bit位对应任务编号0-31,第二个数组元素的32个bit位对应任务编号32-63....计算任务对应的数组的bit位数时使用
掩码OS_WAIT_TASK_ARRAY_ELEMENT_MASK的值应该为31,不应该依赖任务最大数目。
close #I4C6P2
Signed-off-by: kenneth <zhushangyuan@huawei.com>
|
2021-09-28 09:40:23 +08:00 |
Haryslee
|
03de7f3745
|
feat: backtrace for arm9
arm9架构支持栈回溯功能
close #I4BMLG
Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: Iba30a6853391c4cad3ed59ddfc05ef2530a4de89
|
2021-09-24 16:56:58 +08:00 |
openharmony_ci
|
4061deaae8
|
!311 feat: 支持posix 和 cmsis join能力
Merge pull request !311 from zhushengle/join
|
2021-09-24 00:30:44 +00: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 |
openharmony_ci
|
25441ec1b5
|
!314 fix: risc-v 低功耗下存在功能问题
Merge pull request !314 from zhushengle/list
|
2021-09-18 06:14:40 +00:00 |