搜索
bottom↓
回复: 0

《STM32MP157快速体验》第二章ATK-STM32MP157烧写系统

[复制链接]

出0入234汤圆

发表于 2021-6-1 11:01:30 | 显示全部楼层 |阅读模式
本帖最后由 正点原子 于 2021-6-1 11:01 编辑

1)实验平台:正点原子STM32MP157开发板
2)  章节摘自【正点原子】《STM32MP157快速体验》
3)购买链接:https://item.taobao.com/item.htm?&id=629270721801
4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/arm-linux/zdyzmp157.html
5)正点原子官方B站:https://space.bilibili.com/394620890
6)正点原子STM32MP157技术交流群:691905614
O1CN01abYcZO23XsL4ETed4_!!230947266.png

原子哥在线教育平台.jpg

152443zfu1nrzhhhh6wuc8.png


第二章ATK-STM32MP157烧写系统



用户收到ATK-STM32MP157开发板后,出厂时已经固化好系统到核心板上eMMC储存上了。所以可以无需再烧写(固件)系统到开发板,直接上机测试或者使用。
但是由于以下原因用户可能需要更新出厂系统
(1)由于资料出厂固件更新,可能优化或者更新了系统。
(2)由于出厂系统被损坏,被修改或者删除了里面的文件,启动不起来,想恢复到出厂系统。
(3)由于在学习过程中,根据驱动指南烧写了自己的内核、Uboot及系统,但是无法验证硬件功能,需要烧写回出厂系统,先验证硬件是否正常工作,再修改软件。
这里我们提供三种方法固化Linux系统到开发板,如下:
(1)Windows使用STM32CubeProgrammer固化Linux系统(需要安装Java环境,安装比较麻烦,用户要有足够的耐心去安装!如果不想在Windows下使用STM32CubeProgrammer,可直接到2.3小节使用Linux烧写固件),相当于线刷,需要使用USB3.0接口,烧写1G文件系统整体耗时约6分钟。
(2)Linux使用STM32CubeProgrammer固化Linux系统(需要安装Java环境),相当于线刷,需要使用USB3.0接口,烧写1G文件系统整体耗时约6分钟。
(3)TF(SD)卡固化Linux系统烧,写1G文件系统,只需要2-3分钟。
2.1  STM32CubeProgrammer简介
STM32CubeProgrammer 简称 STM32CubeProg,是一个适用于 STM32 系列产品的跨平台、多合一的程序烧写工具。
有如下特点:
(1)“跨平台” 体现在支持 Windows、macOS 和 Linux 操作系统,软件运行时需要 Java 环境。
(2)“多合一” 体现在支持通过 USB、ST-LINK、UART、OTA 多种方式来烧写固件。
2.2 下载STM32CubeProgrammer
我们需要在Windows或者Linux下使用上位机通过USB Type-C连接线连接到ATK-STM32MP157开发板,然后进行烧写固件操作,所以我们就需要这样的上位机软件,它叫STM32CubeProgrammer,是由ST官方提供的,适用于烧写ST各种平台,现在我们只讲用USB Type-C连接方法烧写烧写固件到ATK-STM32MP157开发板的方法。
下载最新STM32CubeProgrammer,可以从ST官网https://www.st.com/下载。我们直接在浏览器打开官方网站,通过以下几步即可下载。
在如下位置输入STM32CubeProgrammer,然后点击搜索。(备注:我们需要在ST官方下载东西,需要注册ST帐号,请点击右上角登录或者注册进入注册。请自行注册,如果觉得麻烦,请直接使用我们此小节下载好的文档和软件,网盘路径为开发板光盘A-基础资料->5、开发工具->2、ST官方开发工具。)

第二章1258.png


图2.2 1在ST官网搜索STM32CubeProgrammer


等待搜索出结果,然后按下图位置点击

第二章1334.png

图2.2 2 选中STM32CubeProg


然后我们在下图页面选择最新版本下载

第二章1400.png

图2.2 3 点击Get Software(获取软件)


