在线课堂:https://www.100ask.net/index(课程观看)
论  坛:http://bbs.100ask.net/(学术答疑)
开 发 板:https://100ask.taobao.com/ (淘宝)
     https://weidongshan.tmall.com/(天猫)
交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)
交流群二:QQ群:536785813(单片机-嵌入式)
公 众 号:百问科技


版本 日期 作者 说明
V1 2020 韦东山 技术文档

7.1 100ASK_STM32MP157 启动开关

7.1.1 全功能版

板子上的红色拨码开关用来设置启动方式,支持这四种方式:EMMC 启动、SD 卡启动、USB 烧写以及 M4(debug)模式。

板子背后画有一个表格,表示这四种方式如何设置。表格中 BOOT0 对应开关 1,BOOT1 对应开关 2,BOOT2对应开关 3,如下:

这四种启动方式的设置示意图如下:


刚出厂的板子在 EMMC 上烧写了系统,你可以设置为 EMMC 启动方式。

其中的 USB 启动模式主要用来烧写系统。

7.2 在 Windows 使用 STM32CubeProgrammer 烧写工具

ST 公司给 stm32mp157 系列开发板提供了烧写工具:STM32CubeProgrammer。它的使用界面如下所示:

详细参考页面:http://wiki.100ask.org/STM32CubeProgrammer

7.2.1 安装烧写工具

在 100ASK_IMX6ULL 的配套资料中,有文件:“01_Tools (工具)/ST/ en.stm32cubeprog.zip”,把它解压后可得如下目录:

解压后会发现此烧写工具支持三种系统运行环境,这里我们默认使用 windows 版本,其它版本暂不做讲解。

解压后双击执行 SetupSTM32CubeProgrammer-2.1.0.exe 可执行程序,首次安装如果没有安装 java 运行环境会有如图 7.2.1.1 的提示信息,需要安装 jdk8 来运行此烧写工具。

  1. 下载网盘中板子配套资料下 “01_Tools (工具)”目录下的 01_Tools.zip,并解压。由于某些软件压缩包会导致网盘链接经常失效,所以我们对其进行加密压缩,使用解压缩工具右键解压到当前文件夹,会提示输入密码,如图 7.2.1.2 所示,此时输入密码 100ask.org 点击确定开始解压缩,解压缩完成后可以看到如图 7.2.1.3 所示 jdk_8.0.1310.11_64.exe 这个安装包,双击安装。


2) 在图 7.2.1.4 所示弹出的 Java SE 安装界面点击 “下一步“,之后在图 7.2.1.5 所示界面继续点击”下一步“。

3) 继续参考下图 7.2.1.6 所示点击下一步(不建议修改安装目录),之后会如图 7.2.1.7 显示安装状态进度,等待进度条显示完成。

4) 安装完成后如图 7.2.1.8 所示,点击关闭即可(自此,java 运行环境已经安装完成)。

5) 接下来我们双击执行 SetupSTM32CubeProgrammer-2.1.0.exe 可执行程序,如图 7.2.1.9 所示在弹出的界面上点击 “Next”,之后在新的页面如图 7.2.1.10 继续点击“Next“。

6) 在如图 7.2.1.11 新弹出的页面选中”I accept the terms of this lincese agreement.”,继续点击”Next”,进入下个界面,如图 7.2.1.12,这里提示选择安装路径,保持默认即可,继续点击“Next
“。

7) 在图 7.2.1.13 新的窗口提示 这个目录将会被创建 ,点击”确定”即可,之后进入到安装软件选择界面,这里保持默认即可,点击”Next”。

8) 如图 7.2.1.15 所示显示烧写工具的安装进度,等待安装完成,安装完成后如图 7.2.1.16 所示。

9) 安装完成后提示是否创建开始菜单和桌面快捷方式以及此软件的使用者,这些参考图 7.2.1.17 所示,使用默认设置,继续点击”Next”,最后提示 STM32CubeProgrammer Installation done 表示安装完成,点击 “Done”,即可关闭安装界面,之后我们可以在桌面看到多出来一个 STM32CubeProgrammer的应用程序 。

7.2.2 连接 USB OTG 线

接线、设置 USB 启动的方式如下:
注意:USB 串口线可接可不接,接上只是为了观察烧写过程。

(1) 全功能版接线方式

