Commit Graph

264 Commits

Author SHA1 Message Date
openharmony_ci 03bbc750ce !305 fix: 修复OsQueueMailFree提早释放内存的问题
Merge pull request !305 from hpline/master
2021-09-17 09:33:45 +00:00
wangchen 6ffd55dcd0 fix: shell模块task命令踩内存问题修改
【背景】task命令获取内存时传入的参数过大,可能引起踩内存问题。

【修改方案】
1,对task命令中获取内存信息时的入参进行调整,避免引起内存问题

【影响】
对现有的产品编译不会有影响。

re #I4A70V
Signed-off-by: wangchen <253227059@qq.com>
2021-09-16 15:56:38 +08:00
lurix 902efbcea9 chore: update the comment.
Signed-off-by: lurix <lurix@foxmail.com>
2021-09-15 12:57:40 +00: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
lurix 9c3a6901f1 chore: 解决代码风格导致的编译报错
Signed-off-by: lurix <lurix@foxmail.com>
2021-09-14 02:04:02 +00:00
lurix ec88d16289 fix: 修复OsQueueMailFree提早释放内存的问题
Signed-off-by: lurix <lurix@foxmail.com>
2021-09-13 10:04:25 +00:00
openharmony_ci 3c0d17fc63 !281 fix: 优化低功耗流程
Merge pull request !281 from zhushengle/pm_optimize
2021-09-09 06:55:55 +00: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
openharmony_ci fd8ca3f5dc !289 add xtensa and csky arch support
Merge pull request !289 from LiteOS/master
2021-09-08 06:55:10 +00:00
lanche1024 8bcab9ab7a add csky arch support
Signed-off-by: LiteOS2021 <dinglu@huawei.com>
2021-09-07 17:11:10 +08:00
openharmony_ci 1d9a5820f2 !291 修复HalTickStart错误的函数参数定义
Merge pull request !291 from 野生毛霉君/master
2021-09-07 06:11:28 +00:00
mucor 4443b74ea6 fix: fix bad params def in HalTickStart
close: #I48YWT

Signed-off-by: mucor <mucorwang@gmail.com>
2021-09-07 11:40:17 +08:00
zhushengle 3798091d87 fix: 内核模块编译增加-Werror编译选项,且清除内核编译告警
Close #I46E6S

Change-Id: If1362c02a0a344da881a9bf90e41f0a43ba33609
Signed-off-by: zhushengle <zhushengle@huawei.com>
2021-09-06 16:16:43 +08:00
openharmony_ci 459cabf7de !286 按任务统计已经alloc的内存大小
Merge pull request !286 from lnlan/taskinfo
2021-09-01 01:48:21 +00:00
lnlan 475db62db1 feat: los_memory.c代码重复率处理
【背景】
los_memory.c中有4处遍历内存节点的操作,重复率较高
【修改方案】
1.提取一个遍历内存节点的函数,入参可传入处理函数来应对不同处理场景
【影响】
对现有的产品编译不会有影响。

re #I44WNU

Signed-off-by: lanleinan <lanleinan@163.com>

Change-Id: Iafd25be39e76ee29e4fb27e5ef65f1888cc23f02
2021-08-31 02:30:30 +00:00
xiaofan 61cbf83f5d fix:修复software timer线程
readsize在第一次循环后可能未被正确赋值的问题

Signed-off-by: xiaofan <xiaofan@iscas.ac.cn>
2021-08-28 16:23:37 +08:00
lnlan 53117f9f47 feat: 按任务统计已经alloc的内存大小
【背景】
m核需补充shell命令,按任务统计已经alloc的内存大小
【修改方案】
1.新增在task命令中,在打印task
info前遍历所有内存节点,统计各任务所占用的内存节
点大小,在打印时将其打出。
2.内存节点中,taskid所占位数随系统最大任务数调整
【影响】
对现有的产品编译不会有影响。

re #I44WNU

Signed-off-by: lanleinan <lanleinan@163.com>
Change-Id: I080b5dd056966784c0752408f9e320ca0e97c7f7
2021-08-28 06:14:34 +00:00
openharmony_ci 75f975c424 !279 feat: 完善m核qemu串口驱动,支持shell输入
Merge pull request !279 from lnlan/shell_fix
2021-08-26 02:03:22 +00:00
lnlan c4dc5ab0f8 feat: 完善m核qemu串口驱动,支持shell输入
【背景】
m核qemu需完善串口驱动,支持shell输入
【修改方案】
1.完善串口驱动
2.添加shell任务,获取串口输入并下发处理
【影响】
对现有的产品编译不会有影响。

re #I46N7F

Signed-off-by: lanleinan <lanleinan@163.com>
Change-Id: Ib58d4e633081743e64412cb65aa209d3356d6c1c
2021-08-26 01:15:17 +00:00
wangchen deff7c921f fix: M核编译配置修改
【背景】完善M核编译配置选项。

