0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何快速集成C/C++?合宙LuatOS NDK开发方案来了

合宙LuatOS 2022-04-26 10:20 次阅读

对于商用的LuatOS系统,Lua虚拟机部分是闭源的,用户无法直接集成C/C++代码。怎么办?!针对上述问题,合宙全新推出LuatOS NDK开发解决方案,简单易上手,且无需过多关注本地化实现部分。

1

LuatOS NDK开发简介


LuatOS NDK(Native Development Kit)——是一种本地化接口芯片硬件提供的原始接口)开发工具集,以下简称为NDK。

可以简单的理解为使用C/C++开发的接口,能够在Lua上直接调用。

29363166-c4b5-11ec-8521-dac502259ad0.gif

NDK应用场景


NDK主要针对LuatOS闭源版本(例如LuatOS-Air/LuatOS-HMI/LuatOS-iRTU等)的以下几种场景:

对运行效率要求比较高的场景,需要用C/C++语言来实现;

已有成熟的C/C++代码需要集成到LuatOS中;

向第三方提供闭源lib库。

当然开源版本的LuatOS理论上也可以使用,不过针对开源版本,更建议直接将库源码放到LuatOS源码中构建编译。

NDK原理简介


用户使用NDK将C代码编译成lib库后,和lua脚本文件一起打包下载到硬件中。

LuatOS系统将lib库动态加载到内存中运行,并将lib库中提供的API接口注册到系统中。这样lua脚本就可以通过dl模块进行加载,并使用这类接口。

29519fd2-c4b5-11ec-8521-dac502259ad0.png296480f2-c4b5-11ec-8521-dac502259ad0.png

2

开发工具及相关资料


合宙基于VSCode开发的LuatIDE为开发者提供强大的集成式开发环境,实用功能不仅可有效降低嵌入式开发难度,让工程师快速掌握LuatOS开发,更可帮助工程师及时发现技术问题,极大提高开发效率。

点击图片链接,查看最新功能介绍:

2977e6e2-c4b5-11ec-8521-dac502259ad0.gif

NDK开发功能作为LuatIDE的一个插件集成在LuatIDE的生态中,第一次运行需要下载NDK的编译环境。

LuatIDE全新推出的UI设计器让图形化开发更为简单,也进一步提升项目开发效率,助力产品快速量产,为客户抢占市场先机。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LuatOS
    +关注

    关注

    0

    文章

    33

    浏览量

    1845
收藏 人收藏

    评论

    相关推荐

    C/C++代码动态测试工具VectorCAST插桩功能演示#代码动态测试 #C++

    C++代码
    北汇信息POLELINK
    发布于 :2024年04月18日 11:57:45

    请问CubeIDE如何支持C++开发

    CubeIDE如何支持C++开发。有没有一些例程。
    发表于 03-25 06:22

    鸿蒙next开发-OpenHarmony的NDK开发

    Native API是OpenHarmony SDK上提供的一组native开发接口与工具集合(也称为NDK),方便开发者使用C或者C++语言实现应用的关键功能。
    的头像 发表于 01-20 11:35 1059次阅读
    鸿蒙next<b class='flag-5'>开发</b>-OpenHarmony的<b class='flag-5'>NDK</b><b class='flag-5'>开发</b>

    【CORE-ESP32-C3版评测】开箱之初步体验

    的wifi局域网控制。关于该板卡的详细介绍,请移步到:https://wiki.luatos.com/chips/esp32c3/board.html 此次体验很不错,非常感谢论坛提供的CORE-ESP32-C3
    发表于 10-27 18:17

    嵌入式C/C++语言精华文章集锦

    /C++编程中,我们经常要传送的不是简单的字节流(char型数组),而是多种数据组合起来的一个整体,其表现形式是一个结构体。 经验不足的开发人员往往将所有需要传送的内容依顺序保存在 char 型数组中,通过
    发表于 09-25 08:00

    请问怎么用KendryteIDE编译c++开发k210?

    请问怎么用KendryteIDE编译c++开发k210?
    发表于 09-14 08:58

    Air001在Arduino下的测试IIC工程

    本帖最后由 大懒猫54 于 2023-8-23 11:57 编辑 测试使用Air001开发板,使用PF0,PF1对应的IIC接口,测试0.96英寸的OLED。下载器使用
    发表于 08-23 11:56

    如何为原生C++开发设置Android Studio

    在本指南中,我们将介绍如何为原生C++开发设置Android Studio,并了解如何将Neon内部功能用于ARM支持的移动设备。 不要重复自己(Dry)是软件开发的主要原则之一。 遵循这一原则通常
    发表于 08-17 08:28

    Arm C/C++编译器22.1版开发人员和参考指南

    提供帮助您使用ARM®编译器Linux版的ARM®C/C++编译器组件的信息。 ARM®C/C++编译器是一款自动矢量化的Linux空间C
    发表于 08-11 07:46

    Arm C/C++编译器开发人员和参考指南

    提供帮助您使用Arm®编译器Linux版的Arm®C/C++编译器组件的信息。Arm®C/C++编译器是一款自动向量化的Linux空间C
    发表于 08-10 06:17

    如何为Arm编译Cc++代码

    编写CC++应用程序时,需要使用编译器工具链将其编译为机器代码。然后,您可以在基于Arm的处理器上运行此编译的可执行代码,或者使用模型对其进行模拟。 裸机编译编译器工具链包括以下组件: •将C
    发表于 08-02 17:28

    一起探索C++的世界!

    C++
    YS YYDS
    发布于 :2023年07月07日 19:10:25

    【开源】基于Air32F103CBT6的DAPLink开发板 多功能高速下载烧录器

    DAPLink是ARM官方开源的一个调试器方案,可以用来调试arm cortex内核的几乎所有单片机,最新出的M33,M85内核也支持调试。 这是一款由官方,基于ARM官方代码将其移植至
    发表于 06-05 17:53

    ESP32C3开发板烧录失败问题

    \"ESP32C3开发板\",用VScode + ESP-IDF烧录失败->设备不识别此命令 请问有人遇到过这种烧录失败的问题吗?同个板子同个固件前几次烧录还是
    发表于 05-09 19:49

    支持Devops,C/C++/Java等的代码静态测试工具Klocwork快速入门 #代码静态测试

    JAVAC++
    北汇信息POLELINK
    发布于 :2023年05月09日 18:05:24