stm32mp135d bringup

stm32mp135d bringup

  • 一、安装交叉编译链
  • 二、获取bsp代码并编译
    • 1. tf-a(trust-firmware)
    • 二、optee
    • 三、u-boot
    • 四、linux
  • 三、快速开始
  • 四、st社区关于bringup问题链接

关于 stm32mp135d的移植 一共分为4个部分

tf-a(trusted-firmware)
optee
u-boot
linux

文件系统编译后面再说,使用 buildroot 或者 yocto

我的板子型号为: STM32MP135D-AE
代码正点原子为基础

在这之前,如果要从头bringup板子,可以先从这里生成一下设备树

一、安装交叉编译链

下载及部署交叉编译环境
下载: arm gcc

tar xf gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz
sudo mv gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf /usr/local/gcc-arm-10
echo 'export PATH=/usr/local/gcc-arm-10:$PATH' | tee -a ~/.bashrc
source ~/.bashrc

不想麻烦,直接快速开始

二、获取bsp代码并编译

1. tf-a(trust-firmware)

如果是自己生成的设备树文件,将生成的tf-a目录下的代码,复制到clonetf-a仓库的的fdts目录之下
仓库地址为:

git clone https://github.com/Aaron-xx/tf-a.git

如果无法访问github的话,使用这个:

git clone https://gitee.com/Aaron-lx/tf-a.git

我的设备树名字为stm32mp135d-aaron,如果增加了自己设备树,在此项目根目录的Makefile.sdk中将stm32mp135d-aaron替换为自己的设备树

sed -i 's/stm32mp135d-aaron/stm32mp135d-atk/g' Makefile.sdk

编译:

./build.sh

二、optee

如果是自己生成的设备树文件,将生成的optee目录下的代码,复制到cloneoptee仓库的的core/arch/arm/dts目录之下
仓库地址为:

git clone https://github.com/Aaron-xx/optee.git

如果无法访问github的话,使用这个:

git clone https://gitee.com/Aaron-lx/optee.git

我的设备树名字为stm32mp153d-aaron,如果增加了自己设备树,在此项目根目录的Makefile.sdk中将stm32mp135d-aaron替换为自己的设备树

sed -i 's/stm32mp135d-aaron/stm32mp135d-atk/g' Makefile.sdk

编译:

./build.sh

三、u-boot

如果是自己生成的设备树文件,将生成的u-boot目录下的代码,复制到cloneu-boot仓库的的arch/arm/dts/ 目录之下
仓库地址为:

git clone https://github.com/Aaron-xx/u-boot.git

如果无法访问github的话,使用这个:

git clone https://gitee.com/Aaron-lx/u-boot.git

我的设备树名字为stm32mp153d-aaron,如果增加了自己设备树,在此项目根目录的Makefile.sdk中将stm32mp135d-aaron替换为自己的设备树

sed -i 's/stm32mp135d-aaron/stm32mp135d-atk/g' Makefile.sdk

编译:

./build.sh

四、linux

如果是自己生成的设备树文件,将生成的linux目录下的代码,复制到clonelinux仓库的的arch/arm/boot/dts/ 目录之下
仓库地址为:

git clone https://github.com/Aaron-xx/linux.git

如果无法访问github的话,使用这个:

git clone https://gitee.com/Aaron-lx/linux.git

我的设备树名字为stm32mp153d-aaron,如果增加了自己设备树
模仿这样,在arch/arm/boot/dts/Makefile增加两行即可

DTC_FLAGS_stm32mp135d-aaron += -@
dtb-$(CONFIG_ARCH_STM32) += \
...
stm32mp135d-aaron.dtb   \

编译:

./build.sh

三、快速开始

必须把交叉编译环境装好
从此连接下载两个脚本
创建一个项目文件夹,将两个脚本放进去

sudo chmod +x build-all.sh
sudo chmod +x compile.sh
./build-all.sh

清除编译结果

./compile clean # 清除 tf-a optee u-boot 编译结果
./compile linux clean # 清除 linux 编译结果

四、st社区关于bringup问题链接

如果遇到bringup的问题,应该有用:
How to bring up STM32MP1
STM32MP1 bring-up troubleshooting guide


至此,bringup stm32mp135d 板子 结束,后续会添加一些设备以及相关设备驱动支持,内核裁减等

能力一般水平有限,希望能帮到您

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ShardingSphere 5.x 系列【26】 数据分片原理之 SQL 路由

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 概述2. 携带分片键2.1 直接路由2.2 标准路由2.3 笛卡尔路由3. 不携带分片…

如何在docker上面使用hbase shell

在新公司上班,hbase是cdh6.3.2安装在docker上面,如何直接在shell上面使用hbase shell是访问不到的。使用教程如下: 要在Docker上使用CDH 6.3.2中的HBase shell,你需要按照以下步骤操作: 步骤1:启动HBase服…

【内网横向】SSH协议隧道搭建详解

什么是SSH隧道 SSH隧道是通过Secure Shell(SSH)协议在两个网络节点之间创建的加密通道。它可以用于安全地传输数据,绕过网络限制或保护数据免受窃听。通过SSH隧道,可以在两个网络之间建立安全的连接,例如在本地计算机和…

字符串简单运算(BigDecimal相关运算)

目录 1.除法 2.乘法 3.减法 4.加法 1.除法 使用 divide(BigDecimal, int, RoundingMode) 方法进行除法运算。第一个参数是要除的 BigDecimal,第二个参数指定结果的小数位数,第三个参数是舍入模式。这里选择了 RoundingMode.HALF_UP,即四舍…

