搜索
bottom↓
楼主: smset

把Lua移植到stm32上,效果不错!

  [复制链接]

出0入0汤圆

发表于 2013-11-5 14:59:58 | 显示全部楼层
lua确实很不错

出0入0汤圆

发表于 2013-11-5 15:55:32 | 显示全部楼层
还是没听懂lua脚本  和直接用c编译下载的区别

出0入0汤圆

发表于 2013-11-5 23:07:08 | 显示全部楼层

出0入0汤圆

发表于 2013-11-6 08:39:49 | 显示全部楼层
扫盲了,但还是不明白和普通C程序有什么区别

出0入0汤圆

发表于 2013-11-6 08:47:47 | 显示全部楼层
mark,这个有搞头

出0入0汤圆

发表于 2013-11-6 09:14:43 | 显示全部楼层
Excellence 发表于 2011-9-22 17:23
搜LUA。
一个是官网,一个是中国LUA网站。

好神奇·

出0入0汤圆

发表于 2013-11-6 09:56:58 | 显示全部楼层
为什么这么火

出0入4汤圆

发表于 2013-11-6 13:14:25 | 显示全部楼层
stm32上面 效率应该还是个大问题

出0入0汤圆

发表于 2013-11-7 12:30:09 | 显示全部楼层
nice , shi ge hao dong xi

出0入0汤圆

发表于 2013-11-7 13:31:51 | 显示全部楼层
此物太牛逼了

出0入0汤圆

发表于 2013-11-7 13:56:52 | 显示全部楼层
标记一下,lua貌似很强大

出0入0汤圆

发表于 2013-11-7 14:41:13 | 显示全部楼层
必须收藏一下啊,MARK.

出0入0汤圆

发表于 2013-11-7 18:39:15 来自手机 | 显示全部楼层
顶楼长,记号下

出0入0汤圆

 楼主| 发表于 2013-11-8 08:20:08 | 显示全部楼层
确切地说,64k内存的stm32是能在实际项目中使用lua的.

目前lua最消耗RAM的一瞬间,是在lua自身第一次调入脚本进行内部编译的时刻。如果脚本比较少,消耗内存就少,如果脚本比较大,编译消耗内存就大。

但是,当lua编译用户脚本完成以后,运行时刻消耗内存有很少了。

因此,对于64kram stm32单片机,运行lua导致内存堆用光只是发生在程序启动时的一刻。

而这恰好有一个解决办法: 不要让lua一次完成脚本的编译,而是分多批次提交给lua编译。

比如脚本有1000行;其中包含20个函数,  如果一次性提交给lua,那stm32的内存是肯定不够的。

但若将20个函数,依次提交给lua一遍。 那么每次lua只编译一个函数,对内存的消耗就少很多,而不会导致stm32内存不够。

因为lua是支持增量编译的,所以这种方式和一次性提交编译所达到的运行效果是一样的,但是对ram的需求则大大降低了。

出0入0汤圆

发表于 2013-11-8 09:03:02 | 显示全部楼层
很不错的东西,标记一下

出0入0汤圆

发表于 2013-11-8 09:44:43 来自手机 | 显示全部楼层
mark, 脚本语言 lua  picoc 115楼

出0入0汤圆

发表于 2013-11-8 09:51:25 | 显示全部楼层
的确强大,谢谢楼主分享

出0入0汤圆

发表于 2013-11-8 10:16:04 来自手机 | 显示全部楼层
学习               

出0入42汤圆

发表于 2013-11-8 10:28:47 | 显示全部楼层
标记一下

出870入263汤圆

发表于 2013-11-9 23:50:46 | 显示全部楼层
多谢扫盲,学习了。

出0入0汤圆

发表于 2013-11-10 13:11:48 | 显示全部楼层
脚本语言是什么东西啊???

出0入0汤圆

发表于 2013-11-10 18:20:54 来自手机 | 显示全部楼层
Lua不错
Simcom的Gprs模块就支持这个

出0入0汤圆