此时弹出一个条款,我们直接点击接受。

第二章1472.png

图2.2 4 接受条款


此时浏览器弹出下载对话框,我们也贴出en.stm32cubeprog_v2-5-0版本的下载链接,点击这里,或者复制这个链接到迅雷下载。用迅雷下载更快,如果没有迅雷就直接点击下载吧(速度因个人网络而不同)。

第二章1831.png

图2.2 5 下载en.stm32cubeprog_v2-5-0


下载好了的安装包en.stm32cubeprog_v2-5-0.zip或者在网盘路径开发板光盘A-基础资料->5、开发工具->2、ST官方开发工具下找到en.stm32cubeprog_v2-5-0.zip。
然后我们进行解压,得到以下文件,第一个是MacOs系统下安装的文件,第二个是Windows下安装的exe文件,第三个是Linux下的执行安装程序。由于我们条件有限,只讲Windows和Linux下的STM32CubeProgrammer安装及使用。

第二章2119.png

图2.2 6 解压后的文件


2.3 Windows下烧写固件到开发板
2.3.1 Windows安装STM32CubeProgrammer
小提示:Windows安装STM32CubeProgrammer比较麻烦,需要安装Java环境。用户需要有足够的耐心按操作进行安装!如果不想在Winodws下使用STM32CubeProgrammer,可以直接到2.4小节在Ubuntu上安装STM32CubeProgrammer,在Ubuntu使用STM32CubeProgrammer进行烧写固件。
在2.1小节获取STM32CubeProgrammer后,我们直接双击SetupSTM32CubeProgrammer-2.5.0.exe安装文件进行安装。如下图,提示需要安装1.8.0_66 - 10.99.99的Java运行环境。

第二章2511.png

图2.3.1 1提示需要安装Java


点击确定后,我们就会进入https://java.com/zh-CN/download/ Java官网下载,可以在网盘路径为开发板光盘A-基础资料->3、软件->Java 安装包下找到jre-8u261-windows-x64.exe(64位Java安装包)进行安装。

如下图我们进入到Java官网下载页面,按如图红色框框所选点击查看Java所有下载。不要点击图中的同意并免费下载!切记!

第二章2802.png

图2.3.1 2 点击查看所有Java下载



跳转到如下页面,请根据个人Winodws操作系统位数,下载对应版本的Java。作者使用的操作系统是64位的,所以选择64位的Java Windows脱机包下载。

第二章2933.png

图2.3.1 3请选择对应位数的Java下载


下载得到的文件,双击进行安装。

第二章2999.png

图2.3.1 4下载完成的64位Java安装包


Java安装界面,我们直接点击安装即可,默认安装路径即可,安装Java一般是不建议修改安装路径的,很多软件依赖Java就会到C盘找Java的路径!

第二章3124.png

图2.3.1 5 Java欢迎安装界面


正在安装如下图

第二章3179.png

图2.3.1 6正在安装


安装完成后,直接点击关闭

第二章3232.png

图2.3.1 7已经完成安装


安装完成后Java后,我们就可以直接安装STM32CubeProgrammer。双击安装SetupSTM32CubeProgrammer-2.5.0.exe进行安装。

安装弹出的欢迎安装界面,直接点击下一步。(此后的操作基本都是点击下一步即可)

第二章3398.png

图2.3.1 8 STM32CubeProgrammer欢迎安装界面


阅读STM32CubeProgrammer的信息,直接点下一步。

第二章3493.png

图2.3.1 9阅读相关信息


勾选同意license,点击下一步。

第二章3554.png

图2.3.1 10 同意条款,点下一步


请选择要安装的路径,个人可修改安装目录进行安装,再点击下一步。

第二章3633.png

图2.3.1 11 选择安装目录,点击下一步


勾选需要安装选项,我们直接默认即可,点击下一步。

第二章3708.png

图2.3.1 12 默认安装选项,点击下一步


正在安装

第二章3763.png

图2.3.1 13 正在安装


安装期间会弹出是否要安装一些驱动,我们选择始终安装此驱动程序软件。

