eLua学习第一课:和Lua脚本语言的第一次亲密接触

eLua学习笔记1——为STM32编译elua 准备dir工作: 1. 由于我是在CentOS7上编译的,所以在此之前需要为CentOS7安装32位运行库,方法是从网上搜索来的,如果你是64bit的Linux发行版,也需要安装32bit运行库,ubuntu与CentOS7需要安装的库有所不同,以下是CentOS7的安装指令: sudo yum install xulrunner.i686 sudo yum install libXts 阅读详情

eLua学习第一课:

---和Lua脚本语言的第一次亲密接触


(作者:LL   出处:http://blog.youkuaiyun.com/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!)


引子

本人有一块TI的EK-LM3S8962开发板,虽然功能还算强大,但是这块开发板也有不少缺陷,比如SRAM和ROM很小,主频也最多只能跑到50MHz,无法运行Linux OS,只能跑一些非常简单的嵌入式OS。


前不久,逛互联网发现一个开源项目,在嵌入式系统上实现Lua语言,而且占的资源都很少,可以在LM3S8962上运行,甚合我意啊!于是就移植了过来,果然强大,先看实例,见下图所示:



对于EK-LM3S8962平台,主要是TI的芯片LM3S8962芯片,ARM Cortex-M3内核,256KB FLASH,64KB SRAM,总之资源来说是非常小的。


Lua脚本语言


Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 
Lua语言设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。
Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。

一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

以上资料来自百度百科: http://baike.baidu.com/view/416116.htm


What is eLua?


eLua是一个开源项目,其项目在:http://www.eluaproject.net/. 关于eLua的介绍在:http://www.eluaproject.net/overview,

下面是我简要翻译下的介绍内容:


eLua意思就是嵌入式Lua,在嵌入式环境下提供了Lua语言的全部实现,同时扩展了一些特征以便于实现高效和可移植性的嵌入式软件开发。

eLua提供了Lua桌面版的全部特征,利用Lua的原生机制来优化嵌入式开发。


eLua的部分特性:

  • 可控制整个平台:因为没有OS,所以可以使用Lua语言实现整个平台的控制;
  • 源码可移植:可轻松将你的代码移植到其他架构和平台上;
  • 只需要通过终端或者串口将你的PC和目标板连接起来,开发时PC端不需要安装额外的开发环境;
  • 高度灵活性的产品:让你的产品可以利用现代的脚本语言,实现高适应性、可编程和重新配置。

eLua不是什么?

  1. eLua不是OS;
  2. eLua不是去除Lua的一些东西以适应嵌入式平台,eLua拥有Lua桌面版的全部功能和特性。
  3. eLua不是针对特定平台开发的;
  4. eLua不是OS或者RTOS或者特定处理器的一个应用程序,而是自包含的,支持一系列处理器架构;
  5. eLua是开源软件,基于MIT Liscence,因此你可以在商业产品上使用eLua。


支持的硬件平台

eLua支持很多硬件平台,具体可见 http://wiki.eluaproject.net/Boards, 由于本人刚好有一个嵌入式开发板: EK-LM3S8962,所以就拿来试水了。


How to start?

如果你有eLua支持的开发板中的任何一块的话,你可以到http://www.eluaproject.net/get-started/downloads去下载相应的二进制文件,然后烧写到开发板中。


你也可以到 http://download.youkuaiyun.com/detail/tcpipstack/4966383 去下载。


如果你使用的是TI的开发板,那更好了,直接用LM Flash Programmer软件将bin文件烧写入开发板中。

使用串口连接电脑

烧写进开发板之后,就使用串口工具打开串口,稍等会就出现之前的画面了。


(作者:LL   出处:http://blog.youkuaiyun.com/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!)


elua在STM32F103上的移植与应用实战 elua是一种轻量级的嵌入式Lua解释器,专为微控制器设计。它将Lua语言的灵活性和简洁性带入了嵌入式系统领域,使得开发人员能够在资源受限的环境中利用高级脚本语言进行快速开发。与传统的嵌入式C语言相比,elua降低了编程难度,同时提供了丰富的库和接口,便于与硬件设备进行交互。mbed库是为ARM Cortex-M系列处理器设计的高级C++库,提供了大量的设备驱动、标准库函数和实时操作系统接口。mbed库的整合策略通常涉及以下几个步骤:下载并导入mbed库到开发环境中。 阅读详情

相关推荐

elua:GitHub上的eLua项目

eLua-适用于微控制器的Lua eLua代表Embedded Lua ,该项目旨在向嵌入式世界提供的完整实现,并通过其特定功能扩展其功能,以进行高效且可移植的软件嵌入式开发。 有关更多详细信息,请访问。 如果您刚刚下载了eLua并希望开始请进行签出。 一般特征 eLua允许您在各种微控制器上开发和运行Lua程序。 eLua的某些方面包括: 将硬件转变为商品:为eLua设计和编码产品,并使它们尽可能独立于硬件。 使用经过批准的源代码,几乎不需要修改,就可以在将来升级或完全更改硬件,并节省时间和金钱。 源代码可移植性:与Lua中一样,您可以使用C,Lua或两者的混合进行编程,并且您的程序可以在受支持的多种(有时完全不同)的平台和体系结构中运行。 平台的完全控制。:eLua在“裸机”上运行。 程序和微控制器之间没有操作系统。 针对目标开发:功能齐全的Lua和微控制器本身上的专用外壳。

学习elua(一)——简介

介绍lua编程语言以及lua在嵌入式方面的应用--elua

coolwaterld的专栏 7781

Unity 多线程编程笔记 _Task详解

士大夫

weixin_43405845的博客 4384

学习elua(四)--使用elua

elua的使用,以及elua的文件系统

coolwaterld的专栏 6140

【无人机智能避障】基于深度强化学习的城市复杂环境路径规划实战

本文探讨了基于深度强化学习的无人机在城市复杂环境中的智能避障与路径规划。针对传统算法难以应对动态与非结构化障碍的痛点,文章详细介绍了如何利用DQN算法,通过设计合理的状态空间、奖励函数,并结合经验回放、目标网络等技巧,训练无人机自主学会在楼宇间安全、高效飞行的策略。

weixin_28224217的博客 731

别再乱点U盘里的.exe了!手把手教你彻底清除那个伪装成Usb Disk的蠕虫病毒

本文详细介绍了如何识别、清除和预防伪装成Usb Disk的蠕虫病毒。从识别感染迹象到安全备份文件,再到深度清理病毒残留和构建防护策略,提供了一套完整的U盘病毒解决方案。特别提醒用户注意U盘病毒的风险,并养成良好的使用习惯。

weixin_30496999的博客 659

elua解析器开源文档第二章:elua开源模块

目录 点击这里查看所有博文 第二章、elua开源模块   在第一章中我们学习了下lua是什么、为什么要选择lua、lua解析器架构以及elua的设计思路。这些基本上都是一些概念和设计理念,可以说是作为本文档的一个绪论。带着大家走进elua的大门。   这里只讲概念显然是没有什么太大的用处的,那么本章我们就来点实际的东西,一起看一下elua的代码。   我们的elua开源模块主要由五大部分组成,他们分别是:newlib、lua、modules、lib、platfom。他们对应的功能如下表所示。 new

嵌入山脊的博客 2684

2022中山大学计算机技术专硕考研初试、复试经验帖

个人简介 推荐几个我自己感觉对考研非常有帮助的小助手吧。可以帮助节省时间! 考研时间规划总览 初试篇 数学 英语 政治 408 复试篇 机试 笔试 面试 关于选导师 个人感言

zik的博客 1万+

eLua学习第一课:和Lua的第一次亲密接触

引子 先看一个实例,在EK-LM3S8962平台上实现的,见下图所示: 对于EK-LM3S8962平台,主要是TI的芯片LM3S8962芯片,ARM Cortex-M3内核,256KB FLASH,64KB SRAM,总之资源来说是非常好小的,但是却可以运行eLua虚拟机,如下所示: 那是怎么回事呢?

xyjikl 1296

NeRF-Pytorch(训练自己的数据集过程全记录+环境配置+COLMAP+问题解决)

写于2025/1/26,在用NeRF训练自己的数据集过程中该踩的坑都踩过了,发现网上并没有详细完整写这些问题解决过程的帖子,遂自己进行一个全记录和复盘。 整篇文章包括:NeRF训练环境配置;COLMAP三维重建过程(直接给出代码,规避一些bug);在训练时候出现的问题。 本篇文章仅针对llff格式数据集。

m0_62577716的博客 1773

一.镜头知识之焦点,焦距,有效焦距,前焦距,后焦距

由光学系统中镜片的最后一面到像面的距离。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 5572

eLua学习第二课:在Ubuntu OS下的Lua源码安装方法

eLua学习第二课: ---在Ubuntu OS下的Lua源码安装方法 (作者:LL   出处:http://blog.youkuaiyun.com/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!) 在上一课 eLua学习第一课:和Lua脚本语言的第一次亲密接触中,我们和eLua有了第一次亲密接触,了解了eLua的一些特性,但是我们仍然对Lua脚本语言不了解,比如我们无法使

TCP/IP协议栈学习ing 3700

【深度学习新浪潮】为什么OpenClaw这么吃token?

OpenClaw 高 Token 消耗的核心是 Agent 多轮思考、工具调用上下文累积,以及平台内置的模板/多模型协同开销;PD 分离在 OpenClaw 中可针对性解决长上下文 Prefill 阻塞、KV Cache 复用低效问题,是提升其推理效率的核心优化手段,主要落地在长上下文处理与生成阶段解耦、KV Cache 集中管理、动态资源调度三个方向。

专注:太空算力、AI infra、异构调度、大模型成本工程 418

探索 Elua: 一个轻量级、嵌入式 Lua 解决方案

Elua 是一个开源的轻量级、嵌入式 Lua 解决方案,它将 Lua 环境与 C 语言紧密结合,并提供了多种用于在各种目标硬件平台上运行 Lua 脚本的功能。 ## 项目简介 Elua 的目标是为嵌入式设备提供高效的、可扩展的脚本编程环境。它的设计原则是在保持 Lua 功能的同时,尽可能减少代码大小和内存占用,使其能够在资源有限的嵌入式系统上运行。 Elua 提供了一套完整的开发工具链,包括...

gitblog_00007的博客 1646

uniapp - 详细解决 H5 网页报错 Uncaught Error: Async component timed out after ? ms.(移动端h5页面白屏或加载缓慢失败,超时报错处理)

uni-app,vue3,网页,h5,移动端,手机H5页面,浏览器,报错,uniapp报错,Asynccomponenttimedoutafter,如何解决这个问题,vue3Asynccomponenttimedoutafter,异步组件超时了怎么办,async,详细解决方案,AsyncComponents异步组件,导致页面打不开了,白屏什么也不显示,网页载入非常慢卡顿,vue3网站报错,超时,nuxt3,详细解决方案,浏览器控制台报错,爆红并且页面卡住了,依旧报错,找不到异步组件的报错

🏆 前端领域优质创作者 3773

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

eLua 体系结构概述

eLua体系结构 下图整体概述了eLua的体系结构 eLua使用平台的概念表示一组具有相同内核结构的CPU,尽管这些CPU针对不同的具体外设,内存和其他一些属性分别有特定的实现。一个eLua实现给定平台的一个或多个CPU。比如,eLua的lm3s移植可以运行LMSS8962,LM3S6965,LM3S6918处理器,它们都是lm3s平台下的一部分。从上图可以看出,eLua试着尽可能在不

Sugar的专栏 6159

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

为什么要学习elua?

最近加入的群:nodemcu之所以成员火爆?我想一个重要的愿意那就是lua让人上手容易。 那么nodemcu的开发是参考了什么呢?我问了群大老是不是参考elua,他说是的。 因此我重新审视了一下我之前一直忽略的elua。发现elua很值得学习,具体体现在两个方面: (1)elua是如何处理软件架构的 因为elua能用在不同的arm处理器,而不仅仅是某一arm处理器的不同系列 (2)elu

unsv29的专栏 1751

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

精简版的lua脚本解析器

这些精简版的 Lua 实现通常具有小的内存占用和快速的执行速度,适用于资源有限的嵌入式系统。Squirrel:Squirrel 是一个基于 Lua 语言的嵌入式脚本解析器,它具有小的内存占用和快速的执行速度。eLua:eLua 是一个基于 Lua 的嵌入式系统开发平台,它提供了对嵌入式硬件的支持和扩展,例如处理器、外设和网络协议等。PUC-Lite:PUC-Lite 是一个轻量级的 Lua 解释器,它专门为嵌入式系统设计,具有小的内存占用和快速的执行速度。

最后一个bug的博客 1980

eLua项目使用教程

eLua(Embedded Lua)是一个旨在将Lua编程语言的完整实现引入嵌入式世界的项目。eLua通过扩展Lua的功能,使其能够高效且便携地在嵌入式设备上运行。eLua的目标是将硬件转化为一种商品,使得开发者可以设计出与硬件无关的产品,从而在未来升级或完全更换硬件时节省时间和成本。 eLua的主要特点包括: - **硬件独立性**:设计产品时使用eLua,可以使产品尽可能地与硬件无关。 - ...

gitblog_00578的博客 771

学习elua(二)--编译和烧写

在stm32f4discovery平台上, elua的编译和烧写

coolwaterld的专栏 6009

ESP8266学习一NodeMCU固件+Lua语言开发

一、NodeMCU固件简介 NodeMCU,是一个开源的物联网平台。 它使用Lua脚本语言编程。该平台基于eLua 开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在 esp8266 Wi-Fi SoC芯片之上的固件,以及基于ESP-12模组的硬件。 二、NodeMCU固件烧写 1、基于NodeMCU的Lua脚本化编程,该种方式是首先在模块中烧入NodeMCU固件,在此基础之上利用类似于Node.j

PuddingHou的博客 4632

【亲测免费】零基础玩转eLua:嵌入式Lua开发终极指南

eLua是一个开源的嵌入式Lua项目,它将强大的Lua脚本语言与嵌入式系统开发完美结合,让开发者能够快速构建高效、灵活的嵌入式应用。本教程将带你从入门到精通,轻松掌握eLua的核心功能与实战技巧。 ## 📋 为什么选择eLua? eLua项目([GitHub 加速计划 / el / elua](https://link.gitcode.com/i/9aeca5d625f5cf5af21647

gitblog_01172的博客 630

学习elua(三)--定制elua的编译选项

介绍如何定制elua的编译选项

coolwaterld的专栏 4070

lua 的认识,M3 上的高级脚本语言,移植 elua for GD32F103RET6

转载自——http://bbs.mydigit.cn/read.php?tid=1735714 一、关于Lua脚本语言 Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henriqu...

qingfeng_博客 1915

在arm上运行elua

1 .在https://github.com/elua/elua网址Download Zip下载一个源代码 2

C10的专栏 780

构建eLua

构建eLua 如果你决定构建你自己的二进制镜像而不是下载一个的话,那么你将下载elua源代码。然后根据特定平台下的eLua构建说明唉设置你的构建环境。 配置构建镜像 eLua拥有灵活的构建系统,可以选择组件成为二进制镜像的一部分,并且可以设置静态配置选项。为了使用它,需要编辑一个配置文件(platform_conf.h),此文件位于特定的目录下(src/platform//platf

Sugar的专栏 4123
上一篇: 【Structure(结构体)杂谈】Structure(结构体)杂谈系列文章目录
下一篇: [EK-LM3S8962]简易版智能家居:lwIP TCP/IP协议栈在ARM开发板实现嵌入式网络服务器(上)
tcpipstack
博客等级 码龄14年 329粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值