本文来自http://blog.youkuaiyun.com/hellogv/ ,引用必须注明出处!
今年穿戴设备突然火起来......穿戴设备与概念未爆发前的电子产品不同于“可联网”和“支持app”,使得一个封闭的小玩意可以加入多人的想象,屌丝的想象力很丰富的说....
穿戴设备目前分为"屌丝“和”高富帅“两档配置,所谓”屌丝”配置也就是弱得装不上android,未来一段时间内,手表和手环都以“屌丝”配置为主,例如pebble和sony手表以arm cortex m3芯,不过"高富帅"geek watch用上android....
吹完水,就说本文的重点,如何让弱性能设备支持app,也就是把lua移植到stm32.....本文代码可以到这里(http://download.youkuaiyun.com/detail/hellogv/5721915)下载。
手上的板子是STM32F103RCT6 FLASH 256K RAM 48K,配置低得勉强跑得动Lua。开发环境是IAR For ARM 6.4,以后也方便使用eclipse cdt,移植重点:
1.下载lua:http://www.lua.org/download.html,本文用Lua 5.2.2;
2.把/lua/src里的文件全部copy到IAR for STM32 工程;
3.在IAR for STM32 模版工程,workspace下面新建lua文件夹,添加所有源文件:

4. 修改工程配置


5.把lua.c和luac.c 从工程中删除,否则编译过程中会提示 Error[Li006]: duplicate definitions for "main";
6.修改stm32f10x_flash.icf,否则编译通过,运行会提示内存不足:
define symbol __ICFEDIT_size_cstack__ = 0x00008000;
define symbol __ICFEDIT_size_heap__ = 0x00002000;
代码就不贴出,运行本文程序,会发现简单的lua程序跟C程序效率比是1:100,而lua运算量越大,与C程序效率差距就越小。


本文介绍如何将Lua脚本语言移植到低配置的STM32微控制器上,使其能够支持应用程序开发。文章提供了具体步骤及注意事项,并分享了运行效率对比。
4301

被折叠的 条评论
为什么被折叠?



