虚拟机配置
安装软件包
替换软件源为国内软件源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list
//从以下国内源中选择一个,复制到sources.list中
#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
##中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
##163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
##清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
//nano编辑器:保存ctrl+O,退出ctrl+X
更新软件列表
PC $> sudo apt-get update
PC $> apt-get upgrade
其他设置
- 设置mmc允许16个分区
默认情况下,在Linux系统上,mmc上最多允许8个分区。所有程序包(入门程序包,…)需要10个以上的分区用于存储设备。为了将每个设备的分区数扩展到16,必须在modprobe中添加以下选项:
PC $> echo 'options mmc_block perdev_minors=16' > /tmp/mmc_block.conf
PC $> sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf
STM32CubeProgrammer
安装STM32CubeProgrammer
- 解压&安装程序
将en.stm32cubeprog.zip通过FTP拷贝到linux主机上,然后执行解压
PC $>unzip en.stm32cubeprog.zip
./SetupSTM32CubeProgrammer-2.2.0.linux
解压完可在桌面环境中直接安装
- 添加PATH
export PATH=<my STM32CubeProgrammer install directory>/bin:$PATH
// for example
export PATH=~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin:$PATH
安装开发板USB驱动
- 安装驱动
PC $> sudo apt-get install libusb-1.0-0
- 允许STM32CUBE访问USB设备
PC $> cd <your STM32CubeProgrammer install directory>/Drivers/rules
PC $> sudo cp *.* /etc/udev/rules.d/
//for example
cd ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Drivers/rules
sudo cp *.* /etc/udev/rules.d/
下载并烧录程序
- 将固件复制到linux主机
将新建固件包存放目录
mkdir <working directory path>/Starter-Package
cd <working directory path>/Starter-Package
//for example
mkdir ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Starter-Package
cd ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Starter-Package
将固件包en.FLASH-stm32mp1-openstlinux-4.19-thud-mp1-19-10-09.tar.xz通过FTP拷贝到上述目录
解压固件包
tar xvf en.FLASH-stm32mp1-openstlinux-4.19-thud-mp1-19-10-09.tar.xz
查看解压后的固件包, 二进制文件 和 Flash layout 文件 在< Starter Package installation directory>/openstlinux-4.19-thud-mp1-19-10-09/images/stm32mp1/目录下。
stm32mp1
├── flashlayout_st-image-weston Flash layout files (description of the partitions) for the supported Flash devices and boards
│ ├── FlashLayout_sdcard_stm32mp157a-dk1-basic.tsv Flash layout file for microSD card and basic boot chain → STM32MP15 Discovery kits
│ ├── FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv Flash layout file for microSD card and optee boot chain → STM32MP15 Discovery kits
│ ├── FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP15 Discovery kits
│ ├── FlashLayout_sdcard_stm32mp157c-dk2-basic.tsv Flash layout file for microSD card and basic boot chain → STM32MP15 Discovery kits
│ ├── FlashLayout_sdcard_stm32mp157c-dk2-optee.tsv Flash layout file for microSD card and optee boot chain → STM32MP15 Discovery kits
│ ├── FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP15 Discovery kits
│ ├── FlashLayout_emmc_stm32mp157c-ev1-optee.tsv Flash layout file for eMMC and optee boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_emmc_stm32mp157c-ev1-trusted.tsv Flash layout file for eMMC and trusted boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nand-4-256_stm32mp157c-ev1-optee.tsv Flash layout file for NAND Flash and optee boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nand-4-256_stm32mp157c-ev1-trusted.tsv Flash layout file for NAND Flash and trusted boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nor-emmc_stm32mp157c-ev1-optee.tsv Flash layout file for NOR Flash (and eMMC) and optee boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nor-emmc_stm32mp157c-ev1-trusted.tsv Flash layout file for NOR Flash (and eMMC) and trusted boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nor-nand-4-256_stm32mp157c-ev1-optee.tsv Flash layout file for NOR Flash (and NAND Flasdh) and optee boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nor-nand-4-256_stm32mp157c-ev1-trusted.tsv Flash layout file for NOR Flash (and NAND Flasdh) and trusted boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-optee.tsv Flash layout file for NOR Flash (and microSD card) and optee boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_nor-sdcard_stm32mp157c-ev1-trusted.tsv Flash layout file for NOR Flash (and microSD card) and trusted boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_sdcard_stm32mp157c-ev1-basic.tsv Flash layout file for microSD card and basic boot chain → STM32MP15 Evaluation boards
│ ├── FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv Flash layout file for microSD card and optee boot chain → STM32MP15 Evaluation boards
│ └── FlashLayout_sdcard_stm32mp157c-ev1-trusted.tsv Flash layout file for microSD card and trusted boot chain (recommended setup) → STM32MP15 Evaluation boards
├── scripts
│ └── create_sdcard_from_flashlayout.sh
├── st-image-bootfs-openstlinux-weston-stm32mp1.ext4 Binary for bootfs partition
├── st-image-bootfs-openstlinux-weston-stm32mp1.manifest
├── st-image-userfs-openstlinux-weston-stm32mp1.ext4 Binary for userfs partition
├── st-image-userfs-openstlinux-weston-stm32mp1.manifest
├── st-image-vendorfs-openstlinux-weston-stm32mp1.ext4 Binary for vendorfs partition
├── st-image-vendorfs-openstlinux-weston-stm32mp1.manifest
├── st-image-weston-openstlinux-weston-stm32mp1.ext4 Binary for rootfs partition
├── st-image-weston-openstlinux-weston-stm32mp1.license
├── st-image-weston-openstlinux-weston-stm32mp1-license_content.html
├── st-image-weston-openstlinux-weston-stm32mp1.manifest
├── st-image-weston-openstlinux-weston-stm32mp1_nand_4_256_multivolume.ubi
├── tee-header_v2-stm32mp157a-dk1-optee.stm32
├── tee-header_v2-stm32mp157c-dk2-optee.stm32
├── tee-header_v2-stm32mp157c-ev1-optee.stm32
├── tee-pageable_v2-stm32mp157a-dk1-optee.stm32
├── tee-pageable_v2-stm32mp157c-dk2-optee.stm32
├── tee-pageable_v2-stm32mp157c-ev1-optee.stm32
├── tee-pager_v2-stm32mp157a-dk1-optee.stm32
├── tee-pager_v2-stm32mp157c-dk2-optee.stm32
├── tee-pager_v2-stm32mp157c-ev1-optee.stm32
├── tf-a-stm32mp157c-dk1-optee.stm32 TF-A binary for FSBL partition (optee boot chain) → STM32MP15 Discovery kits
├── tf-a-stm32mp157c-dk1-trusted.stm32 TF-A binary for FSBL partition (trusted boot chain) → STM32MP15 Discovery kits
├── tf-a-stm32mp157c-dk2-optee.stm32 TF-A binary for FSBL partition (optee boot chain) → STM32MP15 Discovery kits
├── tf-a-stm32mp157c-dk2-trusted.stm32 TF-A binary for FSBL partition (trusted boot chain) → STM32MP15 Discovery kits
├── tf-a-stm32mp157c-ev1-optee.stm32 TF-A binary for FSBL partition (optee boot chain) → STM32MP15 Evaluation boards
├── tf-a-stm32mp157c-ev1-trusted.stm32 TF-A binary for FSBL partition (trusted boot chain) → STM32MP15 Evaluation boards
├── u-boot-spl.stm32-stm32mp157c-dk1-basic U-Boot binary for FSBL partition (basic boot chain) → STM32MP15 Discovery kits
├── u-boot-spl.stm32-stm32mp157c-dk2-basic U-Boot binary for FSBL partition (basic boot chain) → STM32MP15 Discovery kits
├── u-boot-spl.stm32-stm32mp157c-ev1-basic U-Boot binary for FSBL partition (basic boot chain) → STM32MP15 Evaluation boards
├── u-boot-stm32mp157c-dk1-basic.img U-Boot binary for SSBL partition (basic boot chain) → STM32MP15 Discovery kits
├── u-boot-stm32mp157c-dk1-trusted.stm32 U-Boot binary for SSBL partition (trusted boot chain) → STM32MP15 Discovery kits
├── u-boot-stm32mp157c-dk1-optee.stm32 U-Boot binary for SSBL partition (optee boot chain) → STM32MP15 Discovery kits
├── u-boot-stm32mp157c-dk2-basic.img U-Boot binary for SSBL partition (basic boot chain) → STM32MP15 Discovery kits
├── u-boot-stm32mp157c-dk2-trusted.stm32 U-Boot binary for SSBL partition (trusted boot chain) → STM32MP15 Discovery kits
├── u-boot-stm32mp157c-dk2-optee.stm32 U-Boot binary for SSBL partition (optee boot chain) → STM32MP15 Discovery kits
├── u-boot-stm32mp157c-ev1-basic.img U-Boot binary for SSBL partition (basic boot chain) → STM32MP15 Evaluation boards
├── u-boot-stm32mp157c-ev1-trusted.stm32 U-Boot binary for SSBL partition (trusted boot chain) → STM32MP15 Evaluation boards
└── u-boot-stm32mp157c-ev1-optee.stm32 U-Boot binary for SSBL partition (optee boot chain) → STM32MP15 Evaluation boards
- 烧录固件到STM32MP1
烧录按照如下流程:
- 将开发板BOOT0,BOOT2拨码开关拨到OFF位置
- 使用type-C OTG(HDMI旁边的type-C)将开发板连接到主机
- 插入microSD卡
- 使用type-C POWER(RJ45旁边的type-C)给开发板供电(建议@5V3A)
- 按下开发板RESET按键,复位开发板
- 主机切换到固件包目录下
PC $> cd <Starter Package installation directory>/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/images/stm32mp1
//for example
PC $>cd ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Starter-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/images/stm32mp1
- 检查STM32CubeProgrammer是否安装成功
PC $>STM32_Programmer_CLI --h
-------------------------------------------------------------------
STM32CubeProgrammer v2.2.0
-------------------------------------------------------------------
- 获取本地USB端口
PC $>STM32_Programmer_CLI -l usb
-------------------------------------------------------------------
STM32CubeProgrammer v2.2.0
-------------------------------------------------------------------
===== DFU Interface =====
Total number of available STM32 device in DFU mode: 1
Device Index : USB1
USB Bus Number : 001
USB Address Number : 001
Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
Serial number : 001700293338510A39303435
Firmware version : 0x0110
Device ID : 0x0500
- 烧写固件
PC $> STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv
-------------------------------------------------------------------
STM32CubeProgrammer v2.2.0
-------------------------------------------------------------------
USB speed : High Speed (480MBit/s)
Manuf. ID : STMicroelectronics
Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
SN : 001700293338510A39303435
FW version : 0x0110
Device ID : 0x0500
Device name : STM32MPxxx
Device type : MPU
Device CPU : Cortex-A7
Start Embedded Flashing service
Memory Programming ...
Opening and parsing file: tf-a-stm32mp157a-dk1-trusted.stm32
File : tf-a-stm32mp157a-dk1-trusted.stm32
Size : 245364 Bytes
Partition ID : 0x01
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:00:01.960
RUNNING Program ...
PartID: :0x01
Start operation done successfully at partition 0x01
Flashlayout Programming ...
[==================================================] 100%
Running Flashlayout Partition ...
Flashlayout partition started successfully
Memory Programming ...
Opening and parsing file: u-boot-stm32mp157a-dk1-trusted.stm32
File : u-boot-stm32mp157a-dk1-trusted.stm32
Size : 803725 Bytes
Partition ID : 0x03
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:00:06.051
RUNNING Program ...
PartID: :0x03
reconnecting the device ...
USB speed : High Speed (480MBit/s)
Manuf. ID : STMicroelectronics
Product ID : USB download gadget@Device ID /0x500, @Revision ID /0x0000
SN : 001700293338510A39303435
FW version : 0x0110
Device ID : 0x0500
Start operation done successfully at partition 0x03
Memory Programming ...
Opening and parsing file: tf-a-stm32mp157a-dk1-trusted.stm32
File : tf-a-stm32mp157a-dk1-trusted.stm32
Size : 245364 Bytes
Partition ID : 0x04
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:00:00.421
RUNNING Program ...
PartID: :0x04
Start operation done successfully at partition 0x04
Memory Programming ...
Opening and parsing file: tf-a-stm32mp157a-dk1-trusted.stm32
File : tf-a-stm32mp157a-dk1-trusted.stm32
Size : 245364 Bytes
Partition ID : 0x05
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:00:00.414
RUNNING Program ...
PartID: :0x05
Start operation done successfully at partition 0x05
Memory Programming ...
Opening and parsing file: u-boot-stm32mp157a-dk1-trusted.stm32
File : u-boot-stm32mp157a-dk1-trusted.stm32
Size : 803725 Bytes
Partition ID : 0x06
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:00:01.355
RUNNING Program ...
PartID: :0x06
Start operation done successfully at partition 0x06
Memory Programming ...
Opening and parsing file: st-image-bootfs-openstlinux-weston-stm32mp1.ext4
File : st-image-bootfs-openstlinux-weston-stm32mp1.ext4
Size : 64 MBytes
Partition ID : 0x21
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:02:01.382
RUNNING Program ...
PartID: :0x21
Start operation done successfully at partition 0x21
Memory Programming ...
Opening and parsing file: st-image-vendorfs-openstlinux-weston-stm32mp1.ext4
File : st-image-vendorfs-openstlinux-weston-stm32mp1.ext4
Size : 16 MBytes
Partition ID : 0x22
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:00:30.362
RUNNING Program ...
PartID: :0x22
Start operation done successfully at partition 0x22
Memory Programming ...
Opening and parsing file: st-image-weston-openstlinux-weston-stm32mp1.ext4
File : st-image-weston-openstlinux-weston-stm32mp1.ext4
Size : 512996 KBytes
Partition ID : 0x23
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:16:31.909
RUNNING Program ...
PartID: :0x23
Start operation done successfully at partition 0x23
Memory Programming ...
Opening and parsing file: st-image-userfs-openstlinux-weston-stm32mp1.ext4
File : st-image-userfs-openstlinux-weston-stm32mp1.ext4
Size : 97807 KBytes
Partition ID : 0x24
Download in Progress:
[==================================================] 100%
File download complete
Time elapsed during download operation: 00:03:03.245
RUNNING Program ...
PartID: :0x24
Start operation done successfully at partition 0x24
Flashing service completed successfully
启动开发板
- 将BOOT0,BOOT2拨到ON
- 连接鼠标键盘
- 连接电源
- 插入microSD卡
- 插入网线
- 插入microUSB,连接主机和开发板
- 插入HDMI连接显示器
- 按下复位按键,启动开发板