【LINUX】STM32MP1笔记1-安装入门包

虚拟机配置

安装软件包

替换软件源为国内软件源

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
    烧录按照如下流程:
  1. 将开发板BOOT0,BOOT2拨码开关拨到OFF位置
  2. 使用type-C OTG(HDMI旁边的type-C)将开发板连接到主机
  3. 插入microSD卡
  4. 使用type-C POWER(RJ45旁边的type-C)给开发板供电(建议@5V3A)
  5. 按下开发板RESET按键,复位开发板
  6. 主机切换到固件包目录下
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
  1. 检查STM32CubeProgrammer是否安装成功
PC $>STM32_Programmer_CLI --h
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.2.0                  
      -------------------------------------------------------------------

  1. 获取本地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
  1. 烧写固件
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

启动开发板

  1. 将BOOT0,BOOT2拨到ON
  2. 连接鼠标键盘
  3. 连接电源
  4. 插入microSD卡
  5. 插入网线
  6. 插入microUSB,连接主机和开发板
  7. 插入HDMI连接显示器
  8. 按下复位按键,启动开发板
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值