【修改方案】
1,在build.gn中添加config.gni的包含
2,修改部分build.gn中的格式规范问题

【影响】
对现有的产品编译不会有影响。

re #I46XEA
Signed-off-by: wangchen <253227059@qq.com>
2021-08-24 10:57:48 +08:00
openharmony_ci 19aa1bb5bc !278 M核告警消除
Merge pull request !278 from wangchen/m_codex
2021-08-21 09:34:31 +00:00
openharmony_ci 9996ef80d6 !269 M33平台GCC环境下TZ增加默认选项适配
Merge pull request !269 from wangchen/new_tz
2021-08-21 09:31:36 +00:00
wangchen f63c45930c 【背景】M33平台GCC环境下TZ默认开启TZ。
【修改方案】
1,在M33平台下增加默认选项及开关
2,删除build.gn编译tz的部分,该部分由使用者编译在安全态
3,修改tz初始化的一个问题

【影响】
对现有的产品编译不会有影响。

re #I45UYU
Signed-off-by: wangchen <253227059@qq.com>
2021-08-20 20:01:01 +08:00
wangchen 5a9d53b644 fix: M核告警消除
【背景】定期M核代码消除。

【修改方案】
1,根据工具扫描结果,对代码告警进行更改

【影响】
对现有的产品编译不会有影响。

re #I46LHG
Signed-off-by: wangchen <253227059@qq.com>
2021-08-20 18:44:33 +08:00
openharmony_ci 4e11ded476 !267 fix: 删除延时节点后,存在时间无法有效刷新的场景
Merge pull request !267 from zhushengle/sched
2021-08-19 00:39:21 +00:00
openharmony_ci 8023547244 !270 解决中断操作等接口头文件位置变更,引入的编译问题
Merge pull request !270 from JerryH/hwi
2021-08-18 07:31:59 +00:00
JerryH 013a953926 fix: 修复中断操作接口头文件位置变更,导致的编译错误
close #I4665Z

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I5596179dea198dfe571420a7640abb00587abee1
2021-08-18 14:47:59 +08:00
openharmony_ci 97c4a5813f !249 堆内存算法支持多段非连续性内存区域
Merge pull request !249 from kenneth/multiple_mem
2021-08-17 07:43:18 +00:00
kenneth 0facb0c017 feat: support non-continuous memory regions
The multiple non-continuous memory regions are supported when the macro
LOSCFG_MEM_MUL_REGIONS is enabled. The array of the type LOS_MEM_REGION should be defined,
and each array element defines the start address and the length for each memory regions, \
begining from the lower address to the higher memory address.

close #I43XOP

Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-08-17 09:07:04 +08:00
zhushengle 0a87c04d58 fix: 删除延时节点后,存在时间无法有效刷新的场景
1.从延时队列上删除延时节点时,如果该延时节点的响应时间比当前系统tick的响应时间小时,
将tick的响应时间修改为OS_SCHED_MAX_RESPONSE_TIME,以保证tick响应时间能够被刷新。
2.任务切换时,若g_schedResponseID为旧任务的taskID时(tick的响应时间为旧任务的时间片
结束时间),将tick的响应时间修改为OS_SCHED_MAX_RESPONSE_TIME。
Close #I45I9Y

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ia77b789a10112935b719e8f733ba33835894e060
2021-08-14 15:53:28 +08:00
zhushengle 509cf59bef fix: 以g_sysSchedStartTime是否为0判断时间轴是否生效存在极限场景导致调度时间不生效
初始化调度时间不以g_sysSchedStartTime是否为0为界限,而以g_sysSchedStartTime是否为64位最大值,
为界限, 避免特殊以下场景:调度开启时系统时间为0,导致初始化的g_sysSchedStartTime还是0,导致
调度启动后获取的调度时间轴始终为0.

Close #I45HP5

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ie0ef4e7d149f09ac466c649c0f2d6538f5322439
2021-08-14 11:30:46 +08:00
openharmony_ci 93f029b430 !250 某些编译器下编译告警消除
Merge pull request !250 from 野生毛霉君/master
2021-08-11 09:23:07 +00:00
openharmony_ci fa0b8b0dcb !227 feat: 支持native动态加载组件
Merge pull request !227 from Harylee/mem
2021-08-11 03:14:24 +00:00
Haryslee d75383400e feat: 支持native动态加载组件
1.【需求描述】
动态库开发部分:
gcc的sample code。
提供生成暴露接口生成机制,并允许产品新增需要暴露的接口。
提供可以判断库允许资源大小的能力,并提供相关工具辅助开发者确定开发的库要求的资源是否可以满足。

