华为鸿蒙 + 阿里平头哥, 润和Neptune 评测(三)
<div class='showpostmsg'><p><a href="https://bbs.eeworld.com.cn/thread-1182528-1-1.html">华为鸿蒙 + 阿里平头哥, 润和Neptune 评测(一)</a></p><p><a href="https://bbs.eeworld.com.cn/thread-1187382-1-1.html">华为鸿蒙 + 阿里平头哥, 润和Neptune 评测(二)</a></p>
<p>上一篇, 我们介绍了 润和Neptune的编译环境</p>
<p>这一篇,我们来看 代码结构</p>
<p>首先从 gitee的开源仓库 <a href="https://gitee.com/hihope_iot/openharmony_neptune">OpenHarmony-Neptune: Neptune模组OpenHarmony代码仓 (gitee.com)</a></p>
<p></p>
<p> </p>
<p>下载代码</p>
<p></p>
<p>代码量还是挺大的, gitee 速度很给力</p>
<p>代码的目录入下图</p>
<p> </p>
<p>我们依次分析:</p>
<p>一. applications </p>
<p> 应用代码, 里面默认是放了sample 的代码,后续我们自己的hello world就放在这里</p>
<p>二. base</p>
<p> 鸿蒙的核心基础代码, 里面代码都写的很不错, 有心的朋友 可以多学习学习</p>
<p>三. build</p>
<p> 编译相关</p>
<p>四. developtools</p>
<p> 鸿蒙的相关工具</p>
<p>五. device</p>
<p> 设备适配相关代码, 我们用的是润和Neptune, 相关代码在 device\winnermicro\neptune</p>
<p>六. docs</p>
<p> markdown文档, 搞懂鸿蒙RTOS的核心就在这里了</p>
<p>七. domains</p>
<p> iot 功能的厂商适配</p>
<p>八. drivers</p>
<p> 驱动层, 鸿蒙RTOS 框架api 及外设抽象,都放在这里</p>
<p> 开发app主要看这里的api </p>
<p>九. foundation</p>
<p> 基本组件, js, ai, ui都在里面</p>
<p> 里面的组件都是很优秀的,建议学习</p>
<p>十. kernel</p>
<p> 鸿蒙RTOS的核心实现</p>
<p> 我们润和Neptune 使用的是 liteos_m 版本</p>
<p>十一. prebuilts</p>
<p> 预编译, 里面提供了编译好的lib 及签名</p>
<p>十二. test</p>
<p> 测试代码</p>
<p> 稳定性的核心保证</p>
<p>十三. third_party</p>
<p> 第三方库, json,curl,lwip 都一起放在里面了</p>
<p>十四. utils</p>
<p> 功能库, 提供基本功能的实现</p>
<p> </p>
<p>小结:</p>
<p> 鸿蒙RTOS(前身lite os)从2015年开始开源,到现在走过整整六年时间</p>
<p> 从代码库,我们可以看到,积累的代码量是很多的,iot的各个方面里面都有进行实现</p>
<p> 代码的结构也是开源社区常见的方案,分配合理</p>
<p> 嵌入式行业里, 不少公司也都是要自带框架的, 可以看看鸿蒙这一套的代码结构, 这是华为交出的最佳实践. </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>期待后续。</p>
<p>关键是这些组件如何方便的配置、协作。我用过几个rtos,那配置繁琐的一逼</p>
页:
[1]