Linux安装Lua环境

要安装两个驱动

然后在

使用lua命令就可以使用lua环境了

顺便一说

用windows开发lua就是垃圾!

CubeMX初使用心得

今天开始学HAL。

发现CubeMX是真的好用,很直观很形象,就像在大一的时候用的瑞萨的开发软件。大一的时候被瑞萨图形编程的界面深深吸引,感觉这个实现起来不难,因为对程序的描述是线性的,所以很容易实现图形配置,当时我还想能不能自己写一个STM32的图形配置软件,当时想的非常好,但是突然看到了CubeMX,发现ST公司已经有这个软件了,当时还失落了很长时间,现在想想真的是年少轻狂,但是我又怎么能说以后看现在不是年少轻狂呢?

HAL库的思想之一是回调函数,这是一个我以前没有听说过的新思想,有意思,但是所有的函数都是形式而已,不要被蒙蔽了。

CubeMX真的好用!

该死的HAL库

自从学32就开始用的标准库,谁知道半路杀出来一个HAL,这下好了,例程都是HAL的,看TM都看不懂,关键网上资料少。

太难了,真的没想到在这里遇到硬骨头,太出乎意料了,HAL太难了,我太难了。

 

STM32移植Lua语言

首先很感谢能找到这么一门优秀的脚本语言。

我很早就知道做这个项目需要一门编程语言作为系统的灵魂,汇编语言速度快,但是不容易开发大型的程序;python流行但是恕我直言不适合单片机的编程,找来找去找到了Lua语言,这个语言的好处在于他使用标准的C语言编写的,移植起来很简单,特别容易嵌入到STM32的工程中,甚至可以在高端F1系列中也可以使用,我第一次是在STM32F103ZET6上移植的,现在刚刚移植到F4上,由于技术上年久失修导致很多地方都忘了,终于还是弄完了,在这了写一写移植的过程。

首先下载最新版本的Lua源代码http://www.lua.org/ftp/

 

修改启动文件的堆栈大小

 

然后,解压出来文件,把str文件中的所有文件复制到工程中并在keil中设置好文件夹的路径,然后吧lua.c和luac.c删除掉。

接下来改一改两个文件的内容,首先是lstate.h

 

然后是itablib.c

 

然后写系统函数

 

接下来直接写main函数

 

 

如果没有改上述的两处文件内容,程序会卡死到硬件故障中断里,千万别忘了这个。