STM32也能轻松跑Linux了 !STM32MP135核心板开发板评测

发布时间:2023-06-29  

上个月,意法半导体推出了新一代64位Cortex-A35内核,主频高达1.5GHz的STM32MP2x系列微处理器(MPU),这让STM32MP系列处理器又上了一个新的台阶。

最近,收到了一套米尔基于STM32MP135核心板及开发板,首次接触STM32MPx处理器,体验了一下,感觉还不错。

 

image.png


STM32MP135与普通STM32单片机在性能、价格、应用场景等各方面都有差异。同时,STM32MP135并非局限于裸机、RTOS,而是定位于更高的Linux操作系统平台。


下面就结合【米尔基于STM32MP135核心板及开发板】给大家讲解一下STM32MP135强悍的性能以及开发入门等相关的内容。


硬件平台介绍


STM32MP135的开发板有很多,这里就以米尔的【米尔基于STM32MP135核心板及开发板】为例来给大家讲述。


1、STM32MP135处理器STM32MP135内核采用Cortex-A7,主频高达1.0GHz,属于入门级的MPU,拥有超高的性价比。

 

image.png


2、米尔基于STM32MP135核心板米尔基于STM32MP135核心板主控位STM32MP135处理器,搭载DDR3L内存、标配4GB eMMC / 256MB Nand FLASH,以及32KB EEPROM,接口类型为邮票孔148PIN,尺寸37mm x 39mm。 


image.png

应用方向:充电桩、电池管理、能源管理的方向。


3、米尔基于STM32MP135底板米尔基于STM32MP135底板的外设资源以及接口就比较丰富和多样了。直接给出官方的信息:

 

image.png


轻松入门


早在2019年,ST就推出了STM32MP1系列MPU,其强大的性能吸引了不少人的关注。但由于当时配套的开发资料以及生态不够完善,入手学习也难住了一大批人。

米尔设计这款米尔基于STM32MP135开发板时就考虑到了这个问题,在推出开发板的同时就推出了配套的开发资料。

 

image.png

在STM32MP135(MYD-YF13X)平台上跑Linux相比于普通STM32跑RTOS要复杂一点,需要具备一定的相关基础知识才行。


当然,米尔也针对新手提供了配套的手把手教程,能让你快速入门。


开发介绍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/../build"PC$ make ARCH=arm modules O="$PWD/../build"

这个配置可能相对比较复杂,编译时间也相对较长,具体可以参看官方手册。


5、适配硬件平台这一节就是芯片底层相关的适配(驱动),包括创建设备树、利用STM32CubeMX 配置GPIO、外设时钟等,以及配置自己用到的管脚。


然后,就是添加自己的一些应用了。到此,基本达到入门这一步了。


最后


如果你想从STM32单片机裸机、RTOS进阶到Linux,这款STM32MP135【MYC-YF13X开发板】是一个不错的选择。同时,也会用到一些熟悉的生态工具。




文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>