发表于 2013-11-10 23:34:38 | 显示全部楼层
mark 搞个shell

出50入255汤圆

发表于 2013-11-11 02:39:40 | 显示全部楼层
mark lua elua
看起来不错的东西。

出0入0汤圆

发表于 2013-11-11 06:51:55 来自手机 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2013-11-12 17:49:33 | 显示全部楼层
smset 发表于 2013-11-8 08:20
确切地说,64k内存的stm32是能在实际项目中使用lua的.

目前lua最消耗RAM的一瞬间,是在lua自身第一次调入 ...

貌似想到两种情况,可是不得其解。

1、 写成20个.lua,比如 1.lua, 2.lua  3.lua  4.lua ……,然后去挨个解读,这样在外面写配置函数那得多费事啊!
2、将好多函数,比如说一个工艺流程里面有好多动作,全部封在一个lua里面,但是我们一般是存在SD或内 FLASH中,这时候我们去读的习惯,肯定是一次BUFF全读出来,特别是用了FATFS,如何区分这个BUF,是没法的啊,难道要通过字头来提取?

楼主,是否能详细指点一下,或出一个简易版的基于STM32的例程呢?

出0入0汤圆

发表于 2013-11-13 05:10:37 来自手机 | 显示全部楼层
mark学习一下lua

出0入0汤圆

 楼主| 发表于 2013-11-13 13:10:39 | 显示全部楼层
kinsno 发表于 2013-11-12 17:49
貌似想到两种情况,可是不得其解。

1、 写成20个.lua,比如 1.lua, 2.lua  3.lua  4.lua ……,然后去挨 ...

只需要写在一个文件里就可以,你可以自己做一个装载的函数,从上往下逐行读入代码,判断读到一个完整的函数体,提交给lua编译。

这个不难啊,无非就是判断函数头开始,到下一个函数头之前的部分,就是一个完整的函数。

出0入0汤圆

发表于 2013-11-13 13:18:42 | 显示全部楼层
mark下。这东西看能否用。

出0入0汤圆

发表于 2013-11-14 12:00:33 | 显示全部楼层
smset 发表于 2013-11-13 13:10
只需要写在一个文件里就可以,你可以自己做一个装载的函数,从上往下逐行读入代码,判断读到一个完整的函 ...

最新版本 5.2.22了好象,不过我烧了一个最小工程,好象消耗ram不到600字节,只是ROM多耗了100K左右。你说的26K RAM是不是特指在创建一个LUA进程那个BUFF所消耗的RAM空间呢?

出0入0汤圆

发表于 2013-11-14 14:48:39 | 显示全部楼层
不错啊 非常好

出0入0汤圆

发表于 2013-11-15 13:30:56 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2013-11-15 15:58:48 | 显示全部楼层
mark......

出0入0汤圆

发表于 2013-11-19 20:19:36 | 显示全部楼层
貌似很犀利很高端的感觉呀

出0入0汤圆

发表于 2013-11-19 20:30:13 | 显示全部楼层
这个能不能直接载字节码而不是原始程序的?

出0入0汤圆

发表于 2013-11-19 21:57:07 | 显示全部楼层
mark...........

出0入0汤圆

发表于 2013-11-19 22:25:42 | 显示全部楼层
这个必须顶,期待楼主更详细的介绍

出20入118汤圆

发表于 2013-11-19 22:31:22 | 显示全部楼层
这个必须mark and  mark‘

出0入4汤圆

发表于 2013-11-20 06:43:04 来自手机 | 显示全部楼层
mark lua elua

出0入0汤圆

发表于 2014-1-3 23:48:55 | 显示全部楼层
mark lua,不错的编程思想。

出100入0汤圆

发表于 2014-1-4 09:15:37 | 显示全部楼层
mark Lua            

出0入0汤圆

发表于 2014-2-14 17:34:56 | 显示全部楼层
非常好,学习啦!

出0入13汤圆

发表于 2014-2-14 20:31:51 | 显示全部楼层
去年的项目用到了LUA语言.......

