最近在学习一下ST的openSTlinux的使用,基于stm32mp135f-dk进行了前期工作。 1、虚拟机我习惯使用Oracle VM VirtualBox,这个软件免费,安装也比较简单一些。下载安装ubuntu-24.04.1,虚拟机尽量配置为4核,内存根据实际电脑进行选择,一般4G就够了,允许的条件可以配置为8G。内核不要拉满,会导致Windows系统卡死的。 2、下载stm32mp1的源码及安装包。github下载最新的源码。ST的官网上下载stm32mp1的SDK(en.SDK-x86_64-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar)和en.SOURCES-kernel-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17.tar.xz。下载完毕后,可以通过命令或者界面操作解压这两个压缩包。在n.SOURCES-kernel-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17中包含README.HOW_TO.txt文件,按照这个文件的步骤进行环境安装。 移动网络会有时候打不开github,可以在网上搜索移动网络github配置,按照添加github的ip地址就可以使用了。 3、安装环境。按照README.HOW_TO.txt文件进行环境安装,我使用的是Ubuntu,按照Ubuntu将主要工具下载并安装。 sudo apt-get install libncurses5-dev libncursesw5-dev libyaml-dev sudo apt-get install u-boot-tools sudo apt-get install libyaml-dev 如果需要使用git进行代码管理,可以安装git。文件中介绍了如何配置用户信息和git,需要的可以根据文件进行配置。 sudo apt-get install git-core gitk 4、设置SDK环境,最初我找不到这个路径,该处也没有介绍如何安装SDK,网上搜索到其他网友的操作,需要进行安装才可以找到该路径。在SDK的解压路径下,执行.sh进行安装,如下 $ sh ./st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.sh 执行该指令后,会提示安装的位置,输入需要安装的位置后,再次输入Y确认安装位置。如果不输入,会安装到默认的位置,命令窗口会提示安装的位置,需要记住这个位置。后面设置环境变量会用到。等待完成安装。 安装完毕后,输入设置环境变量的指令,<path to SDK>是上述安装路径: source <path to SDK>/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi 检查环境变量: $ set | grep CROSS 回复CROSS_COMPILE=arm-ostl-linux-gnueabi- 是设置成功。注意环境变量设置是单次有效,如果关闭terminal后,下次使用需要重新设置。 5、设置内核代码。解压下载好的内核代码(linux-6.6-stm32mp.zip)。进入根目录,输入以下指令进行, <path to patch>是en.SOURCES-kernel-stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17.tar.xz解压后的路径。有提示一些信息,我按照默认选择,回车略过。 for p in 按照说明文档在linux-6.6-stm32mp目录下面操作建立输出文件夹: mkdir -p ../build 配置文件 make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.config 如果配置文件时,会产生很多的fragments提示,如下图: 此时需要按照说明选择其中一个进行配置。我选择输入以下命令: for f in yes '' | make ARCH=arm oldconfig O="$PWD/../build" 接下来输入下列命令开始编译kernel,该过程比较长,需要慢慢等待。依次执行下列命令。 make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040 O="$PWD/../build" make ARCH=arm modules O="$PWD/../build" make ARCH=arm INSTALL_MOD_PATH="$PWD/../build/install_artifact" modules_install O=" $PWD/../build" mkdir -p $PWD/../build/install_artifact/boot/ cp $PWD/../build/arch/arm/boot/uImage $PWD/../build/install_artifact/boot/ cp $PWD/../build/arch/arm/boot/dts/st/st*.dtb $PWD/../build/install_artifact/boot/ 执行完毕后,可以在install_artifact/boot/文件中看到uImage 经过半天的操作,终于把环境搭建完毕。 |
linux eclipse编译后自动更新程序
eclipse编写stm32mp135配置
eclipse编写stm32mp135程序
STM32MP135F-DK 开箱测试
《STM32MPU安全启动》学习笔记之uboot如何校验kernel和如何使能校验
《STM32MPU安全启动》学习笔记 1.0 介绍
在 STM32MP13x 系列 MPU 上裸跑应用程序
聊聊 STM32 MPU OpenSTLinux 实时扩展包 X-LINUX-RT
STM32开发板推荐 | 支持裸跑的米尔STM32MP135开发板,响应硬实时需求
最新消息:意法半导体最具性价比、速度最快的单核MPU STM32MP13现已支持运行RTOS!意法半导体兑现了之前的承诺!