米尔基于STM32MP135核心板及开发板介绍

01 前言
上半年,意法半导体推出了新一代64位cortex-a35内核,主频高达1.5ghz的stm32mp2x系列微处理器(mpu),这让stm32mp系列处理器又上了一个新的台阶。
最近,收到了一套米尔基于stm32mp135核心板及开发板,首次接触stm32mpx处理器,体验了一下,感觉还不错。
stm32mp135与普通stm32单片机在性能、价格、应用场景等各方面都有差异。同时,stm32mp135并非局限于裸机、rtos,而是定位于更高的linux操作系统平台。
下面就结合【米尔基于stm32mp135核心板及开发板】给大家讲解一下stm32mp135强悍的性能以及开发入门等相关的内容。
02 硬件平台
stm32mp135的开发板有很多,这里就以米尔的【米尔基于stm32mp135核心板及开发板】为例来给大家讲述。
1、stm32mp135处理器
stm32mp135内核采用cortex-a7,主频高达1.0ghz,属于入门级的mpu,拥有超高的性价比。    
2、米尔基于stm32mp135核心板
米尔基于stm32mp135核心板主控位stm32mp135处理器,搭载ddr3l内存、标配4gb emmc / 256mb nand flash,以及32kb eeprom,接口类型为邮票孔148pin,尺寸37mm x 39mm。
应用方向:充电桩、电池管理、能源管理的方向。
3、米尔基于stm32mp135底板
米尔基于stm32mp135底板的外设资源以及接口就比较丰富和多样了。
早在2019年,st就推出了stm32mp1系列mpu,其强大的性能吸引了不少人的关注。但由于当时配套的开发资料以及生态不够完善,入手学习也难住了一大批人。
米尔设计这款米尔基于stm32mp135开发板时就考虑到了这个问题,在推出开发板的同时就推出了配套的开发资料。
在stm32mp135(myd-yf13x)平台上跑linux相比于普通stm32跑rtos要复杂一点,需要具备一定的相关基础知识才行。
当然,米尔也针对新手提供了配套的手把手教程,能让你快速入门。
0、开发介绍
myd-yf13x 搭载基于 linux 5.15.67 版本内核的操作系统,提供了丰富的系统资源和其他软件资源。
linux 系统平台上有许多开源的系统构建框架,米尔核心板基于yocto 构建和定制化开发。
1、开发环境
linux开发主机:debian, ubuntu, rhel等。
st配套工具:stm32cubeprog、stm32cubemx
安装米尔定制的 sdk
  2、构建开发板镜像
第1步:获取源码
也可以从github在线获取源码。
pc$ mkdir $home/githubpc$ cd $home/githubpc$ repo init -u https://github.com/myir-dev/myir-st-manifest.git --no-clone-bundle --depth=1 -m myir-stm32mp1-kirkstone.xml -b develop-yf13xpc$ repo sync 
第2步:快速编译镜像 这里我们需要使用米尔提供的 envsetup.sh 脚本进行环境变量的设置
pc$: distro=openstlinux-weston machine=myd-yf13x-emmc source layers/meta-myir-st/scripts/envsetup.sh 
然后,构建 myir-image-full 镜像。注意,选择构建不同的系统镜像,需使用不同的 bitbake 命令参数(具体命令参数可以参看提供的文档)。
第3步:构建 sdk
米尔已经提供较完整的 sdk 安装包,用户可直接使用。
3、烧录系统镜像
这里使用st官方的stm32cubeprog 工具进行烧写,可以在windows平台,也可以在linux平台。
提示:烧录的时间可能有点久,需要耐心等待一会儿。
当然,如果觉得慢,也可以用sd卡启动(烧写)。
4、修改板级支持包
这一节应该是相对比较重要的,也是相对比较难的,包括u-boot、 kernel等相关内容的编译与更新。
a.板载 tf-a 编译与更新
获取 tf-a 源代码:
pc$ cd /home/workpc$ tar -jxvf myir-stm32-tf-a.tar.bz2pc$ cd myir-stm32-tf-a  配置和编译源代码:加载 sdk 环境变量到当前 shell:
 pc$ source /opt/st/myir-yf13x/4.0.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi  进入源代码目录:
 pc$ cd myir-st-arm-trusted-firmware  配置与编译源代码:
 pc$ make -f $pwd/../makefile.sdk all 
