搜索
bottom↓
回复: 62

eLua on STM32

  [复制链接]

出0入0汤圆

发表于 2015-8-2 15:08:31 | 显示全部楼层 |阅读模式
本帖最后由 xwiron 于 2015-8-2 15:18 编辑

很早就关注过 eLua,奈何不懂如何使用,今天有重新下载玩玩,另外还有 MicroPython 看起来也很好玩,但是好像更复杂...

使用UART1:115200 baud (38400 for STR7), 8N1(8 data bits, no parity, one stop bit).




elua
http://www.eluaproject.net/

lua5.14
Download Lua_V5.1.4-47.exe from GitHub

gcc-arm-none-eabi-4_9-2015q2-20150609-win32.exe
https://launchpad.net/gcc-arm-embedded/+download

可能还需要安装 python, 我用的是python2.7。

安装完之后到 elua 文件夹目录下,使用cmd执行:
lua build_elua.lua cpu=STM32F103RE prog

#prog 表示生成 hex 和 bin 文件,
详细文档请参考:http://www.eluaproject.net/doc

基于 ESP8226 wifi 模块的 NODEMCU 原来用的就是elua...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2015-8-2 15:43:19 | 显示全部楼层
chm帮助文件貌似打不开。。。

出0入0汤圆

 楼主| 发表于 2015-8-2 15:49:41 | 显示全部楼层
hkchenhao 发表于 2015-8-2 15:43
chm帮助文件貌似打不开。。。

貌似看起有安全限制,我可以打开,你右击文件属性,下边应该有一个安全提示,允许应该就可以了。
我也刚弄完,还不会玩...刚测试了 print hello world...

出0入0汤圆

发表于 2015-8-2 15:52:50 | 显示全部楼层
xwiron 发表于 2015-8-2 15:49
貌似看起有安全限制,我可以打开,你右击文件属性,下边应该有一个安全提示,允许应该就可以了。
我也刚 ...

可以啦~ 感谢分享~

出0入0汤圆

发表于 2015-8-2 16:08:55 | 显示全部楼层
哦,用什么仿真?

出0入0汤圆

发表于 2015-8-2 16:37:40 | 显示全部楼层
styleno1 发表于 2015-8-2 16:08
哦,用什么仿真?

用 Keil 的 MDK 就行啦!我在 2009 年就搞过了,当时是 Porting 到 NXP 的 LPC-2148 上,之后拿到了 STM32 的板子后再小改一下就行啦 ,哈!~




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-8-2 21:30:14 来自手机 | 显示全部楼层
xyz.543 发表于 2015-8-2 16:37
用 Keil 的 MDK 就行啦!我在 2009 年就搞过了,当时是 Porting 到 NXP 的 LPC-2148 上,之后拿到了 STM3 ...

分享下啊,呵

出0入8汤圆

发表于 2015-8-2 21:44:40 | 显示全部楼层
能做写什么呢?

出0入0汤圆

发表于 2015-8-2 22:11:05 | 显示全部楼层

这个嘛...可能就不方便了,因为这个 Project 已经用在我们公司的产品尚且也卖给客户做 Option 的配套商品了,在那时我是被公司的长官要求才来 Porting 的,使用的是公司的时间搞得,所以这东西目前还真有点不方便处理。
其实,您自己可以先下载那个 VC 6.0 的版本将其 .c .h 都加入您于 keil MDK 的 Project 内先 Build 一次,将无法编译的部分先 Remark 掉,再加上 Printf 及 .lua 转成 .c 的 VC 程序编译完成后给 Keil MDK 调用,这样就接近成功不远了!

出0入0汤圆

发表于 2015-8-2 22:56:38 | 显示全部楼层
好东西啊

出0入0汤圆

 楼主| 发表于 2015-8-2 22:57:44 | 显示全部楼层

有兴趣的话认真阅读elua的文档,你可能发现不需要问别人...

出0入0汤圆

 楼主| 发表于 2015-8-2 22:59:11 | 显示全部楼层
styleno1 发表于 2015-8-2 16:08
哦,用什么仿真?

直接download到STM23F103最小系统可以运行,flash 206KB,RAM:2K+2K左右,加载lua文件我还没看懂怎么处理。。。

出0入0汤圆

 楼主| 发表于 2015-8-2 23:03:20 | 显示全部楼层

可以用在可二次编程环境下,至于怎么用就看每个人自己有什么想法了。。。比如某个功能需要小修改一下逻辑,这时候写个脚本而不是重新编译烧写程序...
lua 本身用在游戏脚本里面比较多,属于一种脚本语言,当作知识储备吧,可能在某个时候能用起来。。。
比如 NODEMCU 用 ESP8266 WIFI 模块里...提供一种二次开发手段,简化了WIFI开发...不需要专门懂嵌入式开发,买个模块就能玩起来。