济宁市中考报名照片要求及手机拍照采集证件照方法

随着中考报名季的到来,并且进入了中考报名演练阶段,济宁市的广大考生和家长都开始忙碌起来。报名过程中,上传一张符合要求的证件照是必不可少的环节。本文将详细介绍济宁市中考报名照片的具体要求,并提供一些实用的手机拍照采集证…

BUUCTF--web(2)

1、[HCTF 2018]admin1 打开题目后发现有注册和登录两个页面,因为题目提示admin,尝试用admin进行爆破 爆破得到密码为123 登录得到flag 2、[护网杯 2018]easy_tornado1 打开题目后有三个文件,分别打开查看 在url地址栏中发现包含两个参数&a…

想要提升爬虫效率,该如何调整动态IP切换时间?

在进行网络爬虫操作时,动态代理IP的使用是常见的策略之一,用于隐藏爬虫的真实身份和规避目标网站的封锁。然而,一个常见的问题是:在做爬虫时,动态代理IP切换频率到底是越快越好呢?本文将从不同角度探讨这个…

Java设计模式 _创建型模式_单例模式(懒汉式,饿汉式)

一、单例模式 1、单例模式(Singleton Pattern)是一种创建对象的设计模式。一个类负责创建自己的对象,同时确保只有1个对象被创建,这个类提供了一种访问其唯一的对象的方式,不需要在实例化该类的对象。从而保证了这个类…

鸿蒙OpenHarmony【轻量系统 编写“Hello World”程序】 (基于Hi3861开发板)

编写“Hello World”程序 下方将通过修改源码的方式展示如何编写简单程序,输出“Hello world”。请在下载的源码目录中进行下述操作。 确定目录结构。 开发者编写业务时,务必先在./applications/sample/wifi-iot/app路径下新建一个目录(或一…

计算机视觉——OpenCV 使用分水岭算法进行图像分割

分水岭算法 分水岭算法:模拟地理形态的图像分割 分水岭算法通过模拟自然地形来实现图像中物体的分类。在这一过程中,每个像素的灰度值被视作其高度,灰度值较高的像素形成山脊,即分水岭,而二值化阈值则相当于水平面&am…

spring自定义属性编辑器

spring自定义属性编辑器 属性编辑器用来解析bean的配置文件中的属性标签,spring的BeanWrapperImpl默认会注册CustomCollectionEditor(集合)、CustomMapEditor(Map)、CurrencyEditor(货币)、ByteArrayPropertyEditor等,可以使用CustomEditorConfigurer来注…

上门服务系统|上门服务小程序搭建流程

随着科技的不断进步和人们生活水平的提高,越来越多的服务开始向线上转型。传统的上门服务业也不例外,随着上门服务小程序的兴起,人们的生活变得更加便捷和高效。本文将为大家介绍上门服务小程序的搭建流程以及应用范围。 一、上门服务小程序搭…

华为OD机试 - 跳格子3 - 动态规划(Java 2024 C卷 200分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

Taro +vue3 中实现全局颜色css变量的设置和使用

当我们现在需要弄一个随时修改的页面颜色主题色 我们可以随时修改 我使用的是 Taro 框架 一般有一个app.less 文件 我们在这个里面 设置一个root 全局样式 :root {--primary-color: #028fd4;--secondary-color: #028fd6;/* 添加其他颜色变量 */ } 这样在全局我们就可以使用这…

汽车信息安全--如何理解TrustZone(2)

目录 1.概述 2 如何切换安全状态 3 TrustZone里实现了什么功能? 4. 与HSM的比较 1.概述 汽车信息安全--如何理解TrustZone(1)-CSDN博客讲解了什么是Trustzone,下面我们继续讲解与HSM的区别。 2 如何切换安全状态 在引入安全扩展后,Arm…

OpenHarmony硬件合成方案解析

本文档主要讲解在OpenHarmony中,硬件合成适配的方法及原理说明。 环境说明: OHOS版本:3.1-Release及以上 一、背景介绍 1.1 什么是合成 要理解什么是合成,合成做了什么?我们先通过分解设置界面来回答这个问题: 在…

MySQL中的Performance Schema是什么?

MySQL中的Performance Schema是什么? Performance Schema 是 MySQL 的一个特性,主要用于监控 MySQL 服务器在运行时的性能和资源使用情况。它首次引入于 MySQL 5.5 版本,并在后续版本中得到增强。Performance Schema 提供了一种方式来收集数…

base64算法

1 介绍 将二进制数据编码为文本字符串的算法 理解:把一个能看懂的明文变成一个看不懂的密文数据统称为加密 2 使用 A 在浏览器控制台使用 加密 window.btoa(加密的数据) 解密 window.atob(MTIzNDQ) B 在VSconde中使用 加密 解密

机器学习-保险花销预测笔记+代码

读取数据 import numpy as np import pandas as pddatapd.read_csv(rD:\人工智能\python视频\机器学习\5--机器学习-线性回归\5--Lasso回归_Ridge回归_多项式回归\insurance.csv,sep,) data.head(n6) EDA 数据探索 import matplotlib.pyplot as plt %matplotlib inlineplt.hi…

STM32之串口中断接收丢失数据

五六年没搞STM32了,这个项目一切都挺顺利,万万没想到被串口接收中断恶心到了。遇到的问题很奇怪 HAL_UART_Receive_IT(&huart1, &rx_buffer[rx_index], LCD_UART_LEN); 这个代码中 LCD_UART_LEN1的时候,接收过来的数据,数…