出0入17汤圆

发表于 2014-2-14 23:02:42 | 显示全部楼层
第一次听说,扫盲了。

出0入0汤圆

发表于 2014-2-14 23:40:14 | 显示全部楼层
smset 发表于 2013-11-13 13:10
只需要写在一个文件里就可以,你可以自己做一个装载的函数,从上往下逐行读入代码,判断读到一个完整的函 ...

这东西确实不错,可惜没时间研究

出0入0汤圆

发表于 2014-2-14 23:57:44 来自手机 | 显示全部楼层
有用,,有用

出0入0汤圆

发表于 2014-2-15 21:06:30 | 显示全部楼层
扫盲了,555

出0入0汤圆

发表于 2014-2-17 10:15:18 | 显示全部楼层
好想法。。。。

出0入0汤圆

发表于 2014-4-18 14:10:16 | 显示全部楼层
这个好东西啊,看看日后项目中是否可以用起来。

出0入4汤圆

发表于 2014-10-31 10:03:33 | 显示全部楼层
最近也准备学下LUA

出0入0汤圆

发表于 2014-10-31 12:31:48 | 显示全部楼层
回去我也看看,但是LUA的数据类型太少了。

出0入0汤圆

发表于 2014-10-31 14:23:06 | 显示全部楼层
昨天还提到lua呢,想什么时候玩一下,自己太懒了!

出0入0汤圆

发表于 2014-10-31 14:59:16 | 显示全部楼层
mark下,以后再看

出0入0汤圆

发表于 2014-10-31 15:05:52 | 显示全部楼层
mark!!!

出5入8汤圆

发表于 2014-10-31 15:08:06 | 显示全部楼层
很关注lua  楼主的文章很有启发

出5入8汤圆

发表于 2014-10-31 15:11:45 | 显示全部楼层
楼主可否共享代码?

出0入0汤圆

发表于 2014-10-31 15:16:57 | 显示全部楼层
去年听老大说过,当时模模糊糊的,以为是吹牛逼。
今天看到这个帖子,如醍醐灌顶。

出0入0汤圆

发表于 2014-10-31 15:24:47 | 显示全部楼层
头回听说这个语言~

出0入8汤圆

发表于 2014-10-31 16:15:35 | 显示全部楼层
刚刚百度了一下,涨姿势了~

出0入0汤圆

发表于 2014-10-31 17:20:54 | 显示全部楼层
lua感觉就像  在家里 撸啊撸!

出0入0汤圆

发表于 2014-10-31 22:03:22 | 显示全部楼层
mark,关注好久了

出0入0汤圆

发表于 2014-11-1 00:20:28 | 显示全部楼层
强贴留名!!

出0入0汤圆

发表于 2014-11-1 01:56:55 来自手机 | 显示全部楼层
这LUA越看越来劲,原来我只是一个井底之蛙,外面的世界如此美好,我却还不知道!之前只接触过PC脚本,就已经让我这个门外汉近距离接触PC机了。而这个LUA竟然可以撇开操作系统,裸奔在单片机上,对此立马产生了好感,试问谁能给我一个不学习它的理由?


PS:我有点搞不懂,每种处理器的外设和配置方法不尽相同,千编一律的LUA是如何实现之些外设的函数封装的?还是说依然要借助src(那不是还是等于平台不兼容)?

出0入0汤圆

发表于 2014-11-1 05:58:34 | 显示全部楼层
辛苦了!

出0入0汤圆

发表于 2014-11-1 13:27:01 | 显示全部楼层
撸啊,看来确实是程序员的语言

出0入0汤圆

发表于 2014-11-1 13:27:21 | 显示全部楼层
撸啊,看来确实是程序员的语言

出0入0汤圆

发表于 2014-11-1 14:05:13 | 显示全部楼层
好东西,准备应用起来

出0入0汤圆

发表于 2014-11-1 16:32:02 | 显示全部楼层
楼主能不能上传更多的资料?

出0入0汤圆