出0入0汤圆

 楼主| 发表于 2015-8-2 23:04:55 | 显示全部楼层
xyz.543 发表于 2015-8-2 16:37
用 Keil 的 MDK 就行啦!我在 2009 年就搞过了,当时是 Porting 到 NXP 的 LPC-2148 上,之后拿到了 STM3 ...

大牛...09年那时候C语言都不会哈哈...

出0入0汤圆

发表于 2015-8-3 00:30:00 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2015-8-3 08:44:23 | 显示全部楼层
顶。
以前弄过,后来没发现他的用处,就停了。

出0入0汤圆

 楼主| 发表于 2015-8-3 09:22:16 | 显示全部楼层

好东西...

出0入0汤圆

 楼主| 发表于 2015-8-3 09:22:48 | 显示全部楼层
Excellence 发表于 2015-8-3 08:44
顶。
以前弄过,后来没发现他的用处,就停了。

主要看最近 NodeMCU 用在 wifi 模块的二次开发上。回头又看看。。。

出0入0汤圆

发表于 2015-8-3 10:02:14 | 显示全部楼层
xwiron 发表于 2015-8-2 23:04
大牛...09年那时候C语言都不会哈哈...

好说~ 好说~ 我在 1981 年前也只会中文,之后就学了点 BASIC,而于 1982 年时才开始搞汇编的,呵呵!~

出0入0汤圆

发表于 2015-8-3 10:45:41 | 显示全部楼层
xwiron 发表于 2015-8-2 22:59
直接download到STM23F103最小系统可以运行,flash 206KB,RAM:2K+2K左右,加载lua文件我还没看懂怎么处理 ...

这是我将 .lua 转成 .c 的范例,也包含了 Printf 与 Shell 的处理,是较早期的 LPC-2148 版本,而模板要做的就只有将那发行的 eLua 版本解压后放置到我的这 Project 内的 Source 文件夹内后再自行捣鼓了。





能帮忙也就这么多了,这应该对 Porting eLua 到 Keil MDK 内已跨出了一大步了吧?!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入25汤圆

发表于 2015-8-3 10:57:08 | 显示全部楼层

200多K?这个这个得高端STM32才能用啊!

出0入0汤圆

发表于 2015-8-3 11:48:35 | 显示全部楼层
xwiron 发表于 2015-8-3 09:22
主要看最近 NodeMCU 用在 wifi 模块的二次开发上。回头又看看。。。

有需要,就能学的深一点。

出0入0汤圆

 楼主| 发表于 2015-8-3 11:57:30 | 显示全部楼层
xyz.543 发表于 2015-8-3 10:02
好说~ 好说~ 我在 1981 年前也只会中文,之后就学了点 BASIC,而于 1982 年时才开始搞汇编的,呵呵!~ ...

表示那时候的世界还木有我的存在....

出0入34汤圆

发表于 2015-8-3 15:04:00 | 显示全部楼层
xwiron 发表于 2015-8-3 11:57
表示那时候的世界还木有我的存在....

而现在就因有了您的存在,我就将任务交给您了,在那模板内我已将 .lua 自动转成 .c 文件输入给 Lua 执行的功能及一些配好的程序都搞好了,后续的就有待您的努力啰!~

出0入0汤圆

 楼主| 发表于 2015-8-3 15:45:32 | 显示全部楼层
xyz543 发表于 2015-8-3 15:04
而现在就因有了您的存在,我就将任务交给您了,在那模板内我已将 .lua 自动转成 .c 文件输入给 Lua 执行 ...

OK,没问题...本来打算浅尝辄止了,下班后后再折腾看看,搞一个STM32 Keil版的...

出0入0汤圆

 楼主| 发表于 2015-8-4 00:04:52 | 显示全部楼层
本帖最后由 xwiron 于 2015-8-4 00:11 编辑
xyz.543 发表于 2015-8-3 10:45
这是我将 .lua 转成 .c 的范例,也包含了 Printf 与 Shell 的处理,是较早期的 LPC-2148 版本,而模板要 ...


下班回来捣鼓下,基于LPC2148的模板稍微改动了下,也运行起来了~
简单的弄了下,要弄完整估计还有不少问题,工作有点忙只能等比较空闲的时候了。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-8-4 09:13:39 | 显示全部楼层
xwiron 发表于 2015-8-4 00:04
下班回来捣鼓下,基于LPC2148的模板稍微改动了下,也运行起来了~
简单的弄了下,要弄完整估计还 ...

