Development Platform:STM32MP157A-DK1 (官方 demo 板)

Host PC:Ubuntu20.04

Source Code:OpenStLinux (官方源码)

一、安装 SDK

1、下载

en.SDK-x86_64-stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31.tar.xz

2、安装

# 解压缩
tar xvf en.SDK-x86_64-stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31.tar.xz# 赋予权限
cd stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sdk/
chmod +x st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.10-dunfell-mp1-21-03-31.sh# 运行安装  -d 表示安装路径 (可更改)
./stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.10-dunfell-mp1-21-03-31.sh -d <working directory absolute path>/Developer-Package/SDK

3、安装成功

ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version 3.1-openstlinux-5.10-dunfell-mp1-21-03-31
===========================================================================================
You are about to install the SDK to "<working directory absolute path>/Developer-Package/SDK". Proceed [Y/n]?
Extracting SDK................................................................................................................................................................................................................done
Setting it up...done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.$> . <working directory absolute path>/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

4、SDK 目录

<SDK installation directory>                                      SDK for OpenSTLinux distribution: details in Standard SDK directory structure article
├── environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi  Environment setup script for Developer Package
├── site-config-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
├── sysroots
│   ├── cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi                Target sysroot (libraries, headers, and symbols)
│   │   └── [...]
│   └── x86_64-ostl_sdk-linux                                     Native sysroot (libraries, headers, and symbols)
│       └── [...]
└── version-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

二、启动 SDK

1、配置环境脚本,每次编译前都需要运行一次

source <SDK installation directory>/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

2、检查环境配置

# 编译架构
PC $> echo $ARCH
arm# 交叉编译工具 (可在配置环境脚本中更改)
PC $> echo $CROSS_COMPILE
arm-ostl-linux-gnueabi-# 编译器版本
PC $> $CC --version 或者 arm-ostl-linux-gnueabi-gcc -v
arm-ostl-linux-gnueabi-gcc (GCC) <GCC version>
[...]# SDK 版本
PC $> echo $OECORE_SDK_VERSION
<expected SDK version>

三、安装内核

前提:确保 SDK 已经安装完成。

1、下载

en.SOURCES-kernel-stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31.tar.xz

2、进入 SDK 目录

cd <working directory path>/Developer-Package

3、安装

# 解压缩
tar xvf en.SOURCES-kernel-stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31.tar.xzcd stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.10.10-r0tar xvf linux-5.10.10.tar.xz

4、内核目录

linux-stm32mp-5.10.10-r0 Linux kernel installation directory
├── [*].patch           ST patches to apply during the Linux kernel preparation (see next chapter)
├── fragment-[*].config     ST configuration fragments to apply during the Linux kernel configuration (see next chapter)
├── linux-5.10.10       Linux kernel source code directory
├── linux-5.10.10.tar.xz    Tarball file of the Linux kernel source code
├── README.HOW_TO.txt       Helper file for Linux kernel management: reference for Linux kernel build
└── series          List of all ST patches to apply

5、编译内核

# 安装依赖包
sudo apt-get install libncurses5-dev libncursesw5-dev libyaml-dev
sudo apt-get install u-boot-tools
sudo apt-get install libyaml-dev# 运行配置环境脚本 (仅当前终端有效)
source <path to SDK>/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi# 检查编译器
set | grep CROSS
CROSS_COMPILE=arm-ostl-linux-gnueabi-# 打包补丁
cd linux-5.10.10
for p in `ls -1 ../*.patch`; do patch -p1 < $p; done# 在源码外部新建一个文件夹,用于存放编译文件
mkdir -p ../build# 内核配置
make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.config# 如果有配置片段,也一个一个加载进去
scripts/kconfig/merge_config.sh -m -r -O $PWD/../build $PWD/../build/.config ../fragment-01-xxx.config
scripts/kconfig/merge_config.sh -m -r -O $PWD/../build $PWD/../build/.config ../fragment-02-xxx.config...yes '' | make ARCH=arm oldconfig O="$PWD/../build"# 编译
make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040 O="$PWD/../build"make ARCH=arm modules O="$PWD/../build"make ARCH=arm INSTALL_MOD_PATH="$PWD/../build/install_artifact" modules_install O="$PWD/../build"mkdir -p $PWD/../build/install_artifact/boot/cp $PWD/../build/arch/arm/boot/uImage $PWD/../build/install_artifact/boot/cp $PWD/../build/arch/arm/boot/dts/st*.dtb $PWD/../build/install_artifact/boot/或者
make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040make ARCH=arm modulesmake ARCH=arm INSTALL_MOD_PATH="$PWD/../build/install_artifact" modules_installmkdir -p $PWD/../build/install_artifact/boot/cp $PWD/../build/arch/arm/boot/uImage $PWD/../build/install_artifact/boot/cp $PWD/../build/arch/arm/boot/dts/st*.dtb $PWD/../build/install_artifact/boot/# 编译后文件存放在$PWD/install_artifact/boot/uImage$PWD/install_artifact/boot/<stm32-boards>.dtb