以上是在独立的交叉编译环境下编译 tf-a,也可以在 yocto 项目下编译 tf-a。
更新 tf-a:编译好之后,将 tf-a 镜像烧录进 micro sd 卡,然后使用 dd 命令将镜像烧录到 sd 卡指定分区:pc$: dd if=tf-a-myb-stm32mp135x-512m-sdcard.stm32 of=/dev/mmcblk0p1 conv=fdatasyncpc$: dd if=tf-a-myb-stm32mp135x-512m-sdcard.stm32 of=/dev/mmcblk0p2 conv=fdatasync
b.板载 u-boot 编译与更新
在独立的交叉编译环境下编译 u-boot,和上面编译 tf-a 类似,也是和常规的编译 u-boot 方法类似。
c.板载 kernel 编译与更新
加载 sdk 环境变量:pc$ source /opt/st/myir-yf13x/4.0.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
配置内核:
 pc$ make arch=arm o=$pwd/../build myir_stm32mp135x_defconfig
编译内核:pc$ make arch=arm uimage vmlinux dtbs loadaddr=0xc2000040 o=$pwd/../buildpc$ make arch=arm modules o=$pwd/../build 
这个配置可能相对比较复杂,编译时间也相对较长,具体可以参看官方手册。
5、适配硬件平台
这一节就是芯片底层相关的适配(驱动),包括创建设备树、利用stm32cubemx 配置gpio、外设时钟等,以及配置自己用到的管脚。
然后,就是添加自己的一些应用了。到此,基本达到入门这一步了。 03 最后
如果你想从stm32单片机裸机、rtos进阶到linux,这款stm32mp135【myc-yf13x开发板】是一个不错的选择。同时,也会用到一些熟悉的生态工具。
最后插入一个小广告:
如果你们企业用到stm32mp135处理器研发产品,欢迎采购这款myc-yf13x核心模块:
米尔电子,专注嵌入式处理器模块设计和研发的高新技术企业,是领先的嵌入式处理器模组厂商。米尔电子在嵌入式处理器领域具有10多年的研发经验,为客户提供基于arm架构、fpga架构的cpu模组及充电控制系统等产品和服务;为智能医疗、智能交通、智能安防、物联网、边缘计算、工业网关、人工智能等行业客户,提供定制解决方案和oem服务。公司通过专业高效的服务帮助客户加速产品上市进程,目前已为行业内10000家以上的企业客户服务。


KT142C-sop16语音芯片ic测试板的使用说明_串口如何接线
关于Linux文件系统的几点注意事项
小蚁科技VR AI参展雅加达Otobursa Tumplek Blek 印尼总统亲临
海尔利用5G技术优势,推出高速率无线接入的物联网中央空调
台积电加速10纳米制程产量 有望超过16纳米
米尔基于STM32MP135核心板及开发板介绍
人工智能技术赋能配电站房,打造智能配电房
关于DS1000Z和DS1000E的分析和介绍
身价百万的“头号玩家”背后的3C制造究竟隐藏多少秘密?
进程间通信的几种方法
大功率1/4砖隔离式DC/DC转换器能够满足节能数据中心的需求
iOS10越狱遭苹果“黑手”,iOS10.2越狱被扼杀?iOS10.3是否快放出?
智能家居中的AI可以感受情感吗
如何找到一种既能垂直起降又具备较长续航时间的无人机
单片机多任务处理方案
STRAMA-MPS推出了第三代LED光伏模拟器
AirPods竟被老外爆炒至1.4万元!淘宝服了
跟大家聊聊BGP与OSPF
兆驰光元收到江西证监局辅导备案函
电子货币,电子货币的特点,电子货币的使用流程