STM32MP135芯片简介STM32MP135微处理器是ST基于单Arm® Cortex®-A7内核设计的新一代MPU,运行频率可达1GHz。该产品系列具有一个专用的LCD-TFT并行显示接口,一个16位并行摄像头接口和双以太网端口。STM32MP13 MPU专门面向入门级Linux、裸机或RTOS系统设计,并已预先集成Microsoft Azure RTOS。STM32MP135系列提供3种不同的封装,支持实现高性价比PCB架构。 STM32MP135FDK开发板最近收到了与非网寄来的STM32MP135FDK开发板,刚好最近也在学习嵌入式Linux开发, 做几期测评和大家一起学习 套件内共包含开发板本体,一张16G闪迪SD卡,一个摄像头模块和排线 开发板正面十分简洁,分别是用户按键,BOOT设置开关,两个用户按键和拓展口 拓展口定义会在后面分析 开发板背面为一组USB2.0接口*4,两个网口,还有电源接口和一个摄像头接口 主板上还预留有一个TypeC的OTG接口, SD卡中已经提前烧录好了系统镜像,通过BOOT引脚设置为SD卡启动即可启动 板载的STLINKV3可以进行裸机开发,不过在实际应用中还是通过USB进行固件升级比较常用 通过查阅手册 MP135支持以下几种启动方式
手册中并未给出NANDflash的启动方式,只给出了SD卡启动 通过设置拨码开关 我们可以进入到预先烧写的系统中 开发环境搭建
ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译, 但是 Ubuntu 自带的GCC 编译器是针对 X86 架构的!而我们现在 要编译的是 ARM 架构的代码,所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架 构代码的 GCC 编译器 ST 推荐了两款通用交叉编译器,一个是 ARM 官方出品的:gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf,一个是 linaro 出品的:gcc-linaro-7.2.1-2017.11- x86_64_arm-linux-gnueabi.tar.xz,本教程我们使用 ARM 官方出品的交叉编译器。 下载好编译器后首先进行依赖库安装
安装好依赖库之后下载官方的SDK进行工具设置
将SDK解压至工作目录下 设置权限 执行脚本
最后别忘了source一下环境
到这步交叉编译环境就设置好了 如果有条件的话建议在实体机中部署Ubuntu 验证交叉编译环境首先查看一下交叉编译工具的版本号,输入如下命令:
我们用的是命令“gcc”。要使 用刚刚安装的交叉编译器的时候使用的命令是“arm-none-linux-gnueabihf-gcc”,“arm-none-linuxgnueabihf-gcc”的含义如下: 1、arm 表示这是编译 arm 架构代码的编译器。 2、none 表示厂商,一般半导体厂商会修改通用的交叉编译器,此处就是半导体厂商的名 字,ARM 自己做的交叉编译这里为 none,表示没有厂商。 3、linux 表示运行在 linux 环境下。 4、gnueabihf 表示嵌入式二进制接口,后面的 hf 是 hard float 的缩写,也就是硬件浮点,说 明此交叉编译工具链支持硬件浮点。 5、gcc 表示是 gcc 工具。 检查目标体系结构
检查目标工具的工具链二进制前缀
检查 C 编译器版本
完成以上步骤就完成了交叉编译环境搭建, 下一期会讲解如何创建一个Hello Word程序并在开发板上运行起来 |
在 STM32MP13x 系列 MPU 上裸跑应用程序
《STM32MPU安全启动》学习笔记+STM32MP系列mpu安全启动解析
《STM32MPU安全启动》学习笔记 - STM32MPU安全启动学**结
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题
刘氓兔的64位入门挑战【2】——MP257和cubemx
实战经验 | 从CubeMX下载生成STM32元件封装库
【STEVAL-STWINKT1B测评】1、点亮LED
STM32新增安卓支持 — OpenSTDROID,开启MPU应用新格局
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
刘氓兔的64位入门挑战【0】——MP257选型