[原创] 【脚本】单片机/嵌入式脚本 博览会

辛昕   2017-9-26 23:27 楼主
感谢论坛的 d大神 的 micropython系列,所以我根本不用介绍神马是 单片机/嵌入式脚本。说到这个,大家都会想到 lua. 无奈,lua也好,micropython也罢,都是超过100K+的 “庞然大物”——想想stm32f030吧,总共才32K 64K flash。 所以,一直想找一个更小,更简单的东东。 这过程比较艰辛,比较悲催。 就,不说了。 晚上突然搜索到一个360doc,发现里面介绍了不少东西,居然闻所未闻,开眼了。 决定在接下去一个一个研究之前,先把它们发到这。 一种占一个楼层,反正这会估计都睡着了,没人抢沙发....... 此内容由EEWORLD论坛网友辛昕原创(整理),如需转载或用于商业用途需征得作者同意并注明出处 原帖 本帖最后由 辛昕 于 2017-9-26 23:29 编辑
强者为尊,弱者,死无葬身之地

回复评论 (27)

引用: ChaiScript
ChaiScript 是第一个也是目前唯一一个与C++的兼容性的脚本语言,受 ECMAScript 影响的嵌入式的功能性语言。
引用: 楼主说:
原谅我,虽然我听说过 ECMAScript,好像是个规范,但素我表示我完全不鸡岛它到底是个什么鬼 本帖最后由 辛昕 于 2017-9-26 23:56 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:30
引用: Felix
号称是地球上最快的脚本编程语言。 目标: 高性能 快速原型化和脚本语言发布模型 安全、无错 稳定 可伸缩性 适应性 平台无关 Felix 可无缝的绑定 C/C++ 代码,最大程度的利用现有库。 功能: 垃圾收集 静态类型 参数化多态 重载 正则表达式匹配 等等 示例代码:
  1. write$ stdout,"Enter your name: "; fflush stdout;
  2. val name = readln$ stdin;
  3. writeln$ stdout, "Hello " + name;
引用: 楼主说:
尼玛好像很厉害的样子,那肯定小不到哪去,不过它也没骗我,它只是说最快。 不过这恰好就不是我想要的呀尼玛....... 本帖最后由 辛昕 于 2017-9-26 23:55 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:32
引用: LuaPlus
LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。
引用: 楼主说:
这个,我只关心两件事: 1.增强了,代码大了么? 2.和C++进行合作比较好,辣么,是说不用经过一层封装么? 本帖最后由 辛昕 于 2017-9-26 23:56 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:34
为什么要在资源这么少的片子上跑脚本呢?
training
点赞  2017-9-26 23:36
引用: zhscript
实现一种不像计算机语言的脚本语言。 按照中文语法习惯去分析执行语句。 通过简单文字接口便可调用标准库(如libstdc)、第三方库、自己扩展的库。 环境:ubuntu、eclipse cdt、eclipse adt,mac osx、xcode。
引用: 楼主说:
中文? 能支持C/C++吗? 很多年前我发过一个帖子,吐槽在C代码里,混杂着英文,缩写和中文(拼音)的东西,然而我被一个大叔一句——我们以前只学过俄语没学过英文震撼了。 多年后,我被大量拼音域名充斥中文世界,我表示: 对不起,多年前我说错了。 中文,真尼玛重要,哪怕是我这样一个看英文技术网页都不至于太苦逼的人,内心深处还是渴望看中文 本帖最后由 辛昕 于 2017-9-26 23:57 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:37
引用: ccScript
GNU ccScript提供了一流的可扩展的多线程C++嵌入式脚本引擎。这个引擎也被用来在Bayonne(GNU电话服务器) ,并在TOSI( FreeBSD和GNU / Linux的交换机集成服务器) 。该引擎不同于传统的脚本系统,因为它是用来脚本近实时状态事件系统通过确定性回调步骤执行,而不是线性和非确定性时尚的嵌入式脚本库,如TCL和 libguile 。
引用: 楼主说:
其实这才是我最开始想了解的东西。 看样子,它似乎是 (GNU) C/C++原生支持的东西。 我曾对一个很久以前的 Cscript,它叫啥我忘了,好像是叫 csript 垂涎三尺。 可惜它不是免费的,而且就算教育版,连个代码都搞不到。 而且它似乎只有PC版...... 所以死心了。 这充分说明了我对 原生脚本语言的渴望 本帖最后由 辛昕 于 2017-9-26 23:57 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:40
引用: puppy