第二章3839.png

图2.3.1 14 安装时会询问是否信任此驱动


弹出驱动安装界面,点击下一步。

第二章3906.png

图2.3.1 15 点击下一步,安装此驱动


设备驱动安装完成,点击完成。


第二章3971.png

图2.3.1 16 驱动安装完成


安装完成后,直接点击下一步。

第二章4030.png

图2.3.1 17  STM32CubeProgrammer安装完成状态


默认会生成桌面快捷方式,我们点击下一步。

第二章4115.png

图2.3.1 18 点击下一步,生成STM32CubeProgrammer快捷方式


点击Done,完成安装。

第二章4197.png

图2.3.1 19 到此安装完成


桌面生成快捷方式如下。

第二章4254.png

图2.3.1 20 生成的桌面快捷方式


双击STM32CubeProgrammer快捷方式打开出现下面的界面,安装完成,工具软件正常运行。

第二章4351.png

图2.3.1 21 STM32CubeProgrammer启动后的界面


2.3.1.1 安装DFU驱动程序
ATK-STM32MP157开发板底板拨码为000即USB模式,(1为on,0为off,即拨码往上拨为1,拨码往下拨为0)。用USB Type-C连接开发板底板的USB_OTG接口再连接电脑的USB接口(接USB 3.0,接USB2.0烧写很慢!),然后插上电源上电。上电过后会自动安装DFUSE驱动。
由于我们需要使用USB DFU模式,我们在安装STM32CubeProgrammer时Winodws 7默认会把DFUSE的驱动程序安装上去了。所以我们要在设备管理器里,找到通用串行总线控制器,找到STM Device in DFU Mode,下图为具有DfuSe 驱动程序的STM32 DFU器件。
经过实测,Windows 7会识别成如下,需要按下面的操作先卸载驱动。Windows10不用卸载驱动。

第二章4787.png

图2.3.1.1 1 Window 7需要卸载驱动 DfuSe驱动


然后我们找到STM32CubeProgrammer的安装路径,找到DFU_Driver文件夹,比如作者的是安装是E:\STM32CubeProgrammer\Drivers\DFU_Driver,如下,双击STM32Bootloader.bat进行安装具有STM32_Programmer 驱动程序的STM32 DFU。

第二章5011.png

图2.3.1.1 2 双击脚本进行安装驱动


再在设备管理器,点击操作->点击扫描检测硬件改动。驱动程序会自动安装上去了。

第二章5101.png

图2.3.1.1 3 扫描硬件改动,自动安装驱动


开发板使用USB模式最后被Windows 7识别为如下,具有STM32_Programmer 驱动程序的STM32 DFU 器件。

第二章5221.png

图2.3.1.1 4 Window 7识别驱动的名字


开发板使用USB模式最后被Windows 10识别为如下,具有STM32_Programmer 驱动程序的STM32 DFU 器件。

第二章5344.png

图2.3.1.1 5 Windows 10识别驱动的名字


出现如上,表明驱动安装正常。
2.3.2 Windows使用STM32CubePro烧写固件到eMMC
ATK-STM32MP157开发板插上电源,拨码开关选择为000(USB模式),将一根USB Type-C数据线连接到底板USB_OTG,再连接到PC(电脑)的USB 3.0接口(一般是内部是蓝色的就是USB 3.0接口,不要连接到USB 2.0接口,否则烧写很慢!经过实测,如果烧写时间很长,说明您的USB 3.0接口可能不是真正的USB 3.0接口,实质是USB 2.0)。另一根USB Type-C数据线连接到底板USB_TTL(串口非必需连接,目的是观察一些打印信息)。然后开发板上电。

双击STM32CubeProgrammer桌面图标打开STM32CubeProgrammer界面。按如下步骤,选择设备类型为USB,点击刷新设备,刷新不出来可以按开发板上的RESET按钮(注意不要将此USB设备连接到Ubuntu虚拟机上去了)。如下图,出现USB1表明成功!

第二章5841.png

图2.3.2 1 识别出的USB1