7.2.3 安装 STM32MP157 的 USB 驱动程序

通过 USB 下载或是烧写程序时,需要把开发板的 OTG 口参考 7.2.2 链接 USB OTG 线章节用 USB 线连接到电脑,并设置为 USB 启动方式,然后启动电源,此时打开 wind10 设备管理器,在通用串行总线设备 会出来一个名为 “DFU in HS Mode @Device ID /0x500.@Revision ID /0x0000 ”设备,此时打开STM32CubeProgrammer 烧写工具,如图 7.2.3.2 所示红色箭头指示,先选择“USB1”再点击刷新按钮,会在Port 那里显示出来一个 USB1 的设备,这里就表示已经连接成功,可以进行下一步的烧写操作。

7.2.3.1 USB 驱动没有自动安装

通过 USB 下载或是烧写程序时,需要把开发板的 OTG 口用 USB 线连接到电脑。目前暂未遇到无法安装驱动的问题,如果您在烧写的时候没有设备,请联系百问网相关技术人员以请求支持。

7.2.4 烧写方法

STM32CubeProgrammer 烧写是根据后缀名为 tsv 的分区配置文件来匹配分区和文件。

我们可以根据自己的需求来更新自己所需的内容,分区配置信息文件内容简介如下图所示。参考示例来源 于 网盘中开发板配套资料02_Images\Yocto_Dunfell\flashlayout_100ask-image-qt\trusted FlashLayout_emmc_stm32mp157c-100ask-512d-v1-trusted-tfa.tsv 文件。


其中烧写状态标识区域支持如下图所示 5 中方式,用户可以根据自己的需要修改相应的烧写状态标识来选择更新/删除某些分区。

目前仅支持烧写二进制文件,也就是各类映像文件,它们会被原原本本地烧写到 EMMC 上。

配置文件详细的配置说明请参考页面:http://wiki.100ask.org/STM32CubeProgrammer_flashlayout

7.2.5 更新 Emmc 整个系统

7.2.5.1 连接设备

首先我们打开安装好的烧写工具 STM32CubeProgrammer ,设置开发板启动方式为 USB 下载模式启动,连接好 usb otg 下载线,开启电源,操作方式参考下图。

切换到烧写工具 STM32CubeProgrammer 软件界面,首先点击刷新按钮来查找 usb 下载设备,如果查找到 Port 哪里将会显示出一个 USB1 的设备,点击右上角的 Connect 按钮来连接此设备。

连接成功后如下图红框所示,其中右上角会提 Connected 以及右下角会有连接设备的详细信息。

7.2.5.2 更新 yocto 系统

连接成功后我们点击 Open file 按钮来打开需要烧写的系统的配置文件,操作步骤如下图所示:

其中 Emmc 所需的系统烧写配置文件在资料光盘 02_Images\Yocto_Dunfell\flashlayout_100askimage-qt\trusted 目录下,如下图所示。

加载完成烧写所需系统配置文件后,会进入如下图所示界面,此时需要我们选择一下烧写所需的二进制文件所在路径,点击 “Browse”按钮来选择,系统镜像二进制文件在资料光盘 02_Images\Yocto_Dunfell目录下,选择成功后点击“Download”按钮开始更新系统。


7.2.5.3 更新 buildroot 系统(默认)
连接成功后我们点击 Open file 按钮来打开需要烧写的系统的配置文件,操作步骤如下图所示:

其中 Emmc 所需的系统烧写配置文件在资料光盘 02_Images\Buildroot_2020\ Flashlayout 目录下,如
下图所示。


加载完成烧写所需系统配置文件后,会进入如下图所示界面,此时需要我们选择一下烧写所需的二进制文件所在路径,点击 “Browse”按钮来选择,系统镜像二进制文件在资料光盘 02_Images\Buildroot_2020目录下,选择成功后点击“Download”按钮开始更新系统。

7.2.5.4 烧写进度显示

此时可以观察到烧写工具 STM32CubeProgrammer 下面有烧写状态日志输出,以及最下面的烧写进度进度条的显示,同时打开串口也可以看到 uboot 下的烧写信息打印。

由于根文件系统比较大,所以烧写较慢,大概需要 6-10 分钟,等待软件提示烧写成功,如下图所示。

烧写成功后我们先关闭电源开关,然后设置启动方式为 Emmc 启动,打开电源开关即可启动烧写好的emmc 系统。

