上个月linux教程,意法半导体推出了新一代64位Cortex-A35内核,显存高达1.5GHz的STM32MPMP22x系列微处理器(MPU),这让STM32MP系列处理器又上了一个新的台阶。
近来,收到了一套米尔基于STM32MP135核心板及开发板,首次接触STM32MPx处理器,体验了一下,觉得还不错。
下边就结合【米尔基于STM32MP135核心板及开发板】给你们讲解一下STM32MP135强大的性能以及开发入门等相关的内容。
硬件平台介绍
STM32MP135的开发板有好多,这儿就以米尔的【米尔基于STM32MP135核心板及开发板】为例来给你们述说。
1、STM32MP135处理器
STM32MP135内核采用Cortex-A7,显存高达1.0GHz,属于入门级的MPU,拥有超高的性价比。
2、米尔基于STM32MP135核心板
米尔基于STM32MP135核心板主控位STM32MP135处理器,搭载DDR3L显存、标配4GBeMMC/256MBNandFLASH,以及32KBEEPROM,插口类型为邮品孔148PINlinux 驱动sd卡源码下载,规格37mmx39mm。
应用方向:充电桩、电池管理、能源管理的方向。
米尔基于STM32MP135核心板介绍链接:
3、米尔基于STM32MP135底板
米尔基于STM32MP135底板的外设资源以及插口就比较丰富和多样了。直接给出官方的信息:
轻松入门
早在2019年,ST就推出了STM32MPMP1系列MPU,其强悍的性能吸引了不少人的关注。但因为当时配套的开发资料以及生态不够健全,入手学习也难住了一大批人。
米尔设计这款米尔基于STM32MP135开发板时就考虑到了这个问题,在推出开发板的同时就推出了配套的开发资料。
在STM32MP135(MYD-YF13X)平台上跑Linux相比于普通STM32跑RTOS要复杂一点,须要具备一定的相关基础知识才行。
其实,米尔也针对菜鸟提供了配套的手把手教程,能让你快速入门。
开发介绍
MYD-YF13X搭载基于Linux5.15.67版本内核的操作系统,提供了丰富的系统资源和其他软件资源。Linux系统平台上有许多开源的系统建立框架,米尔核心板基于Yocto建立和多样化开发。
1、开发环境
第1步:获取源码
可以从米尔提供链接获取源码。
也可以从github在线获取源码。
PC$mkdir$HOME/githubPC$cd$HOME/githubPC$repoinit-u
--no-clone-bundle--depth=1-m
myir-stm32mp1-kirkstone.xml-bdevelop-yf13xPC$reposync
第2步:快速编译镜像
这儿我们须要使用米尔提供的envsetup.sh脚本进行环境变量的设置
PC$:DISTRO=openstlinux-westonMACHINE=myd-yf13x-emmcsource
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-jxvfMYiR-STM32-tf-a.tar.bz2PC$cdMYiR-STM32-tf-a
配置和编译源代码:加载SDK环境变量到当前shell:
PC$source
/opt/st/myir-yf13x/4.0.4-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
步入源代码目录:
PC$cdmyir-st-arm-trusted-firmware
配置与编译源代码:
PC$make-f$PWD/../Makefile.sdkall
以上是在独立的交叉编译环境下编译TF-A,也可以在Yocto项目下编译TF-A。
更新TF-A:编译好以后linux 驱动sd卡源码下载,将TF-A镜像烧写进MicroSD卡,之后使用dd命令将镜像烧写到SD卡指定分区:
PC$:ddif=tf-a-myb-stm32mp135x-512m-sdcard.stm32of=/dev/mmcblk0p1
conv=fdatasyncPC$:ddif=tf-a-myb-stm32mp135x-512m-sdcard.stm32of=/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$makeARCH=armO="$PWD/../build"myir_stm32mp135x_defconfig
编译内核:
PC$makeARCH=armuImagevmlinuxdtbsLOADADDR=0xC2000040
O="$PWD/../build"PC$makeARCH=armmodulesO="$PWD/../build"
这个配置可能相对比较复杂,编译时间也相对较长,具体可以参看官方指南。
5、适配硬件平台
这一节就是芯片底层相关的适配(驱动),包括创建设备树、利用STM32CubeMX配置GPIO、外设时钟等,以及配置自己用到的管脚。
之后,就是添加自己的一些应用了。到此,基本达到入门这一步了。
最后
假如你想从STM32单片机裸机、RTOS进阶到Linux,这款STM32MP135【MYC-YF13X开发板】是一个不错的选择。同时,也会用到一些熟悉的生态工具。
这儿给出米尔基于STM32MP135核心板介绍:
米尔电子红旗linux5.0,专注嵌入式处理器模块设计和研制的高新技术企业,是领先的嵌入式处理器模组厂商。米尔电子在嵌入式处理器领域具有10多年的研制经验,为顾客提供基于ARM构架、FPGA构架的CPU模组及充电控制系统等产品和服务;为智能医疗、智能交通、智能安防、物联网、边缘估算、工业网段、人工智能等行业顾客,提供订制解决方案和OEM服务。公司通过专业高效的服务帮助顾客加速产品上市进程,目前已为行业内10000家以上的企业顾客服务。