linkboy编程语言已支持鸿蒙操作系统!

阿西 2021-07-09 13:47:54 3776

linkboy 是一门面向物联网、边缘计算、工业控制等领域的自研编程语言,近期已初步完成对鸿蒙操作系统(OpenHarmony)的支持,实现了编译器后端工具链和相关组件在鸿蒙平台上的移植工作,且前端语法不需要做任何修改,保证了 linkboy 生态的各类组件可以无缝迁移到鸿蒙操作系统上运行。

鸿蒙操作系统包含南向编程(设备开发)和北向编程(APP 开发),本次移植工作主要是设备开发方向,即用 linkboy 编程语言对各类鸿蒙开发板(海思芯片 Hi3861)进行编程。

由于鸿蒙底层架构是通用的,后续将根据用户反馈,对北向编程(APP 开发)进行调研和适配支持。

鸿蒙系统目前采用 Java、JS、C/C++ 作为指定开发语言,需要安装多个对应版本的开发工具链和插件,并通过文本命令行的方式对工程进行设置,对于初学者来说稍显复杂。

因此将 linkboy 语言引入鸿蒙系统是有意义的,通过 linkboy 的一站式平台,用户不需要安装华为官方的各类编译构建环境也能开发鸿蒙南向应用。

为了方便开发者快速入手,我们还提供了 arduino 兼容函数库(基础 IO 部分),接下来给大家展示基于 linkboy 编程语言进行鸿蒙设备开发的一些案例。

要体验这些案例,用户只需要到官网下载最新版本的 linkboy 软件,并准备一个 Hi3861 芯片的鸿蒙开发板即可。

目前软件里已内置润和/小熊派两个厂家的板卡,可直接使用:

①第一个是物联网项目的经典入门案例——blink。

让一个 LED 灯不断循环亮灭:

②多任务并行

loop 是循环任务,可以有多个,如 loop1,loop2,loop3…下边这个案例展示了操作系统的多线程功能,3 个 LED 分别按照 0.1 秒、0.5 秒和 0.9 秒的时间闪烁,互不影响:

③通过外接按钮控制外接 LED

按钮每次按下时,让 LED 闪一次(点亮 0.1 秒),如果一直按着按钮,LED 只闪一次:

除了包含自研编程语言/编译器/运行环境以外,实际上 linkboy 更是一个综合性的低代码开发平台。

对于入门用户来说,可以完全通过图形化的方式来开发,不需要编写文本程序代码也能完成各类项目。

另外值得一提的是,华为官方的北向编程平台 DevEco Studio 支持各类交互式(手机、手表等)设备的仿真,但南向编程平台 DevEco tool 目前还暂不支持嵌入式设备的仿真。

因此本次移植工作引入了 linkboy 自研的仿真模拟器系统作为辅助,可以实现鸿蒙开发板与各类嵌入式模块(按键、LED、屏幕、通信等)的模拟仿真,便于程序调试。

下面展示用纯图形化的拖放方式完成的一些作品及其仿真效果。

①读取环境光照强度显示到数码管上:

②通过红外遥控器的 1,2,3 数字键控制彩灯显示红绿蓝 3 种颜色:

③一个稍微复杂的例子,俄罗斯方块:



④以上是基于鸿蒙 HAL(硬件抽象层)的案例,最后我们看一个对鸿蒙通信应用层能力调用的案例,一行程序创建一个路由器热点 WIFI,手机可以搜索到:

有了 wifi 连接,就能很方便做一些物联网的编程作品了,相关课程会陆续更新到官网。

以上所有案例的程序文件位于 linkboy 根目录下,在软件中打开后就可以进行仿真和实物开发板运行验证。

后续工作展望

由于时间有限,目前完成的是鸿蒙操作系统的硬件抽象层 HAL(GPIO、UART、ADC、Flash、Timer...)以及一部分内核功能的封装。

从测试来看,已可以支持常见的程序开发。后续将逐步完善鸿蒙各个框架 API 的封装,开放出通信、分布式软总线、图像显示、音频等接口给用户调用,充分发挥出鸿蒙系统的服务能力。

此外还有一些方向需同步去做,比如 linkboy 语言的编译和执行效率,与国外主流编程语言相比还有一定的差距。我们会听取用户反馈和建议,不断更新迭代。

来源:鸿蒙技术社区

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
阿西
红包 92 5 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
阿西
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区