7.3 单独更新部分系统

注意:此教程只支持更新与板子配套的 QtGUI 版本相应镜像/分区文件,其它版本暂不支持。有些时候并不需要更新整个系统,一般只需要更新某个分区或者某个文件就可以,需要先将编译好的二进制文件拷贝到资料光盘”02_Images\Flashlayout 文件夹内,之后根据自己的需要进行更新相应分区。

7.3.1 单独更新 tfa 方法

下面介绍如何使用烧写工具 STM32CubeProgrammer 来单独更新 tfa 镜像。

7.3.1.1 更新 yocto tfa

  1. 先将第六章 6.4 编译 Tfa 编译好的 Tfa 文件拷贝到资料光盘“02_Images\Flashlayout” 目录下,可以通过 Filezilla 传输。

  2. 开发板断电,连接好 usb otg 接口至电脑 usb 接口,设置启动方式为 usb 启动模式,然后上电。

  3. 电脑端使用 STM32CubeProgrammer 烧写工具打开 YoctoQt_Emmc_TfaBootloader.tsv 配置文件,选择 Binaries path 为资料光盘 02_Images\Flashlayout 路径,请留意如下红框所标提示是否一致,软件是否和 usb 下载模式已经连接成功。

7.3.1.2 更新 buildroot tfa

  1. 先 将 第 六 章 6.4 编 译 Tfa 编 译 好 的 Tfa 文 件 拷 贝 到 资 料 光 盘“02_Images\Buildroot_2020\Flashlayout” 目录下,使用可以通过 Filezilla 传输。
  2. 开发板断电,连接好 usb otg 接口至电脑 usb 接口,设置启动方式为 usb 启动模式,然后上电。
  3. 电脑端使用 STM32CubeProgrammer 烧写工具打开 YoctoQt_Emmc_TfaBootloader.tsv 配置文件,选择 Binaries path 为资料光盘 02_Images\Flashlayout 路径,请留意如下红框所标提示是否一致,软件是否和 usb 下载模式已经连接成功。

7.3.1.3 更新成功提示

开发板和软件提示连接成功以后,点击 Download 按钮,开始下载,下载成功后有如下提示,关闭电源,移除 usb otg 线,设置启动方式为 emmc 启动,打开电源即可看到更新。

7.3.2 单独更新 Trust uboot 方法

下面介绍如何使用烧写工具 STM32CubeProgrammer 来单独更新 Trust uboot 镜像。

7.3.2.1 更新 yocto 系统 Trust uboot

  1. 先 将 第 六 章 6.5 编 译 u-boot 镜 像 将 编 译 好 的 u-boot.stm32 文 件 拷 贝 到 资 料 光 盘“02_Images\Flashlayout” 目录下,可以通过 Filezilla 传输。
  2. 开发板断电,连接好 usb otg 接口至电脑 usb 接口,设置启动方式为 usb 启动模式,然后上电。
  3. 电脑端使用 STM32CubeProgrammer 烧写工具打开 YoctoQt_Emmc_TrustUbootBootloader.tsv 配置文件,选择 Binaries path 为资料光盘 02_Images\Flashlayout 路径,请留意如下红框所标提示是否一致,软件是否和 usb 下载模式已经连接成功。

    开发板和软件提示连接成功以后,点击 Download 按钮,开始下载,下载成功后有如下提示,关闭电源,移除 usb otg 线,设置启动方式为 emmc 启动,打开电源即可看到更新。

7.3.2.2 更新 yocto 系统 Trust uboot

  1. 先 将 第 六 章 6.5 编 译 u-boot 镜 像 将 编 译 好 的 u-boot.stm32 文 件 拷 贝 到 资 料 光 盘“02_Images\Flashlayout” 目录下,可以通过 Filezilla 传输。
  2. 开发板断电,连接好 usb otg 接口至电脑 usb 接口,设置启动方式为 usb 启动模式,然后上电。
  3. 电脑端使用 STM32CubeProgrammer 烧写工具打开 Buildroot_Emmc_TrustUbootBootloader.tsv配置文件,选择 Binaries path 为资料光盘 02_Images\Flashlayout 路径,请留意如下红框所标提示是否一致,软件是否和 usb 下载模式已经连接成功。