按下图的步骤,打开烧录到eMMC的tsv配置文件,网盘路径为STM32MP157开发板->开发板光盘A-基础资料->8、系统镜像->2、出厂系统镜像->1、STM32CubeProg烧录固件包->flashlayout,STM32CubeProgrammer会读取此配置文件进行烧录固件到eMMC。


第二章6037.png

图2.3.2 2 选择eMMC烧写的配置文件


浏览固件所在目录,在网盘路径为STM32MP157开发板->开发板光盘A-基础资料->8、系统镜像->2、出厂系统镜像->1、STM32CubeProg烧录固件包。

第二章6170.png

图2.3.2 3 浏览烧写文件的所在目录



确认连接信息,直接点击Download(下载)。
第二章6244.png


图2.3.2 4 点击下载,开始烧写


正在烧写中,烧写过程中会重连接开发板,注意,如果您正在使用Ubuntu虚拟机,不要让开发板连接到Ubuntu虚拟机上去了。

第二章6352.png

图2.3.2 5 正在烧写


烧写的过程使用PC(电脑)USB3.0接口,烧写速度较快,约5~6分钟就可以烧写好整个系统。如果用户电脑没有USB 3.0接口,使用USB 2.0会相当慢(约40 ~60分钟)。我们平时在学习的过程中可以用来烧写tf-a、uboot和uImage是比较方便的。
如果不想更新文件系统就不烧写,我们可以编辑atk_emmc-stm32mp157d-atk-qt.tsv,将烧写文件系统的配置信息即最后一行,将“p”修改为“PE”,我们在ATK-STM32MP157的Linux驱动开发指南上有详细的解释。修改为“PE”即代表跳过,不烧写,如下。

第二章6665.png

图2.3.2 6 可跳过文件系统烧写


烧写完成如下图,拨码到010,eMMC启动即可。

第二章6736.png

图2.3.2 7 烧写完成



2.3.3 Windows使用STM32CubePro烧写固件到SD(TF)卡
请参考上面2.3.2小节烧写到eMMC的方法,选择atk_sdcard-stm32mp157d-atk-qt.tsv配置文件即可,记住烧写到TF卡,应要在底板上插上需要烧写的TF卡啊!
烧写完成后,拨码到101,SD卡(TF卡)启动即可。
2.4 Linux下烧写固件到开发板
2.4.1 linux下安装STM32CubeProgrammer
拷贝2.2小节末尾内容所说的SetupSTM32CubeProgrammer-2.5.0.linux文件与SetupSTM32CubeProgrammer-2.5.0.exe这两个文件到Ubuntu上,本次使用的Ubuntu是18.04。使用其它版本与作者的安装环境不一样,如导致安装出错,请自行解决。
作者使用的是WinSCP拷贝到“家”目录下,如下

第二章7168.png

图2.4.1 1 拷贝文件到Ubuntu虚拟机


赋予SetupSTM32CubeProgrammer-2.5.0.linux可执行权限,执行下面的指令。
chmod +x SetupSTM32CubeProgrammer-2.5.0.linux

第二章7318.png

图2.4.1 2 赋予可执行权限


在介绍STM32CubeProgrammer时已经说过,在Linux下安装STM32CubeProgrammer也是需要安装Java的。执行下面的指令安装Java,我们直接安装openjdk-8-jre就可以了,不用安装openjdk-8-jdk。JDK包括JRE的,JRE是Java Runtime Environment的缩写,也就是Java运行的环境,我们只需要使用Java而不是开发Java,所以只安装openjdk-8-jre。
sudo apt-get install openjdk-8-jre
直接运行SetupSTM32CubeProgrammer-2.5.0.linux安装即可。
sudo ./SetupSTM32CubeProgrammer-2.5.0.linux  // 用户最好加sudo,和作者的环境一样,加sudo默认是安装到/usr/local/下。
安装步骤与2.3.1小节Windows的基本一样,请参考2.3.1小节,基本都是按下一步即可,安装的位置按软件的默认安装位置即可,不再重复安装步骤。
方法一:图标打开STM32CubeProgrammer
安装完成后会在桌面生成图标,如下图,这个图标我们双击它,(Ubuntu18.04环境)会弹窗提示,我们选择Trust & Launch(信任并启动)。

