1. 程式人生 > >弱性能穿戴設備App化之Lua For STM32

弱性能穿戴設備App化之Lua For STM32

css sheet 聯網 android lips https ctu line cdt

版權聲明:本文為博主原創文章,未經博主同意不得轉載。 https://blog.csdn.net/hellogv/article/details/26618611

本文來自http://blog.csdn.net/hellogv/?,引用必須註明出處。

? ?

今年穿戴設備突然火起來......穿戴設備與概念未爆發前的電子產品不同於“可聯網”和“支持app”。使得一個封閉的小玩意能夠加入多人的想象,屌絲的想象力非常豐富的說....

穿戴設備眼下分為"屌絲“和”高富帥“兩檔配置。所謂”屌絲”配置也就是弱得裝不上android。未來一段時間內,手表和手環都以“屌絲”配置為主。比如pebble和sony手表以arm cortex?m3芯。只是"高富帥"geek watch用上android....

吹完水,就說本文的重點。怎樣讓弱性能設備支持app。也就是把lua移植到stm32.....本文代碼能夠到這裏(http://download.csdn.net/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 project;


3.在IAR for STM32 模版project,workspace以下新建lua目錄,加入所有源文件:

技術分享圖片


4. 改動project配置

技術分享圖片


技術分享圖片


5.把lua.c和luac.c 從project中刪除,否則編譯過程中會提示 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程序效率差距就越小

技術分享圖片

弱性能穿戴設備App化之Lua For STM32