动态库运行部分:
提供elf load的api,可以加载指定路径下的库,并完成符号重映射等运行准备。
提供elf 暴露符号调用的api,用于调用库的api。
elf加载&链接异常时,有明确错误记录,返回明确错误类型。
提供elf 卸载的api。

2.【方案描述】
(1) 通过灌段的形式记录需要导出符号的地址信息,用于暴露内核对外的接口,在加载链接器中通过查询
对应的符号信息获取符号地址。
(2) 加载链接时,解析共享库并将共享库中可加载段通过文件系统读入内存中,并对共享库中未定义的、
需要重定位的符号进行重定位。需要调用符号时,根据符号名通过哈希表即可查询共享库提供的对应符号
的地址。

BREAKING CHANGE:
新增4个对外接口,声明在los_dynlink.h文件中,分别为:
(1) LOS_DynlinkInit: 动态加载模块初始化。
(2) LOS_SoLoad: 加载指定路径的共享库。
(3) LOS_FindSym: 根据共享库句柄查找指定符号。
(4) LOS_SoUnload: 卸载共享库。

close #I418HJ

Signed-off-by: Haryslee <lihao189@huawei.com>
Change-Id: I7669b7ef20096294f9d1094c85ac6602fefad354
2021-08-10 20:26:40 +08:00
JerryH 9709d29b87 fix: 增加MPU功能的开关宏,默认关闭
close #I3WE0S

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: Id193fd555877ac0c6b5b43e5dd5ede32531b86c4
2021-08-10 19:27:14 +08:00
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
mucor 8dea15c4fc fix: compile warning fix
close: #I4330B
Signed-off-by: mucor <mucorwang@gmail.com>
2021-08-05 21:02:42 +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
kenneth 811d3fae8a fix: fix typo in comment
The word wantted is misspelled and should be changed to wanted. And expected-size is better than wanted size.

close https://gitee.com/openharmony/kernel_liteos_m/issues/I3RW6C

Signed-off-by: kenneth <459864689@qq.com>
2021-06-03 20:39:33 +08:00
openharmony_ci 05937ee49c !144 调整hook类型和位置,提升调试的易用性
Merge pull request !144 from Zhaotianyu/0529hook_fix
2021-06-03 15:18:33 +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
Zhaotianyu b4cfdcfbf5 Merge branch 'master' of gitee.com:openharmony/kernel_liteos_m into 0529hook_fix 2021-06-03 11:08:31 +08:00
arvinzzz 2d9bbd2769 fix: 修复不规范的copyright
close: #I3SPJ1
Change-Id: I6cb01024ef342a0190f5dc9f6cb3a1e815692832

Signed-off-by: arvinzzz <fcykztyu@163.com>
Change-Id: I45c63592b08d29587778209de6af17f932dc86d0
2021-06-02 11:07:59 +08:00
arvinzzz 369320de37 fix: 调整hook类型和位置,方便调试
close: #I3TGZS
Change-Id: Idba021ec7595d2f25a23102b6610e0f29cdd1209
Signed-off-by: arvinzzz <fcykztyu@163.com>

Change-Id: I9f1f745c6389de8bd8ca589bd1a3dc5311962527
2021-06-02 10:28:24 +08:00
YOUR_NAME ca1792aa4b feat(liteos_m): support backtrace for riscv
Support backtrace for riscv when the compilation option(-fno-omit-frame-pointer) is not turned on.

fix #I3RVXY

Change-Id: Ie7d8a223167e5c540367bc96db646b821dae9fd0
2021-05-25 11:10:28 +08:00
rtos-lover 191644e441 fix: fix typos
Correct words function、procedure

close  https://gitee.com/openharmony/kernel_liteos_m/issues/I3RR6A
2021-05-19 14:49:13 +08:00
rtos-lover c70b28bf78 fix: fix LOS_TaskNameGet comment
fix comment for the function LOS_TaskNameGet

close https://gitee.com/openharmony/kernel_liteos_m/issues/I3QJVY
2021-05-19 14:33:51 +08:00
openharmony_ci 930e92ebe2 !131 fix: fix destroy typo
Merge pull request !131 from kenneth/los_event.h
2021-05-19 13:37:20 +08:00
openharmony_ci be5344ae75 !132 fix: correct ECB in comment
Merge pull request !132 from kenneth/los_sem.c
2021-05-19 13:35:43 +08:00
openharmony_ci 456bef2141 !133 fix: fix length typo
Merge pull request !133 from kenneth/los_queue.h
2021-05-19 13:35:03 +08:00
kenneth e772ccb3cc fix: change queuePosion to queuePosition 2021-05-19 08:35:48 +08:00
openharmony_ci 0e14ddffd3 !129 fix: fix __cplusplus typo
Merge pull request !129 from kenneth/task_sample.h
2021-05-18 14:02:05 +08:00