开发板和软件提示连接成功以后,点击 Download 按钮,开始下载,下载成功后有如下提示,关闭电源,移除 usb otg 线,设置启动方式为 emmc 启动,打开电源即可看到更新。

7.3.3 单独更新 rootfs 方法

下面介绍如何使用烧写工具 STM32CubeProgrammer 来单独更新 buildroot 编译生成的 rootfs.ext4 文件系统分区。

  1. 先将第六章 6.4 编译 Tfa 编译好的 Tfa 文件拷贝到资料光盘“02_Images\Flashlayout” 目录下,可以通过 Filezilla 传输。
  2. 开发板断电,连接好 usb otg 接口至电脑 usb 接口,设置启动方式为 usb 启动模式,然后上电。
  3. 电脑端使用 STM32CubeProgrammer 烧写工具打开 Buildroot_Emmc_Rootfs.tsv 配置文件,选择Binaries path 为资料光盘 02_Images\Flashlayout 路径,请留意如下红框所标提示是否一致,软件是否和 usb 下载模式已经连接成功。

    开发板和软件提示连接成功以后,点击 Download 按钮,开始下载,下载成功后有如下提示,关闭电源,移除 usb otg 线,设置启动方式为 emmc 启动,打开电源即可看到更新。

7.4 使用 win32diskimage 通过读卡器烧写 SD/TF 卡

每次烧写 SD 卡都需要先格式化:新卡、曾经烧写过的卡都需要先格式化,否则 Windows 无法识别出盘符导致 win32diskimage 无法烧写。

7.4.1 格式化 sd 卡

首先把 SD 卡通过读卡器接到电脑上。
然后打开 Windows 自带的磁盘管理工具,如下图所示:

接着在磁盘管理工具中找到 SD 卡,如果它没有分区,或者那些分区没有分配得到盘符(因为分区不是FAT 或 NTFS 格式),就需要重新格式化。

7.4.1.1 第 1 次使用的空白 SD 卡

有些 SD 卡出厂时就已经格式化了,如果能在文件浏览器中看到它的盘符,或是在磁盘工具中看到盘符(如下图所示),则无需再次格式化。

如果没有盘符,按照下一小节“曾经烧录过 SD 卡”来处理。

7.4.1.2 曾经烧录过的 SD 卡

可以看到类似如下图所示的 SD 卡分区情况:

接着删除第 1 个主分区,重新建立、格式化分区,如下图所示:

成功之后,可以看到 Windows 为该分区分配了盘符:

最后就可以看下一小节,使用 win32diskimager 来烧写 SD 卡了。

7.4.2 烧写 sd 卡系统镜像

安装映象烧写工具 win32diskimager 后,插卡到电脑上,直接烧写即可。

  1. 安装软件
    在 “ 网 盘 配 套 资 料 \01_Tools ( 工 具 )\01_Tools.zip” 中 解 压 得 到 win32diskimager-1.0.0-install.exe 软件,以后运行它时要“以管理员身份运行”。

  2. 把 SD/TF 卡接入读卡器,读卡器插到电脑上

  3. 烧写映像文件
    “以管理员身份运行”win32diskimager,如下图选择 SD 卡、选择资料光盘 02_Images\Yocto_Dunfell映像文件 FlashLayout_sdcard_stm32mp157c-100ask-512d-v1-trusted.raw,然后点击“写入”,操作步骤如下图所示:

    上图中各序号含义为:

  1. 选择 SD 卡
  2. 选择映象文件,比如 FlashLayout_sdcard_stm32mp157c-100ask-512d-v1-trusted.raw
  3. 点击“写入”
  4. 确定要写入。

烧写成功后,弹出对话框“写入成功”,如下图:

此时点击 OK,拔下 SD 卡,将启动开关拨到 SD 卡处,上电启动开发板。

-end-

