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 |
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 |
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 |
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 |
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 |
openharmony_ci
|
5b9eed0328
|
!95 fix:Scheduling module code to join GN compilation.
Merge pull request !95 from zhushengle/gn
|
2021-04-26 21:30:56 +08:00 |
zhushengle
|
8bf166b418
|
fix: Scheduling module code to join GN compilation.
Close #I3OA95
Change-Id: I19b25af29a078be048274ca98d970f3554491138
|
2021-04-26 18:57:33 +08:00 |
Caoruihong
|
4d556fbe90
|
use top third_party
Change-Id: I382b10ef7a6adc328777349bce142e58895f7c8d
|
2021-04-26 17:11:56 +08:00 |
Caoruihong
|
ad1e09ff77
|
add third_party FatFs and fix BUILD.gn
Change-Id: I456530ca5282d6c4b0904d04ae0a0a5ff155391a
|
2021-04-23 12:05:48 +08:00 |
mamingshuai
|
778c8b9930
|
update openharmony 1.0.1
|
2021-03-11 20:30:40 +08:00 |
l00278955
|
07d25a8ae8
|
Description: liteos-m refactoring
Reviewed-by: liulei, shenwei
Change-Id: I7baba352c02b78aefc81fc5eca000d840d3b2fe3
|
2020-11-13 09:55:39 +08:00 |
wenjun
|
dc16ffa8cb
|
add OpenHarmony 1.0 baseline
|
2020-09-08 16:46:24 +08:00 |