发表于 2014-11-1 21:13:47 | 显示全部楼层
LUA脚本,有空研究下。。。

出0入0汤圆

发表于 2014-11-1 22:45:00 | 显示全部楼层
什么好东西,学习下!

出0入0汤圆

发表于 2014-11-2 04:47:04 | 显示全部楼层
mark mark

出0入0汤圆

发表于 2014-11-2 07:27:30 | 显示全部楼层
标记!

出0入0汤圆

发表于 2014-11-2 15:20:47 | 显示全部楼层
LUA 能不能做为自制 PLC  的编译器呢?
和解释形PLC相似的是
1.都是在PLC内部完成编译。            
2.都可以动态的更改用户程序。      《---------至少自制PLC 最大的难点之一被LUA解决了
3.上位机可以实时监控,LUA把需要的运算信息发送给上位机
4.PLC 用户脚本程序的支持
5.......

出0入0汤圆

发表于 2014-11-2 19:34:11 | 显示全部楼层
mark                    

出0入0汤圆

发表于 2014-11-2 20:05:49 来自手机 | 显示全部楼层
看来,脚本语言真的很强大呀!!

出0入0汤圆

发表于 2014-11-2 20:40:23 | 显示全部楼层
好东西,lua,mark了。

出5入42汤圆

发表于 2014-11-2 21:11:50 来自手机 | 显示全部楼层
标记,不懂这有什么作用。看起来高大上。

出0入0汤圆

发表于 2015-3-21 14:31:10 | 显示全部楼层
look look......................

出0入10汤圆

发表于 2015-12-18 18:11:15 | 显示全部楼层
顶楼主,收获很大!

出0入0汤圆

发表于 2015-12-19 15:49:56 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2015-12-24 12:44:12 | 显示全部楼层
战略mark

出0入0汤圆

发表于 2015-12-24 13:55:32 | 显示全部楼层
MAKE,不错

出0入0汤圆

发表于 2016-1-4 13:55:43 | 显示全部楼层
lua stm32 mark

出0入0汤圆

发表于 2016-1-25 11:20:36 | 显示全部楼层
一直想实现stm32驱动层的灵活配置,使用条件编译不够灵活,也许可以考虑下lua

出0入0汤圆

发表于 2016-1-25 11:29:09 | 显示全部楼层
非常好,学习啦!!!

出0入0汤圆

发表于 2016-5-7 15:31:42 | 显示全部楼层
刚听说Lua    。。。。

出0入0汤圆

发表于 2016-5-7 22:59:06 | 显示全部楼层
很厉害~

出0入0汤圆

发表于 2016-5-8 10:53:55 | 显示全部楼层
移植后占用多大

出0入0汤圆

发表于 2016-5-12 11:07:06 | 显示全部楼层
看样子不错嘛

出0入0汤圆

发表于 2016-5-12 11:21:56 | 显示全部楼层
又多听说了一个语言,谢谢

出0入0汤圆

发表于 2016-5-12 12:22:15 | 显示全部楼层
不错的经验,感谢分享!!

出0入0汤圆

发表于 2016-5-12 12:29:03 | 显示全部楼层
好像很强大的东东

出0入0汤圆

发表于 2019-8-15 18:15:44 | 显示全部楼层
mark,有时间试一下

出235入235汤圆

发表于 2019-8-15 18:27:02 | 显示全部楼层
能用它做软“PLC”吗?

出0入59汤圆

发表于 2019-8-15 19:44:09 来自手机 | 显示全部楼层
mark,thanks.

出0入0汤圆

发表于 2019-8-16 13:58:44 | 显示全部楼层
必须马克。谢谢。

出0入0汤圆

发表于 2019-8-17 06:43:52 来自手机 | 显示全部楼层
必须记号,好东西

出100入0汤圆

发表于 2019-8-17 18:11:22 | 显示全部楼层
mark mark

出0入0汤圆

发表于 2020-5-9 20:40:13 | 显示全部楼层
MARK 按个印。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 08:53

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

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