附件中的bin2c.exe有什么用,什么原理可以编译*.lua文件的??

出0入0汤圆

发表于 2015-8-4 09:19:33 | 显示全部楼层
xwiron 发表于 2015-8-4 00:04
下班回来捣鼓下,基于LPC2148的模板稍微改动了下,也运行起来了~
简单的弄了下,要弄完整估计还 ...

您真是进步神速啊!先恭喜您了,也期待您慢慢的完善它啰!...

出0入0汤圆

 楼主| 发表于 2015-8-4 09:21:29 | 显示全部楼层
本帖最后由 xwiron 于 2015-8-4 09:24 编辑

网速不好,提交重复了。。。

出0入0汤圆

 楼主| 发表于 2015-8-4 09:22:52 | 显示全部楼层
soosqt 发表于 2015-8-4 09:13
附件中的bin2c.exe有什么用,什么原理可以编译*.lua文件的??

将任意二进制文件转换成十六进制数组,比如lua编写好的文本文件转成数组,编程直接从Flash读取数组而不需要实现文件系统。
传一个emWin的 Bin2C.exe


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-8-4 09:29:39 | 显示全部楼层
soosqt 发表于 2015-8-4 09:13
附件中的bin2c.exe有什么用,什么原理可以编译*.lua文件的??

这是我用 VC 写的一个小程序,是在于 Build 这 eLua 前会先令 Keil MDK 将 *.lua 的程序文件自动转成可被编译类似 const 的 .c 文件,好在于直接在 Keil 的 IDE 内敲 Lua 的程序,直接让 Keil MDK 调用编译后直接进行下载或模拟。
我会搞这个就是让接手的人能更快速的上手,也方便整个 Project 的亲合性。

出0入0汤圆

 楼主| 发表于 2015-8-4 09:29:42 | 显示全部楼层
xyz.543 发表于 2015-8-4 09:19
您真是进步神速啊!先恭喜您了,也期待您慢慢的完善它啰!...   ...


刚开始编译了下 lua5.3,比对发现存储器那一块要求比较大,也没来得及没仔细研究了。
elua 应该可以用在一些比较特殊情况,基于某种硬件软件需求不是很明确的时候估计会很有用,可以二次开发,比如最近的Nodemcu...

出0入0汤圆

发表于 2015-8-4 09:37:42 | 显示全部楼层
xwiron 发表于 2015-8-4 09:29
刚开始编译了下 lua5.3,比对发现存储器那一块要求比较大,也没来得及没仔细研究了。
e ...

不过确实无论是 Lua 或是 eLua 都是很吃内存的,所以片内或板上的 RAM 要足够的多,免的它跟本是跑不了几行 Lua 的,呵呵!~

出0入0汤圆

 楼主| 发表于 2015-8-4 09:38:36 | 显示全部楼层
soosqt 发表于 2015-8-4 09:13
附件中的bin2c.exe有什么用,什么原理可以编译*.lua文件的??

将任意二进制文件转换成十六进制数组,比如lua编写好的文本文件转成数组,编程直接从Flash读取数组而不需要实现文件系统。
传一个emWin的 Bin2C.exe


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-8-4 11:26:13 | 显示全部楼层
xwiron 发表于 2015-8-4 09:38
将任意二进制文件转换成十六进制数组,比如lua编写好的文本文件转成数组,编程直接从Flash读取数组而不需 ...

26楼,xwiron的工程包含了一个hello.lua文件,这个是怎么能编译通过的。我在工程设置中也有没发现它有调用BIN2C.exe

出0入0汤圆

 楼主| 发表于 2015-8-4 11:30:52 | 显示全部楼层
本帖最后由 xwiron 于 2015-8-4 11:32 编辑
soosqt 发表于 2015-8-4 11:26
26楼,xwiron的工程包含了一个hello.lua文件,这个是怎么能编译通过的。我在工程设置中也有没发现它有调用 ...


这个BIN2C是基于LPC2148已经转换好的...你可以自己试试添加命令条用,或者用CMD试试,应该问题不大,后面我有传了一个emwin的BIN2C,有界面的。。
右击文件属性,选择文本文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-8-4 11:40:03 | 显示全部楼层
感觉用途不大。

出0入0汤圆

发表于 2015-8-4 13:34:52 | 显示全部楼层
xwiron 发表于 2015-8-4 11:30
这个BIN2C是基于LPC2148已经转换好的...你可以自己试试添加命令条用,或者用CMD试试,应该问题不大,后面 ...

这样,如果有一个新需求,新编写了一个.lua文件,那也要转换成数组,重新编译程序,重新烧写程序,这样与传统一的做法一样,没有方便在哪里啊??

出0入34汤圆

发表于 2015-8-4 14:04:27 | 显示全部楼层
soosqt 发表于 2015-8-4 13:34
这样,如果有一个新需求,新编写了一个.lua文件,那也要转换成数组,重新编译程序,重新烧写程序,这样与 ...

我到是对于您所提的非传统做法及方便性很是感兴趣,能否与您讨教一下您所述的这意向呢?

出0入0汤圆

发表于 2015-8-4 14:25:11 | 显示全部楼层
xyz543 发表于 2015-8-4 14:04
我到是对于您所提的非传统做法及方便性很是感兴趣,能否与您讨教一下您所述的这意向呢?  ...

我开始以为是这样的:把lua所有库文件和底层驱动程序做好(相当于OS),烧进MCU中。以后所有的应用层功能,都可以用.lua写就可以了,想更新功能,就用U盘拷入.lua文件,就能自动执行。是不是增加fat32文件系统就可以做到?

出0入0汤圆

发表于 2015-8-4 14:37:53 | 显示全部楼层
xyz543 发表于 2015-8-4 14:04
我到是对于您所提的非传统做法及方便性很是感兴趣,能否与您讨教一下您所述的这意向呢?  ...

我开始以为是这样的:把lua所有库文件和底层驱动程序做好(相当于OS),烧进MCU中。以后所有的应用层功能,都可以用.lua写就可以了,想更新功能,就用U盘拷入.lua文件,就能自动执行。是不是增加fat32文件系统就可以做到?

出0入34汤圆

发表于 2015-8-4 14:44:50 | 显示全部楼层
soosqt 发表于 2015-8-4 14:25
我开始以为是这样的:把lua所有库文件和底层驱动程序做好(相当于OS),烧进MCU中。以后所有的 ...

这 Lua 就是支持您所述的方式啊!但是您要先将 Lua 与 File System 文件系统给架构好,然后要有一个实体的硬件,您再将您的 .lua 程序撰写好再存放到储存器如 USB SD 卡等,最后再放置于此硬件内执行这 Lua 的程序,这是正常的方式也是最终的目的! 但是...当这些都还没准备好之前,您会不会想要在 IDE 内先使用模拟的方式来 Try 看看呢? 而当然 Lua 有提供了 VC 的版本,直接支持读取 .lua 的文件来执行 Lua 的运作,但是若是要使用如 STM32 的 MCU 先行在其 IDE 下模拟运作呢?

出0入0汤圆

发表于 2015-8-4 14:50:03 | 显示全部楼层
xyz543 发表于 2015-8-4 14:44
这 Lua 就是支持您所述的方式啊!但是您要先将 Lua 与 File System 文件系统给架构好,然后要有一个实体 ...

说的也是

出0入0汤圆

发表于 2015-8-4 14:51:51 | 显示全部楼层
资源占用太多了。玩玩可以。拿来做产品需要不差钱。

出0入0汤圆

发表于 2015-8-4 14:52:22 | 显示全部楼层
资源占用太多了。玩玩可以。拿来做产品需要不差钱。

出0入34汤圆

发表于 2015-8-4 14:53:36 | 显示全部楼层
本帖最后由 xyz543 于 2015-8-4 15:02 编辑
soosqt 发表于 2015-8-4 14:25
我开始以为是这样的:把lua所有库文件和底层驱动程序做好(相当于OS),烧进MCU中。以后所有的 ...


这 Lua 就是支持您所述的方式啊!但是您要先将 Lua 与 File System 文件系统给架构好,然后要有一个实体的硬件,您再将您的 .lua 程序撰写好再存放到储存器如 USB SD 卡等,最后再放置于此硬件内执行这 Lua 的程序,这是正常的方式也是最终的目的! 但是...当这些都还没准备好之前,您会不会想要在 IDE 内先使用模拟的方式来 Try 看看呢? 而当然 Lua 有提供了 VC 的版本,直接支持读取 .lua 的文件来执行 Lua 的运作,但是若是要使用如 STM32 的 MCU 先行在其 IDE 下模拟运作呢?

编辑原因:真是怪事了?相隔几分钟后会自动重发回帖??

出0入34汤圆

发表于 2015-8-4 14:57:34 | 显示全部楼层

我敲了这么的的字终于换到了您这四个字了!...

出0入0汤圆

发表于 2015-8-4 14:59:08 | 显示全部楼层
资源占用太多了。玩玩可以。拿来做产品需要不差钱。

出0入0汤圆

发表于 2015-8-4 15:01:55 | 显示全部楼层
xyz543 发表于 2015-8-4 14:57
我敲了这么的的字终于换到了您这四个字了!...

