整理公共基础库子系统和系统属性组件 原创 精华

liangkz_梁开祝
发布于 2021-5-8 09:22
浏览
1收藏

整理公共基础库子系统和系统属性组件

liangkz 2021.05.07

前文理解IoT外设控制模块理解启动恢复子系统》对公共基础库的局部做了一个简单的了解,主要是展开看了一下 ohos_init.h 一组宏定义的运行机制。

理解启动恢复子系统》也简单整理了系统属性组件的结构,但没做进一步分析和验证。

五一期间整理《鸿蒙的DFX子系统 》时,我也把outputOption设置为 OUTPUT_OPTION_TEXT_FILE 也做了一些验证,log File的生成和读取要用到公共基础库里的文件操作相关接口,所以间接地也重新整理了一下公共基础库子系统的东西。

 

公共基础库子系统提供的东西比较简单,就不写文字了,直接看下表,结合一下代码应该就可以理解了:

整理公共基础库子系统和系统属性组件-鸿蒙开发者社区

1. ohos_init.h 的宏的展开,看上文《理解启动恢复子系统

2. 文件操作和KV存储,在APP上随便写个测试代码,按接口说明去调用就可以验证了。

3. os_dump 暂未验证,不过与下面的系统属性组件相关。系统属性也是直接按接口说明去设置和读取就可以验证了。

4. 其他注意区分 LiteOS M核和A核各自是否支持,我还没有Hi3516平台,暂不验证A核部分。

 

系统属性组件也没什么好说的,看下表,自己动手set/get一下就可以验证了。

整理公共基础库子系统和系统属性组件-鸿蒙开发者社区

 

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
3
收藏 1
回复
举报
11条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

楼主整理辛苦了。

回复
2021-5-8 09:33:51
liangkz_梁开祝
liangkz_梁开祝 回复了 红叶亦知秋
楼主整理辛苦了。

我建议各位也自己动手整理属于自己的理解笔记,这样印象会更加深刻,知道自己哪里理解了,哪里还有疑问,一步步去完善自己的理解。

 

我估计我整理的文章和表格,不少人都是看了点赞收藏,然后就没有然后了......

 

2
回复
2021-5-8 09:55:46
liangkz_梁开祝
liangkz_梁开祝

上文中表格有提到:“[LiteOS_M] dump系统属性与这里的代码看上去关系不大,官方文档说在串口执行如下命令"AT+SYSPARA",即可打印当前系统参数,但实际操作发现不行,需进一步确认。”

之前一直是在Hi3861_WiFiIot工程中进行调试确认的,今天无意中对比LTS工程【左边】和Hi3861_WiFiIot工程【右边】的如下目录:

OHOS1_1_0LTS\device\hisilicon\hispark_pegasus\sdk_liteos\app\wifiiot_app\

Hi3861_WiFiIot\vendor\hisi\hi3861\hi3861\app\wifiiot_app\

进去仔细看了一下:

static const  at_cmd_func G_OHOS_AT_FUNC_TBL[] = {
    {"+SYSPARA", 8, 0, 0, 0, (at_call_back_func)QuerySysparaCmd},
};
#define OHOS_AT_FUNC_NUM  (sizeof(G_OHOS_AT_FUNC_TBL) / sizeof(G_OHOS_AT_FUNC_TBL[0]))

void OHOS_Main()
{
#if defined(CONFIG_AT_COMMAND) || defined(CONFIG_FACTORY_TEST_MODE)
    hi_u32 ret;
    ret = hi_at_init();
    if (ret == HI_ERR_SUCCESS) {
        hi_u32 ret2 = hi_at_register_cmd(G_OHOS_AT_FUNC_TBL, OHOS_AT_FUNC_NUM);
        if (ret2 != HI_ERR_SUCCESS) {
            printf("Register ohos failed!\n");
        }
    }
#endif
    OHOS_SystemInit();
}

原来如此!怪不得在Hi3861_WiFiIot工程编译出来的bin在平台上执行 "AT+SYSPARA" 没有反应。

 

将LTS工程编译出的hispark_pegasus软件烧录到平台上去,执行 "AT+SYSPARA" 即可打印出系统属性了,实际实行的是 QuerySysparaCmd() 打印出来的。

 

