移植案例和原理 startup子系统之syspara_lite系统属性部件
发布时间:2022-02-17 14:36:16 所属栏目:系统 来源:互联网
导读:系统属性部件syspara_lite负责提供获取与设置操作系统相关的系统属性,包括默认系统属性、OEM厂商系统属性和自定义系统属性。为满足OpenHarmony产品兼容性规范,产品解决方案需要实现获取设备信息的接口,如:产品名、品牌名、厂家名等,同时提供设置/读取系
系统属性部件syspara_lite负责提供获取与设置操作系统相关的系统属性,包括默认系统属性、OEM厂商系统属性和自定义系统属性。为满足OpenHarmony产品兼容性规范,产品解决方案需要实现获取设备信息的接口,如:产品名、品牌名、厂家名等,同时提供设置/读取系统属性的接口。本文介绍下移植开发板时如何适配系统属性部件syspara_lite,并介绍下相关的运行机制原理。系统属性部件syspara_lite包含系统参数特性syspara_lite和token。系统属性部件syspara_lite定义在buildlitecomponentsstartup.json。源代码目录如下: 1、系统参数syspara适配 适配启动恢复子系统startup的syspara_lite部件的一个实例vendorbestechnicdisplay_democonfig.json的代码片段如下,⑴处的配置项enable_ohos_startup_syspara_lite_use_posix_file_api设置为true,下文通过分析syspara_lite部件的代码来解释。 复制 { "product_name": "display_demo", ...... "subsystems": [ { ...... { "subsystem": "startup", "components": [ { "component": "bootstrap_lite" }, { "component": "syspara_lite", "features": [ ⑴ "enable_ohos_startup_syspara_lite_use_posix_file_api = true" ] } ] }, ...... ], "vendor_adapter_dir": "", "product_adapter_dir": "//vendor/bestechnic/display_demo/hals", ...... } 我们知道,syspara_lite部件支持获取和设置操作系统的参数,当设置系统参数时,系统参数会最终写到文件中进行持久化保存。在轻量系统中,文件操作相关接口有POSIX接口与HalFiles接口这两套实现。POSIX文件系统接口代码位置kernelliteos_mkallibcmuslfs.c,HalFiles文件系统接口位置为utilsnativelitefilesrcfile_impl_halfile.c。当对接内核的文件系统,采用POSIX相关的接口时,需要在features字段中需要增加enable_ohos_startup_syspara_lite_use_posix_file_api = true。如果对接HalFiles相关的接口,则无须修改。enable_ohos_startup_syspara_lite_use_posix_file_api默认为false,定义在文件basestartupsyspara_liteframeworksparameterconfig.gni。我们通过看下编译配置文件来了解下实现的原理机制,打开文件basestartupsyspara_liteframeworksparametersrcBUILD.gn,片段如下。 ⑴处解释了上文的配置参数enable_ohos_startup_syspara_lite_use_posix_file_api。⑵处依赖产品解决方案中的适配的sys_param实现代码。ohos_product_adapter_dir是产品解决方案config.json中的配置项,该配置项一遍设置为"hals"。sys_param实现代码文件的路径一遍为"hals/utils/sys_paramn/hal_sys_param.c",并且同级目录的BUILD.gn文件中的静态库名称必须为hal_sysparam。⑶处表示如果需要使用安全函数,则需要配置项enable_ohos_startup_syspara_lite_use_thirdparty_mbedtls设置为true。⑷处设置一些配置项宏,这些属于构建类别的参数。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |