zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    python 进程通信,共享变量
    使用 curl 和 xargs 命令批量删除 ES索引,并将一些不想删除的索引过滤出来
    Spark Over Yarn 发现输出到kafka报错: topic not present on metadata after x
    ES 同台机器多实例报 master not discovered or elected yet
    ES数据写入时间格式问题
    Kibana 发现数据时间不对
    python包部署到服务器上报 cannot find module error
    好久没写博客了,。。。。。
    linux 修改 elf 文件的dynamic linker 和 rpath
    linux 进程 进程组 作业 会话 控制终端
  • 原文地址:https://www.cnblogs.com/iBoundary/p/11544619.html
Copyright © 2011-2022 走看看