回复
2021-5-15 19:49:04
张荣超_九丘教育
张荣超_九丘教育

赞赞赞!

回复
2021-5-16 08:10:38
mb60b3638361277
mb60b3638361277

你好,最近在看你写的代码,自己也在摸索和总结,想请教你一个问题,看我的方向是不是错了,我想用RT1052(cortex-m7)跑ACE的例程,想用js,css,hml来开发ui,是否可以实现?

目前能跑liteos-m,实现了lcd驱动,fatfs文件系统,但是对ace依赖的环境还不熟悉,看了您的总结,收货良多,如果m7平台可以实现ace这种js开发框架,希望您有空可以出一期。

回复
2021-5-30 18:12:00
liangkz_梁开祝
liangkz_梁开祝

抱歉,我对应用框架层的了解不多,也不懂应用开发,暂时还无法帮你解答疑问,建议你在社区提问,或者私信给张荣超老师等大佬咨询,或者直接向华为提出咨询。

目前我在研究鸿蒙的系统服务层的软总线和分布式任务调度等模块,暂时也不会有空去研究更上层的代码。

谢谢。

1
回复
2021-5-30 19:13:48
mb60b3638361277
mb60b3638361277 回复了 liangkz_梁开祝
抱歉,我对应用框架层的了解不多,也不懂应用开发,暂时还无法帮你解答疑问,建议你在社区提问,或者私信给张荣超老师等大佬咨询,或者直接向华为提出咨询。 目前我在研究鸿蒙的系统服务层的软总线和分布式任务调度等模块,暂时也不会有空去研究更上层的代码。 谢谢。

谢谢你的回复,我这边对鸿蒙也是很感兴趣,希望能用上这套华为的开源系统,

但最主要的疑问还是不确定像Hi3861,RT1052这种M架构的是否能使用ACE ENGINE LITE。

因为看到你对这套框架的研究和总结都很深,希望能再次看到你的文档,跟你取取经。

回复
2021-5-30 23:01:45
liangkz_梁开祝
liangkz_梁开祝 回复了 mb60b3638361277
谢谢你的回复,我这边对鸿蒙也是很感兴趣,希望能用上这套华为的开源系统, 但最主要的疑问还是不确定像Hi3861,RT1052这种M架构的是否能使用ACE ENGINE LITE。 因为看到你对这套框架的研究和总结都很深,希望能再次看到你的文档,跟你取取经。

直接向华为咨询可以获得最权威的答复,甚至你还可以问他们要具体的移植步骤和其他重要信息。

祝你早日移植成功,到时候整理一个教程出来做分享~~

已于2021-5-31 10:49:47修改
回复
2021-5-31 10:49:32
mb60b3638361277
mb60b3638361277 回复了 liangkz_梁开祝
直接向华为咨询可以获得最权威的答复,甚至你还可以问他们要具体的移植步骤和其他重要信息。 祝你早日移植成功,到时候整理一个教程出来做分享~~

谢谢,您这有更直接一点的联系方式吗?邮箱或者电话,网址链接之类的。
我也希望早点移植好,到时候再总结分享出来。

回复
2021-5-31 11:28:43
liangkz_梁开祝
liangkz_梁开祝 回复了 mb60b3638361277
谢谢,您这有更直接一点的联系方式吗?邮箱或者电话,网址链接之类的。我也希望早点移植好,到时候再总结分享出来。

https://www.harmonyos.com/cn/home/

登录进去,个人页面应该有个“我的客服”,在里面创建问题,把相关信息描述清楚,提交问题,应该很快就有人答复你的。

我的一些疑问,在那里都得到了解答。

回复
2021-5-31 11:35:48
mb60b3638361277
mb60b3638361277 回复了 liangkz_梁开祝
https://www.harmonyos.com/cn/home/ 登录进去,个人页面应该有个“我的客服”,在里面创建问题,把相关信息描述清楚,提交问题,应该很快就有人答复你的。 我的一些疑问,在那里都得到了解答。

太感谢了,我这就去创建问题,谢谢你。

回复
2021-5-31 11:41:59
回复
    相关推荐