打印
[STM32MP1]

STM32也能轻松跑Linux了 !米尔STM32MP135核心板开发板体验

[复制链接]
2492|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#每日话题#
上个月,意法半导体推出了新一代64位Cortex-A35内核,主频高达1.5GHz的STM32MP2x系列微处理器(MPU),这让STM32MP系列处理器又上了一个新的台阶。
最近,收到了一套米尔基于STM32MP135核心板及开发板,首次接触STM32MPx处理器,体验了一下,感觉还不错。

STM32MP135与普通STM32单片机在性能、价格、应用场景等各方面都有差异。同时,STM32MP135并非局限于裸机、RTOS,而是定位于更高的Linux操作系统平台。
下面就结合【米尔基于STM32MP135核心板及开发板】给大家讲解一下STM32MP135强悍的性能以及开发入门等相关的内容。

硬件平台介绍
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。

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


米尔基于STM32MP135核心板介绍链接:
https://www.myir.cn/shows/110/57.html

3、米尔基于STM32MP135底板
米尔基于STM32MP135底板的外设资源以及接口就比较丰富和多样了。直接给出官方的信息:
轻松入门
早在2019年,ST就推出了STM32MP1系列MPU,其强大的性能吸引了不少人的关注。但由于当时配套的开发资料以及生态不够完善,入手学习也难住了一大批人。
米尔设计这款米尔基于STM32MP135开发板时就考虑到了这个问题,在推出开发板的同时就推出了配套的开发资料。

在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步:获取源码
可以从米尔提供链接获取源码。http://down.myir-tech.com/MYD-YF13X/
也可以从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开发板】是一个不错的选择。同时,也会用到一些熟悉的生态工具。
这里给出米尔基于STM32MP135核心板介绍:
https://www.myir.cn/shows/110/57.html
米尔电子,专注嵌入式处理器模块设计和研发的高新技术企业,是领先的嵌入式处理器模组厂商。米尔电子在嵌入式处理器领域具有10多年的研发经验,为客户提供基于ARM架构、FPGA架构的CPU模组及充电控制系统等产品和服务;为智能医疗、智能交通、智能安防、物联网、边缘计算、工业网关、人工智能等行业客户,提供定制解决方案和OEM服务。公司通过专业高效的服务帮助客户加速产品上市进程,目前已为行业内10000家以上的企业客户服务。


使用特权

评论回复
沙发
yangxiaor520| | 2023-7-1 11:15 | 只看该作者
ST这是也要发力MPU市场啊

使用特权

评论回复
板凳
Undshing| | 2023-7-1 22:07 | 只看该作者
性价比怎么样?

使用特权

评论回复
地板
jtracy3| | 2023-7-5 10:07 | 只看该作者
Linux操作系统通常需要较大的存储空间和内存以及复杂的硬件支持。

使用特权

评论回复
5
mollylawrence| | 2023-7-5 11:06 | 只看该作者
STM32MP135堪比大型芯片了。

使用特权

评论回复
6
chenci2013| | 2023-7-5 11:51 | 只看该作者
普通STM32单片机可以吗?              

使用特权

评论回复
7
macpherson| | 2023-7-5 12:07 | 只看该作者
STM32微控制器通常具有较小的存储容量和有限的RAM,无法满足运行Linux所需的最低系统要求。

使用特权

评论回复
8
uptown| | 2023-7-5 12:31 | 只看该作者
Linux是一个功能强大的操作系统,需要较大的内存和处理器资源来运行。

使用特权

评论回复
9
albertaabbot| | 2023-7-5 13:57 | 只看该作者
STM32系列微控制器通常不适合直接运行Linux操作系统。

使用特权

评论回复
10
mickit| | 2023-7-5 14:57 | 只看该作者
stm32上跑uclinux有可行性吗?

使用特权

评论回复
11
10299823| | 2023-7-5 15:07 | 只看该作者
FreeRTOS、μC/OS、Zephyr等 系统针对嵌入式设备进行了优化,提供了实时性能和低功耗特性,并且能够满足许多应用的需求。

使用特权

评论回复
12
ingramward| | 2023-7-5 15:24 | 只看该作者
中端高配的芯片性能已经很强了,跑完整Linux没问题。

使用特权

评论回复
13
xiaoyaodz| | 2023-7-5 15:45 | 只看该作者
STM32MP135核心板怎么样

使用特权

评论回复
14
loutin| | 2023-7-5 16:24 | 只看该作者
怎样搭建stm32开发环境               

使用特权

评论回复
15
ccook11| | 2023-7-5 16:35 | 只看该作者
选择适合运行Linux的高性能处理器

使用特权

评论回复
16
mikewalpole| | 2023-7-5 16:59 | 只看该作者
STM32MP2x这么强大吗?              

使用特权

评论回复
17
AloneKaven| | 2023-7-5 17:45 | 只看该作者
chenci2013 发表于 2023-7-5 11:51
普通STM32单片机可以吗?

要裁剪才行

使用特权

评论回复
18
kkzz| | 2023-7-6 15:11 | 只看该作者
ucos、freertos、RTOS等等都可以。但要跑windows、linux或者安卓什么的就免了。

使用特权

评论回复
19
everyrobin| | 2023-7-6 15:21 | 只看该作者
以在STM32上运行一些轻量级的操作系统或者类似Linux的嵌入式系统

使用特权

评论回复
20
bartonalfred| | 2023-7-6 17:08 | 只看该作者
可以通过选择适合的轻量级操作系统来满足各种需求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

31

帖子

2

粉丝