第二章7935.png

图2.4.1 3 未变化的桌面图标


图标就会变成如下,这时还不能直接双击打开,继续往下看。

第二章8008.png

图2.4.1 4 改变的桌面图标


方法二:命令行打开STM32CubeProgrammer
配置STM32CubeProgrammer的环境变量,这样我们就可以在命令行下使用指令打开这STM32CubeProgrammer。
编辑/etc/profile文件
sudo vi /etc/profile
在/etc/profile末尾添加以下内容,输入完成后按Esc,再按:wq保存退出。
export PATH=$PATH:/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/

第二章8312.png

图2.4.1 5 在末行写入环境变量


配置完成后,使能环境变量(每次启动前都需要source /etc/profile)
source /etc/profile

第二章8420.png

图2.4.1 6 使能环境变量


我们就可以在终端里使用指令打开
STM32CubeProgrammer
但是我们发现并不能开STM32CubeProgrammer的图形界面,原因是 ST 的 工具是运行在 Oracle 的 JRE上的,并不是运行在Open-JRE上,(网上说ST基于是JDK开发,这里作者只写运行环境)。所以我们还需要在Java官网上下载JRE。

在浏览器输入https://java.com/zh-CN/download/manual.jsp进入到Java的下载页面,根据个人的操作系统位数下载对应的Java。或者可直接在我们网盘路径STM32MP157开发板->开发板光盘A-基础资料->3、软件->Java 安装包下找到jre-8u261-linux-x64.tar.gz (64位Java安装包)。

第二章8870.png

图2.4.1 7 下载相应位数的Linux Java


作者是64位Ubuntu,所以下载的是jre-8u261-linux-x64.tar.gz。拷贝jre-8u261-linux-x64.tar.gz到Ubuntu进入安装。
我们直接解压安装,输入如下指令,将它解压到我们Open-JRE的安装目录下。
sudo tar xf jre-8u261-linux-x64.tar.gz -C /usr/lib/jvm/
我们需要将这个JRE注册到系统里,指令最后的参数“1000”指的是优先级,可以随意设置。
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.8.0_261/bin/java 1000

第二章9245.png

图2.4.1 8 将jRE注册到系统里


因为前面我们使用指令安装了Open-JRE,使用了Open-JRE,我们需要使用Oracle的JRE,我们需要切换使用的Java JRE。
输入下面的指令配置使用的Java JRE
sudo update-alternatives --config java
如下图,请确认手动安装的JRE是第几个,如下图,作者手动安装的JRE的编号为4,然后输入相应的数字按Enter键即可。

第二章9482.png

图2.4.1 9 选择系统要使用的Java