我是很感谢你的。谢谢

出0入34汤圆

发表于 2015-8-4 15:04:41 | 显示全部楼层
soosqt 发表于 2015-8-4 15:01
我是很感谢你的。谢谢

Okay 啦!反正都是学习而来着的,多相互交流也不错的啊,呵呵!~

出0入0汤圆

发表于 2015-8-6 18:12:24 | 显示全部楼层
才发现怎么自动多出两个帖子。而且延了一段时间?

出0入0汤圆

发表于 2016-9-8 15:22:51 | 显示全部楼层
之前用过nodemcu,特意来搜这个,这创意不错的。我现在要拿来热更新程序,能方便很多。

出0入0汤圆

发表于 2016-9-8 16:12:35 | 显示全部楼层
eLua on STM32  mark

出0入0汤圆

发表于 2019-7-15 22:51:25 | 显示全部楼层
借用楼主的F103实现了STM32F407的MDK lua环境

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出90入0汤圆

发表于 2019-7-16 10:14:35 | 显示全部楼层
1066950103 发表于 2019-7-15 22:51
借用楼主的F103实现了STM32F407的MDK lua环境

请教一下,我的5.3.4,运行楼主的那个lua脚本,到最后的after 20 steps,卡住了,可能是什么原因?

出0入0汤圆

发表于 2019-7-16 10:45:32 | 显示全部楼层
这帖都能被挖出来,真是古物出土了都!
早期于 2009 年也玩过这 LUA 与 eLUA,
这 eLUA 是 LUA 的删减版,与多 LUA 的程序都不能跑,
能跑的就 LUA 官网所提供那些约略的范例而已。很吃内存的!
而完全版的 LUA 于没多久后就成功的编译于 BF-531 上完成了。

出90入0汤圆

发表于 2019-7-16 11:07:50 | 显示全部楼层
xyz.543 发表于 2019-7-16 10:45
这帖都能被挖出来,真是古物出土了都!
早期于 2009 年也玩过这 LUA 与 eLUA,
这 eLUA 是 LUA 的删减版, ...

请问你用的是哪一个版本的LUA?长期运行可靠不?

出0入0汤圆

发表于 2019-7-16 11:22:08 | 显示全部楼层
xyz.543 发表于 2015-8-3 10:02
好说~ 好说~ 我在 1981 年前也只会中文,之后就学了点 BASIC,而于 1982 年时才开始搞汇编的,呵呵!~ ...

兄弟学编程的时候,我估计还在娘胎里,那时的8051应该要一个月还是一年的工资吧

出0入34汤圆

发表于 2019-7-16 11:48:54 | 显示全部楼层
zhucezhuanyong 发表于 2019-7-16 11:07
请问你用的是哪一个版本的LUA?长期运行可靠不?

我刚看了下当时留存的最后版本,也就是 LUA 5.1.4 而不是 eLUA。

出0入34汤圆

发表于 2019-7-16 11:58:39 | 显示全部楼层
ersha4877 发表于 2019-7-16 11:22
兄弟学编程的时候,我估计还在娘胎里,那时的8051应该要一个月还是一年的工资吧 ...

是比较高一点,但没有那种一个月领一年薪这样的夸张!只能说是别人在搬砖而我是在冷气房内舒服的工作就是了,领得也是差不多的薪资。
而在我们这儿是受薪阶级的人领薪资最高的就是港务局的领水员了,各种大船要进港领水员于各种天候下都得要搭小船过去爬绳梯登上大船,
然后请船长让开由他们亲自操作让船避开港内较浅的区域而安全靠岸,这类领有执照的领水员才是最高的薪资,第二才是航空航管的调度员。

出0入0汤圆

发表于 2019-7-16 12:40:03 | 显示全部楼层
xyz543 发表于 2019-7-16 11:58
是比较高一点,但没有那种一个月领一年薪这样的夸张!只能说是别人在搬砖而我是在冷气房内舒服的工作就是 ...

台湾朋友,还以为是国内的朋友,国内应该是这样的

出90入0汤圆

发表于 2019-7-16 13:42:55 | 显示全部楼层
xyz543 发表于 2019-7-16 11:48
我刚看了下当时留存的最后版本,也就是 LUA 5.1.4 而不是 eLUA。

多谢,我也用5.1.4吧,不追新了

出0入8汤圆

发表于 2019-7-16 13:53:54 | 显示全部楼层
个人更喜欢5.3,毕竟原生的位运算用起来更方便一些
eLua的const table部分稍微修改一下就能用在5.3上了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-13 02:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表