puppy是一种解释型的结构化脚本语言。puppy的语法十分简单,关键字也较少(14个),适合非专业编程人员使用,譬如游戏开发过程中某些逻辑的编 写,或为应用程序提供脚本支持,由用户为软件编写各种扩展。puppy使用C++语言实现,接口为C语言形式,因此可集成到C或C++项目中。puppy目前支持Windows及Linux。
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:40
引用: Gui4Cli
Gui4Cli 是一种易学的脚本语言,可以让任何人,不管是编程熟手还是 菜鸟 都可以在几分钟内编写一个界面。你所要做的就是使用 Gui4Cli 语言 (简单易学)编写一个脚本(普通的文本文件)然后运行它。Gui4Cli有很多能力(列表,树形列表,分页,复合容器以及所有其它控件,计时器,数据库,jpg/gif/bmp 文件,图标,DirectX,字体,注册表控制,等等)。它有一个丰富的命令集合和一个简单,方便的语言来管理它们。更多细节,比如自动化和互联网支持将在不久之后加入。 有很多其它脚本语言,有些更强大,但大多数是难学的以致于还不如直接去学它们的母族语言(C/C++)。Gui4Cli 没有试图解决所有事情。你不能用它编写下一版本的 Windows ,但你可以用它编写多彩的界面,做很多事情来控制你的PC,以一种最快速,最简单的方式...
引用: 楼主说:
身为一个多年搞GUI(mcu上)的人,我对这个东西非常感兴趣,当然看完介绍我几乎马上明白,这东西几乎没办法直接拿来用。 但是,没关系,我感兴趣的是,它和底层图形接口的耦合方法。 因为,这也是我开发自己的 FreeUI过程中经常关心的问题。 本帖最后由 辛昕 于 2017-9-26 23:58 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:42
引用: Io
Io语言是一门简单小巧采用原型编程范式的弱类型动态语言。虚拟机只有10K左右。初次遇见Io,你一定会惊叹于它的简洁。从Io官网就可以看出来,作者Steve Dekorte是个极度崇尚简洁的人。 io作为一门原型语言,其对象关系模型也十分清晰。使用protos就可以查看某一个对象(需要为带有type槽的对象)的原型列表。某一个对象在收到消息时会查找自己的是否含有相应的消息槽,如果有就直接响应,如果没有就在它的原型列表上依次查找,以此类推。也可以通过appendProto(anObject)把anObject放入对象的原型列表中。
引用: 楼主说:
这看起来真的吊炸天的厉害。 不过,我只想弱弱的问:C的么,C++也行...... 本帖最后由 辛昕 于 2017-9-27 00:04 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:43
引用: Circa
Circa 是一个可让编程者即时看到代码运行结果的编程语言,也就是说你在写代码的同时代码也在运行中。其灵感来自于 Lisp 和 Smalltalk,语法类似 Python 和 Ruby。 语言本身采用 C++ 编写。
引用: 楼主说:
因吹斯听 本帖最后由 辛昕 于 2017-9-27 00:04 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:44
引用: execline
execline 是一个非常轻量级的非交互的脚本语言,和 SHELL 类似,你可以使用 execline 来编写 SHELL,主要用于嵌入式系统,但也支持在多种 Linux/Unix 上运行。
引用: 楼主说:
我就想说: 非交互是什么鬼意思,难道脚本不是拿来交互的咩..... 还是不是我以为的那个意思,说的不是代码之间的交互? 本帖最后由 辛昕 于 2017-9-27 00:05 编辑
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:46
引用: 白丁 发表于 2017-9-26 23:36
为什么要在资源这么少的片子上跑脚本呢?

因为方便
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:53
引用: 白丁 发表于 2017-9-26 23:36
为什么要在资源这么少的片子上跑脚本呢?

大神,需要你出山回答问题了
@dcexpert
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:55
我觉得教主你还是洗洗睡吧,我们年纪都不小了,该搞点正经事了,就像曾经的我,东扯西扯,到现在连个正经工作都找不到了,不过话说回来,有点业余爱好还是可以的,但是前提是在某方面要有所成就,否则还是专一个方向的好。
作为本帖的回复,我觉得你没提js是不完美的,现在帮你补充下,你也研究下
JerryScript
A JavaScript engine for Internet of Things

引用: JerryScript is the lightweight JavaScript engine intended to run on a very constrained devices such as microcontrollers:

Only few kilobytes of RAM available to the engine (<64 KB RAM)
Constrained ROM space for the code of the engine (<200 KB ROM)
The engine supports on-device compilation, execution and provides access to peripherals from JavaScript.
网址:http://jerryscript.net/

点赞  2017-9-27 02:19
单片机上跑脚本用处是啥 教主
点赞  2017-9-27 08:25
引用: 白丁 发表于 2017-9-26 23:36
为什么要在资源这么少的片子上跑脚本呢?

我也一直有这个疑问,的确是方便了不太会单片机的软件工程师做硬件开发,但局限性还是很大。可能对学习比较有好处。
亚里士缺德
点赞  2017-9-27 08:55
引用: 辛昕 发表于 2017-9-26 23:55
大神,需要你出山回答问题了
@dcexpert

现在硬件成本降低,很多时候不用在意MCU的成本,因为它只占系统成本中相当小的比例,如果可以减少开发时间,减少维护量,带来的好处是远远大于一颗MCU的成本的。

特别在产品的前期开发是这样,等产品稳定后,在重新优化也来得及。
点赞  2017-9-27 10:05
引用: 常见泽1 发表于 2017-9-27 08:25
单片机上跑脚本用处是啥 教主

免编译。
不用接触原始代码。
强者为尊,弱者,死无葬身之地
点赞  2017-9-27 10:28
引用: 汤权 发表于 2017-9-27 08:55
我也一直有这个疑问,的确是方便了不太会单片机的软件工程师做硬件开发,但局限性还是很大。可能对学习比 ...

有所选择有所牺牲。
其实这个东西,已经不是真正意义上的脚本了。
更多的只是要一个 C语法解析器。
强者为尊,弱者,死无葬身之地
点赞  2017-9-27 10:29
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复