烧写整个系统或更新部分系统到STM32MP157开发板相关推荐

  1. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发流程(六)烧写整个系统或更新部分系统

    文章目录 1.烧写整个系统或更新部分系统 1.1 100ASK_IMX6ULL启动开关 1.2 在Windows使用USB烧写工具 1.2.1 烧写工具目录详解 1.2.2 连接USB OTG线 1. ...

  2. 嵌入式Linux之旅——环境搭建篇之烧写整个系统

    上一小结我们已经烧写完u-boot,我烧写的u-boot是板子厂家定制的,本小节将利用这个u-boot烧写整个系统.当然,在系统移植篇的时候也会涉及到如何定制一个u-boot. 烧写整个系统我们一个叫 ...

  3. 迅为IMX6开发板Mfgtools工具单独烧写镜像-设备树Qt系统

    烧写设备树版本 Qt 系统要使用 iMX6Q 设备树光盘里的烧写工具,将文件夹下的 cfg.ini 修改成如下图所示: 打开"android_m6.0.1_2.0.0_ga_tool_201 ...

  4. 笔记本自动更新win11系统过后触控板不能使用了

    你们是否遇到笔记本电脑触控板失灵的情况? 笔记本自动更新win11系统过后触控板不能使用了 在我有事出去的时候笔记本自动更新了win11系统,然鹅一些功能突然不能使用了,当我滑动触控板的时候竟然纹丝不 ...

  5. Android11系统丨RK3568开发板运行第一个Android程序

    基于迅为RK3568开发板 1.在模拟器上运行 (1)打开上次创建的 MyApplication 工程,点击 file->project structure ,如图所示,选中默认的 NDK, 然 ...

  6. Ubuntu10.04系统调试TQ2440开发板之一《Ubuntu下搭建TQ2440的程序下载环境》

    环境搭建主要是装两个工具:串口工具和下载软件(在这里所有指令都是在Ubuntu系统终端Root权限下运行) 1)安装串口工具minicom. 先下载minicom: 运行指令 sudo apt-get ...

  7. 玩转开发板--Linux系统移植至开发板fl2440实践过程

    一.开发板介绍     CPU:S3C2440(SAMSUNG).ARM920T.400MHz     Pone/mic:耳机和话筒 JTAG:可以通过外部插入直接控制CPU,因此在初始化内存时,起到 ...

  8. dm365双系统linux,DM365开发板上uboot操作实践

    uboot主要命令: nand命令集    nand flash设备的操作命令集合 nand info    显示flash设备信息. nand device [num] 显示具体flash设备的信息 ...

  9. 基于rt-thread系统的探索者开发板综合测试实验(一)

    前言 本人正在学习rt-thread操作系统,rt-thread系统是一款非常优秀的国产的嵌入式实时操作系统,并且是完全开源和免费的,可以直接应用于商业产品开发.手里只有一款正点原子的STM32F4探 ...

最新文章

  1. python第三方库下载-python 第三方库下载
  2. 工业大数据的真正意义和价值
  3. android onclick事件和ontouch事件发生先后顺序和关联
  4. 【多图】近距离接触甲骨文总裁马克赫德,Oracle在上海香格里拉酒店数据中心优化专题研讨会...
  5. java----IO和NIO的区别
  6. Android模拟器启动3个g,android,模拟器_android 模拟器用3.18的内核无法启动,一直黑屏。,android,模拟器,内核 - phpStudy...
  7. Windows函数错误处理
  8. [Vue.js]实战 -- 电商项目(七)
  9. Java学科课程大纲
  10. SQL67 牛客每个人最近的登录日期(二)
  11. 《Windows 8 权威指南》——2.10 几招解决Windows 8 Metro应用打不开的问题
  12. 2020年亚太杯数学建模竞赛赛题
  13. 上海智能交通建设现状与未来发展要点
  14. 基于半车悬架的轴距预瞄与轴间预瞄仿真对比
  15. excel表格 筛选 通过mysql语句
  16. 分享一些app的测试点
  17. Trinity的介绍与下载
  18. 2021-09-29 每天几个LCEDA小知识——如何修改元器件封装
  19. 【Java】String字符串的最大长度是多少?
  20. 鸢尾花(iris)数据集保存到本地以及sklearn其他数据集下载保存

热门文章

  1. 2020在线教育重现资本盛宴
  2. 颓废是件最可耻的事情!
  3. Python爬虫:bs4解析
  4. 红帽6 RHCERHCS认证培训笔记(1)
  5. C语言sizeof求结构体的大小
  6. 直接上干货!5年经验Android程序员面试27天,大厂直通车!
  7. 服务器微信了早上好,微信问候语大全 早上好
  8. Postgre时间戳与日期格式转换
  9. WebSocket前后端交互
  10. idea 如何快速、简洁、高效的配置注释模板(详细)