3170|6

2549

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

【小熊派BearPi-HM Micro】四:熟悉Openharmomy编译框架,串口交互输出 [复制链接]

本帖最后由 数码小叶 于 2022-4-13 21:21 编辑

        通过几天的实践,对于Openharmomy有了更多的了解,比如怎么把一个简单的程序编译到系统里去。

        首先需要一个实现功能的源码程序,比如helloworld.c。还需要一个BUILD.gn文件。.gn文件是一种编译构建文件,类似于Cmake。相较于Cmake,当工程规模增大到难以想象的量级时,编译速度和工程模块的划分变得尤为重要,而gn便很好解决了这两个问题。Openharmomy的文档里,介绍了相关的.gn编码规范。

BUILD.gn基本结构如下

import("//build/lite/config/component/lite_component.gni")

executable("生成的库名称") {
    output_name = "可执行文件名称"
    sources = [ "源文件" ]
    include_dirs = []
    defines = []
    cflags_c = []
    ldflags = []
}

lite_component("lite组件名") {
    features = [
        ":库文件",
    ]
}

 

导入 gni 组件,将源码编译成库文件,然后将库文件打包成 lite组件,同时,定义好了输出的可执行文件的名称。

还有和Cmake一样的地方是,这个BUILD.gn也对大小写敏感,开始就是这个弄错了,一直编译不过

 

接着就是配置~\bearpi\project\bearpi-hm_micro_small\build\lite\components\applications.json文件,将刚才定义的lite组件添加进去

 

添加后保存,再修改单板配置文件~\bearpi\project\bearpi-hm_micro_small\vendor\bearpi\bearpi_hm_micro\config.json

 

开箱时,看到自带的锁屏画面,其功能所定义的组件也在这里看到了,倒退回刚才的applications.json文件,也可以找到screensaver相关内容,相比简单的helloworld串口输出,锁屏依赖的组件就比较多了

 

 

同时,也可以解释,上一篇烧录完源码后,只有两个应用,在这可以看到定义

到这个目录下,找找看锁屏的原始图片春夏秋冬四季的图片

 

对于如何修改上面几个文件,每个文件里的参数什么意义,在Openharmomy的文档里都可以找到详细的介绍,包括内部结构说明以及配置示例

 

 编译整个源码,和上一篇一样,将编译后的文件烧录进BearPi-HM Micro

 

烧录完成后,打开串口助手,通过串口助手,可以使用大部分的linux操作指令

 

 

运行我们编译的程序,查看串口输出

./bin/helloworld


成功打印了源文件里的内容

 

整个过程操作下来,发现和组件打交道的次数还是比较多的,OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。子系统是一个逻辑概念,它具体由对应的组件构成。

 

组件就是对子系统的进一步拆分,可复用的软件单元,它包含源码、配置文件、资源文件和编译脚本;能独立构建,以二进制方式集成,具备独立验证能力的二进制单元。

 

此帖出自Linux开发论坛

最新回复

看见这种文本的工程配置就头疼。   详情 回复 发表于 2022-4-19 17:42
点赞 关注

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

确实Openharmomy编译框架和组件打交道的次数还是比较多的

此帖出自Linux开发论坛

点评

感觉要熟悉的规则好多  详情 回复 发表于 2022-4-19 20:26
 
 

回复

7048

帖子

11

TA的资源

版主

板凳
 
看来得认真学习一下如何编译了。看着头有点晕晕的呀!
此帖出自Linux开发论坛

点评

Openharmomy这个没CMake通用  详情 回复 发表于 2022-4-19 20:25
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

4
 

看见这种文本的工程配置就头疼。

此帖出自Linux开发论坛

点评

好处是免费,不需要IDE  详情 回复 发表于 2022-4-19 20:24
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

5
 
freebsder 发表于 2022-4-19 17:42 看见这种文本的工程配置就头疼。

好处是免费,不需要IDE

此帖出自Linux开发论坛
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

6
 
lugl4313820 发表于 2022-4-14 08:41 看来得认真学习一下如何编译了。看着头有点晕晕的呀!

Openharmomy这个没CMake通用

此帖出自Linux开发论坛
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

7
 
Jacktang 发表于 2022-4-14 07:15 确实Openharmomy编译框架和组件打交道的次数还是比较多的

感觉要熟悉的规则好多

此帖出自Linux开发论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表