使用USB端口连接STM32器件,还需要在终端中输入以下命令来安装libusb1.0软件包。
sudo apt-get install libusb-1.0.0-dev
要使用ST-LINK工具或USB DFU连接到目标,您需要将位于STM32CubeProgrammer的安装目录下的Drivers/rules文件夹下的规则文件复制在Ubuntu上的/etc/udev/rules.d/文件夹中。
如果用户安装STM32CubeProgrammer时是使用默认安装目录则与作者的一样,直接使用下面的指令拷贝规则文件到Ubuntu上的/etc/udev/rules.d文件下。
sudo cp /usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Drivers/rules/*.* /etc/udev/rules.d/

第二章9925.png

图2.4.1 10 拷贝相关驱动规则到相应目录


至此安装STM32CubeProgrammer完成,及安装驱动完成。
ATK-STM32MP157开发板插上电源,拨码开关选择为000(USB模式),将一根USB Type-C数据线连接到底板USB_OTG,再连接到PC(电脑)的USB 3.0接口(一般是内部是蓝色的就是USB 3.0接口,不要连接到USB 2.0接口,否则烧写很慢!经过实测,如果烧写时间很长,说明您的USB 3.0接口可能不是真正的USB 3.0接口,实质是USB 2.0)。另一根USB Type-C数据线连接到底板USB_TTL(串口非必需连接,目的是观察一些打印信息)。然后开发板上电。
注意:Ubuntu虚拟机要设置USB 兼容USB 3.0。如下图步骤,选择USB 3.0。

第二章10305.png

图2.4.1 11 虚拟机选择兼容USB 3.0


Ubuntu18.04虚拟机弹出以下窗口,我们将STMicroelectronic DFU in HS…(作者在Windows安装过STM32CubeProgrammer的DFU驱动,如果用户没安装过不一定是这个名字)。点击连接到虚拟机,选择接到Ubuntu 18.04(您的Ubuntu主机名)。再点击确认。

第二章10513.png

图2.4.1 12 连接器件到Ubuntu虚拟机


如果没弹出上面的窗口也没关系,直接在虚拟机(M)将STMicroelectronic DFU in HS…这个设备点击断开连接(连接到主机)(D)选项也可以连接这个设备到虚拟机。等等方法。

第二章10660.png

图2.4.1 13连接器件到Ubuntu虚拟机


双击STM32CubeProgrammer桌面图标打开,或者在终端使能环境变量后输入STM32CubeProgrammer打开STM32CubeProgrammer。按如下步骤,选择设备类型为USB,点击刷新设备,刷新不出来可以按开发板上的RESET按钮。如下图,出现USB1表明成功!

第二章10855.png

图2.4.1 14 连接成功,出现USB1


2.4.1.1 Linux使用STM32CubePro烧写固件到eMMC
按照上面的操作连接到开发板后,拷贝网盘路径STM32MP157开发板->开发板光盘A-基础资料->8、系统镜像->2、出厂系统镜像->1、STM32CubeProg烧录固件包,把这个“1、STM32CubeProg烧录固件包”文件夹到Ubuntu。如下图作者已经拷贝到Ubuntu的家目录下。

第二章11088.png

图2.4.1.1 1 拷贝烧录包到Ubuntu


点击如下图位置的Open file

第二章11159.png

图2.4.1.1 2 打开文件


按下面的操作找到我们上面拷贝的1、STM32CubeProg烧录固件包文件夹的位置,进入flashlayout文件夹下,选择atk_emmc-stm32mp157d-atk-qt.tsv,再点击Open(打开)。

第二章11311.png

图2.4.1.1 3 选择烧录到eMMC的配置


点击Browser(浏览),定位到“1、STM32CubeProg烧录固件包”目录。如下

第二章11409.png

图2.4.1.1 4 选择烧录文件夹所在位置


确认选的是USB类型,已经将开发板与Ubuntu虚拟机连接,再点击Download(下载)。

第二章11508.png

图2.4.1.1 5 点击Download,开始烧录


可以看到如下,烧写正在进行,并打印烧写的信息。

第二章11588.png

图2.4.1.1 6 烧录进行中


一般如果没什么必要更新文件系统可不用烧写,我们可以在终端编辑atk_emmc-stm32mp157d-atk-qt.tsv,将烧写文件系统的配置信息即最后一行,将“p”修改为“PE”,我们在ATK-STM32MP157的Linux驱动开发指南上有详细的解释。修改为“PE”即代表跳过,不烧写。
第二章11781.png


图2.4.1.1 7 修改成“PE”,跳过文件系统烧写


烧写完成如下图,拨码到010,eMMC启动即可。

第二章11864.png


图2.4.1.1 8 烧写完成


2.4.1.2 Linux使用STM32CubePro烧写固件到SD(TF)卡
请参考上面2.4.1.1小节烧写到eMMC的方法,选择atk_sdcard-stm32mp157d-atk-qt.tsv配置文件即可,记住烧写到TF卡,应要在底板上插上需要烧写的TF卡啊!
烧写完成后,拨码到101,SD卡(TF卡)启动即可。

2.4.2 制作TF(SD)卡系统启动卡
我们可以使用在2.4.1.2小节里使用STM32CubeProgrammer来将系统烧录到TF卡这是一种方法,正点原子还提供另外一种方法,在Ubuntu里直接使用dd命令将一个系统烧写到TF卡,下面我们就介绍如何将ATK-STM32MP157的出厂系统在Ubuntu上烧录到TF卡上。
拷贝开发板光盘A-基础资料->8、系统镜像->2、出厂系统镜像->2、TF(SD)卡或eMMC烧录固件包->1、sdcard_update文件夹到Ubuntu虚拟机上如下,可使用(FileZilla或者WinSCP软件)拷贝到Ubuntu虚拟机下。

第二章12361.png

图2.4.2 1 拷贝文件夹到Ubuntu虚拟机下


使用读卡器插入TF卡(空白或者非空白的卡),连接到Ubuntu。按如下步骤,将TF卡连接到Ubuntu虚拟机(退出TF卡时再次点击图示的第4步,即可退出TF卡)。

第二章12496.png

图2.4.2 2 连接TF卡到Ubuntu虚拟机


使用fdisk查看TF卡设备。
sudo fdisk -l
编者使用的是一张16G大小的TF卡,一般TF卡都会识别成/dev/sdx设备(x=a,b,c,d…),一般/dev/sda通常是您的硬盘设备!请不要选择烧写到/dev/sda,否则您的Ubuntu虚拟机将无法启动。如下图,编者的TF卡被识别为/dev/sdb,看到容量为14.9 GiB(16G)说明就是编者的16GTF卡。

第二章12741.png

图2.4.2 3 确认TF卡的设备节点


赋予脚本可执行权限
chmod +x sdcard_update.sh
确认了TF卡的设备节点后,开执行脚本开始烧录到TF卡,注意,烧录的过程会把整张TF卡格式化,如有重要数据,请先备份好重要数据!
sudo ./sdcard_update.sh /dev/sdb
烧写过程如下图,可以看到烧写的耗时及速度,过程不要中断,直到脚本自动退出为止。本次耗时175s,约3分钟仅供参考,烧写速度与个人的TF卡写速度有关。

第二章12996.png

图2.4.2 4 TF卡启动系统烧写完成


烧写完成后按上面连接TF卡的方法,退出TF卡。将TF卡插到ATK-STM32MP157底板卡槽上,拨码至101,上电启动即可!
2.4.3 使用TF(SD)卡启动烧写固件到eMMC
在2.4.2小节制作好TF卡系统后,我们从TF卡启动系统,开发板拨码为010。从TF卡启动系统后,将要烧写到eMMC的文件夹拷贝到开发板文件系统下。如下图,要想在windows下使用scp指令通过网络拷贝文件到开发板,需要在windows下装git,安装方法不细说了,直接百度“Git for Windows”,下载后默认安装即可,这个比较基础,然后右键进入git bash命令行终端。作者用scp指令将资料下的开发板光盘A-基础资料->8、系统镜像->2、出厂系统镜像->2、TF(SD)卡或eMMC烧录固件包的2、emmc_update文件夹拷贝到开发板/home/root下,其中192.168.1.149为编者个人开发板的ip地址,请修改为用户自己的开发板ip,参考下面指令进行拷贝到开发板系统/home/root目录下。
scp -r 2、emmc_update/ root@192.168.1.149:/home/root
如下图编者已经拷贝2、emmc_update整个文件夹到/home/root目录下。

第二章13596.png

图2.4.3 1 拷贝烧录文件到开发板/home/root目录下


使用cd指令进入2、emmc_update件夹下,赋予emmc_update.sh可执行权限(如果可以执行,就不用再赋予这个权限了)
chmod +x emmc_update.sh
执行下面的指令,烧写系统到核心板上的eMMC储存上。
./emmc_update.sh /dev/mmcblk2
烧写完成如下图,这样就可以把固件烧写到核心eMMC存储上了。

第二章13835.png

图2.4.3 2 eMMC启动烧写完成

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 10:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表