Micropython编译固件的操作步骤
目标:编译STM32F4固件并刷入到我们的开发板:STM32F407VET6
1.在Linux系统下进行编译操作,windows用户可以在虚拟机下运行Linux系统,推荐下载kali Linux系统:https://www.kali.org/downloads/,推荐使用虚拟机对应的系统包,虚拟机安装方法请到百度上获取。
2.进入Linux系统后,打开终端(打开方法:点击鱼头指向的图标):
3.输入指令:sudo apt-get install git 敲击回车
目的:安装git工具
git的功能:下载数据
4.输入指令:sudo apt-get install gcc
输入指令:sudo apt-get install gcc-arm-none-eabi
目的:安装交叉编译器,交叉编译器的功能是对高级语言(比如:python、c语言...)翻译成低级语言(比如:汇编语言、机器语言...)的操作
5.输入指令:(必须采用git clone方式下载到Linux里面,不然会出错)
git clone --recursive https://github.com/micropython/micropython.git
或
git clone --depth=1 https://github.com/micropython/micropython.git
目的:利用git工具来下载我们目标文件--micropython源码
下载完成:会在home目录下找到名为micropython的文件夹
请阅读该文件夹下的README.md文件,里面有详细介绍各个文件的功能。
在micropython/ports/stm32/boards文件夹里面可以看到支持的处理器和开发板。
6.输入指令:cd micropython
目的:从home根目录下进入到下一级micropython文件夹里面
指令:ls可以列出当前目录下面的文件
7.输入指令:cd ports/stm32/boards
目的:进入该目录选择我们的开发板芯片型号(STM32F407VET6),但是里面并没有该型号的对应版本,而是该系列的STM32F4DISC,所有我们使用该源文件编译出我们需要的STM32F4的固件文件。
8.输入指令:cp -r STM32F4DISC STM32F407VET6
目的:复制该源文件并重新命名为:STM32F407VET6
9.输出指令: cd ..
cd ..
cd ..
目的:cd ..指令是返回到上一级目录,目的是要返回至micropython目录下 (注意cd后面有一个空格)
10.输入指令:cd mpy-cross
make
目的:先编译一下MicroPython cross-compiler (micropython交叉编译器)
11.输入指令:cd ..
git init
git submodule update --init
目的:返回到micropython目录下,获取submodule子模块并更新
12.cd ports/stm32/make BOARD=STM32F407VET6
目的:进入stm32目录下进行编译操作,生成固件文件DFU或HEX或ELF......,BOARD=STM32F407VET6是用于指定到要编译的开发板(就是读取里面的源文件)
等待编译完成:编译成功会在stm32目录下生成一个build-STM32F407VET6文件夹,找到firmware.dfu或firmware.hex...固件文件拷贝到windows桌面。
13.去ST官方网站下载DfuSe工具:https://www.stmicroelectronics.com.cn/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-stm32080.html
14.开发板硬件设置boot0:1,boot1:0,使用USB连接电脑,打开DfuSe软件,连接上时会在DFU Devices下面会显示,有显示就是连接上了,然后点击右下角的Choose选择固件文件,然后点击Upgrade烧录,等待显示烧录成功。
github上stm32f407vet6升级版源码:https://github.com/mcauser/MCUDEV_DEVEBOX_F407VET6
posted on 2019-09-18 20:05 iBoundary 阅读(7684) 评论(3) 编辑 收藏 举报