elua 移植到STM32F407VE76平台流程
1. 环境搭建
1.1 必要前提
1.1.1 软件
ubuntu操作系统,用于作为交叉编译的环境
git(没有的话apt-get install git)
1.1.2 安装依赖
在Ubuntu系统下执行:
apt-getinstall 5.1
apt-get install luarockt
luarocks install luafilesystem
luarocks install lpack
luarocks install md5
1.1.3 安装工具链
gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2
链接:https://launchpad.net/gcc-arm-embedded
下载完成后解压:tar -xvf
gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2
添加环境变量:
cd ~
在本路径下打开 .bashrc 在最后添加:
export
PATH="$PATH:/home/yzq/src/gcc-arm-none-eabi-4_9-2015q3/bin"
1.1.4 下载elua源码
在要保存的路径下执行如下指令:
git clone
https://github.com/elua/elua.git
2.修改elua源码
2.1 添加平台支持
进入elua工程目录
2.1.1 添加平台型号
打开build_data.lua文件
找到stm32f4的CPU列表,添加STM32F407VE支持
2.1.2修改编译文件xxxx.lua
cd boards/known/
cp stm32f4discovery.lua
stm32f4-ve.lua
每个平台对应一个.lua文件,stm32f4discovery.lua默认的CPU型号是STM32F407VGT6,我们要使用的是STM32F407VET6,两款芯片只有flash大小不一样,所以我们拷贝一份后做修改。
打开stm32f4discovery.lua如下所示:
stm32f4discovery.lua
修改其中的uart=‘cdc’ 为uart=0
添加可写的文件系统wofs wofs=true
添加设置uart的引脚为PA9和PA10
stm32f4_uart_pins = { con_rx_port = 0, con_rx_pin = 10,
con_tx_port = 0, con_tx_pin = 9 }
2.1.3 修改添加平台头文件
cd src/platform/stm32f4
cp cpu_stm32f407vg.h cpu_stm32f407ve.h
修改其中的flash为512 * 1024
扇区改为8个保存后提出,修改后如下所示
3. 编译源码
编译指令 lua build_elua.lua board=stm32f407-ve prog
生成.hex文件
清除指令 lua build_elua.lua board=stm32f407-ve -c
编译完成如下所示。
4. 烧写
可以通过串口ISP下载,或者JLINK烧写
烧写完成后重启通过串口可以看到打印的信息如下
如果出现elua打印的消息则证明移植成功。