四、安装 U-boot

1、下载

en.SOURCES-u-boot-stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31.tar.xz

2、

STM32MP157学习笔记(三) ---- A7开发环境搭建相关推荐

  1. 迪文屏幕T5L平台学习笔记一:开发环境搭建注意事项

    前面一直用T5UID3平台的屏幕开发,但是吐槽下<DWIN C Compiler 1>编译器bug太多,项目能不能做好,全靠运气:售后说T5L平台支持keil开发,我感觉挺好,于是从新学习 ...

  2. Python学习笔记:Day1-2 开发环境搭建

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  3. 视觉SLAM十四讲学习笔记-第二讲-开发环境搭建

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 ​​​​​​​ lin ...

  4. [学习笔记] BearPi-HM Nano - 开发环境搭建HelloWorld

    声明:         1. 该系列学习笔记整理自BearPi社区以及网络资源 2. 阅读本系列笔记需要部分单片机.电子技术和C语言基础 3. 才疏学浅,若有谬误,敬请指正 目录 一.简述 二.代码开 ...

  5. 【海思AI芯片Hi3559A】学习笔记(1):开发环境搭建、安装SDK

    芯片资料见Hi3559A的资料包 主要参考文档:ReleaseDoc\zh\01.software\board\Hi3559A╱C V100 SDK 安装及升级使用说明.pdf 注意所有解压操作均要在 ...

  6. [官方Flink入门笔记 ] 三、开发环境搭建和应用的配置、部署及运行

    一.Flink 开发环境部署和配置 Flink 是一个以 Java 及 Scala 作为开发语言的开源大数据项目,代码开源在 GitHub 上,并使用 Maven 来编译和构建项目.对于大部分使用 F ...

  7. 华芯微特SWM181学习笔记--GPIO应用与环境搭建

    华芯微特SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核, SWM181 支持片上包含精度为 1%以内的 24MHz.48MHz 时钟,并提供 ...

  8. nginx学习笔记-01nginx入门,环境搭建,常见命令

    nginx学习笔记-01nginx入门,环境搭建,常见命令 文章目录 nginx学习笔记-01nginx入门,环境搭建,常见命令 1.nginx的基本概念 2.nginx的安装,常用命令和配置文件 3 ...

  9. Polyworks脚本开发学习笔记(一)-脚本开发环境

    Polyworks脚本开发学习笔记(一)-脚本开发环境 背景 Polyworks的扫描尺寸测量分析模块是我工作中经常用到的一个模块,我不是做测量的,但是利用Polyworks对扫描获得的点云来进行尺寸 ...

  10. Beaglebone Back学习三(开发环境搭建)

    开发环境搭建 1 Ubuntu环境搭建 2 Window环境搭建 3 开发板环境搭建 1 Ubuntu环境搭建 (1)安装必要的网络工具 samba nfs tftp vmware-tools sam ...

最新文章

  1. ABAP help click F1
  2. 得意而忘乎形:谈葛水平的水墨画
  3. java 用户控件_C#自定义控件VS用户控件
  4. 第一节:ASP.NET开发环境配置
  5. Python 线程池 ThreadPoolExecutor(二) - Python零基础入门教程
  6. 软件oem要注意什么_英语配音学习要注意什么?配音的注意事项有什么?
  7. 46多项式01——一元多项式和运算
  8. OSPFv3中LSA详解(三)——Network LSA变化
  9. PADS 设置挖空区域,为板子做固定孔,再设置禁止区域,铺铜之前必做的一步...
  10. 关系型数据库一致性的理解
  11. 【优化求解】基于matlab遗传算法求解资源配置优化问题【含Matlab源码 436期】
  12. Hadoop学习之hdfs集群搭建详解
  13. Android学习资料网站搜集
  14. Java 软件安装流程详解
  15. 【预测模型】Gompertz 曲线方程预测
  16. html图片下载链接怎么弄_html 导入图片
  17. 无法访问 您可能没有权限使用网络资源
  18. 密码管理方案之SafeInCloud+坚果云同步
  19. 关于ABAP中锁参数SCOPE的使用bug一粒
  20. redis服务之主从复制、哨兵模式、群集模式

热门文章

  1. Java、JSP网上电子商城的设计
  2. SpringBoot实现多文件压缩下载.zip
  3. Excel跨工作簿引用
  4. c语言编程4星级酒店价格,五星级酒店婚宴价目表 五星级酒店的菜单
  5. Datawhale数据分析课程第二章
  6. 用docker-compose构建mysql主从结构
  7. 淘宝店铺运营新方向, 分销模式助力店铺腾飞!
  8. 《C++捷径教程》学习笔记【一】:虚函数
  9. uniapp 支付宝 支付流程
  10. Armbian 笔记二_初识机顶盒硬件设备和接口知识