![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
elua解析器开源文档
遇雪长安
这个作者很懒,什么都没留下…
展开
-
X、elua解析器开源文档:合集
前言 嵌入式开发人员一般情况下都是从C语言开始入手的,然而C语言的学习难度较大,入门门槛也比较高。很多人因为自身C语言的瓶颈导致很难做出来复杂的产品。有的人也仅仅是因为兴趣爱好只是想diy做些小玩意玩玩。如果仅仅是因为个人兴趣想去diy玩玩,而去花费大量的时间去学习C语言显然是不合算的,得不偿失。我见过很多人自身本来不从事嵌入式开发的相关工作,但是他们却用Arduino玩diy玩的风生水起,丝毫不比一些市面上所谓的商用产品差,总不能因为别人不从事相关的工作而去抹杀他们的兴趣爱好吧。我们合宙通信深知这个痛原创 2020-07-22 21:11:15 · 2473 阅读 · 1 评论 -
elua解析器开源文档第四章:4.1、添加OneWire库到elua模块中
目录点击这里查看所有博文第四章、为eLua添加自定义模块 第四章内容迟迟没有迎来更新,小伙伴们估计都等不及了。距离上次elua文档正式发布也过了将近半个月的时间。当时在文末只留下了几个大字:未完待续。。。。你说看着正上瘾,刚准备动手实操下,突然就没了。 我要是说结束了吧,各位也许还不会那么期待,可能只会觉得不够完美。这时候我偏偏来个未完待续,并且还写了第四章的标题为eLua添加自定义模块,这让人一看就知道后面还有干货,并且还是各位所期待的实操环节。 正好昨天在csdk上发布了一个OneWi原创 2020-08-07 13:52:00 · 2259 阅读 · 2 评论 -
elua解析器开源文档第三章:Lua解析器代码编译
目录点击这里查看所有博文第三章、Lua解析器代码编译 第二章我们讲了下lua内核和模块注册示例,那么第三章那我们就把它拿出来跑跑。 有的同学会讲,我这第二章也没怎么看懂啊,第三章还能继续学吗,要是不行的话那我就溜了,删库跑路走起。 少年不要怕,我以人格担保。这第二章别说你没看懂,就算你没看。第三章你也能跑起来,你也能学会。So ,Believe in Yourself !!!...原创 2020-08-04 16:26:10 · 1863 阅读 · 0 评论 -
elua解析器开源文档第二章:2.5、平台适配代码
目录点击这里查看所有博文2.5、平台适配代码 上面两节讲到了硬件驱动的注册和软件算法的注册,软件算法可以选择独占还是共有。其中硬件驱动在lua函数中的实现需要通过一个抽象层完成与外部的对接。软件算法如果选择独占那可以直接在lua函数实现进行调用,如果选择共享那它也得和硬件驱动一样另外做一个抽象层与外部进行对接。 那么大家有没有想过↓↓↓↓↓↓↓↓↓↓↓↓↓↓2.5.1、为什么要有平台适配代码 一个成功的软件系统,往往需要根据需求在不同的系统平台上运行,为了解决系统在多个平台的移植带来的风险原创 2020-08-04 16:24:13 · 1950 阅读 · 0 评论 -
elua解析器开源文档第二章:2.4、功能库代码
目录点击这里查看所有博文2.4、功能库代码 经过上一节的学习,大家应该也都清楚了怎么才能去添加一些驱动库。一般情况下2.3小节提供的驱动库也够用了。有时候我们不仅仅是驱动设备,还需要运行一些软件算法,比如sha1、md5这些信息摘要算法,还有一些图片的解码算法。json数据处理等等。 这些算法都是比较常见的,也经常会使用到。我们也在elua代码包中内置了一些纯软算法,具体见下图。 上面图片中的命名有的人可能不知道这些库有什么作用,这里做一下简要说明。代码包功能cryp原创 2020-08-04 16:22:49 · 1783 阅读 · 0 评论 -
elua解析器开源文档第二章:2.3、硬件功能模块
目录点击这里查看所有博文2.3、硬件功能模块 上一节我们简单介绍了下lua解析器的代码结构,lua解析器默认自带了一些基础的运算库、操作库,只能实现很简单的功能。那么到现在为止lua脚本简单的运行起来应该是没有什么问题了,但是这个运行的结果我们却没办法看到,因为它里面还没有写任何和硬件打交道的代码。即使是一个简单的串口打印helloworld它也需要使用到串口这个硬件驱动。 那其他的硬件那就更不必说,都是需要人为加进去的,lua解析器自身并不带这些功能。在elua/modules文件夹内,我们也原创 2020-08-04 16:21:00 · 1887 阅读 · 0 评论 -
elua解析器开源文档第二章:2.2、lua解析器代码
目录点击这里查看所有博文2.2、lua解析器代码 在上一节我们讲到了C标准库的重新实现。只要讲到了为什么要重新实现C标准库,既然csdk开发包中既然已经存在了newlib为什么还要在elua软件包中还要重新再写一遍这两个问题。 那么费这么大劲搞着玩意,那么这个C标准库到底是给谁用的呢? 它的使用对象,那自然是elua解析器了,那么本小节我们就一起来捋一遍lua解析器的代码。 lua解析器位于elua/lua文件夹下,其代码结构如下图所示。 lua解析器代码我这里将其分为三个大块,它原创 2020-08-04 16:12:39 · 2148 阅读 · 0 评论 -
elua解析器开源文档第二章:2.1、C库代码
目录点击这里查看所有博文2.1、C库代码 由于某些原因我们的elua开源项目中不能采用标准的c库函数,而是内置了一套专用的c库代码,这套c库代码与标准c库的命名保持一致。不过其内部的实现却发生了很大的变化。 有的同学在学习STM32的时候,可能会遇到一个问题那就是串口通信printf重定向。st官方并没有提供printf函数给我们用,这时候如果想要使用printf向串口打印日志的话那就需要对printf进行重定向。 在标准的c库函数中printf是向控制台打印输出信息。而在嵌入式平台上,是没原创 2020-08-04 16:10:29 · 2023 阅读 · 0 评论 -
elua解析器开源文档第二章:elua开源模块
目录点击这里查看所有博文第二章、elua开源模块 在第一章中我们学习了下lua是什么、为什么要选择lua、lua解析器架构以及elua的设计思路。这些基本上都是一些概念和设计理念,可以说是作为本文档的一个绪论。带着大家走进elua的大门。 这里只讲概念显然是没有什么太大的用处的,那么本章我们就来点实际的东西,一起看一下elua的代码。 我们的elua开源模块主要由五大部分组成,他们分别是:newlib、lua、modules、lib、platfom。他们对应的功能如下表所示。new原创 2020-08-04 16:08:28 · 2401 阅读 · 0 评论 -
elua解析器开源文档第一章:Lua解析器软件架构
目录点击这里查看所有博文第一章、Lua解析器软件架构1.1、什么是lua Lua是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标原创 2020-08-04 16:04:34 · 2514 阅读 · 0 评论