STMCU小助手
发布时间:2021-8-20 14:33
|
一.准备工具/软件; P, F" P9 \! q6 O4 K+ k6 o6 ^ + |- E2 G; w8 P2 n; s stm32mp157a-dk1开发板1 a1 ~$ W6 ~3 w. d5 m1 Z OLED IIC接口,4线(3V3,GND,SCL,SDA) STM32CubeMP1源码,github下载地址9 d1 e! |( L; F5 `; M& v* O https://github.com/STMicroelectronics/STM32CubeMP19 N9 j! m( H+ ? 5 V) }. u# b, _: q H0 s5 `# f7 J 二.硬件连接& k7 O; p4 n# T* W! G. W8 O stm32mp157a-dk1开发板预留了CN2 2x20 排针,信号定义如下图,这里取PIN1,PIN3,PIN5,PIN39 与OLED模块连接。
3 j( P8 |) x2 S# n7 P8 b& B" [7 t # d# G0 J! X Q. ]( H4 v+ Q P 三. STM32CubeMP1源码下载后,目录如下。这里使用GPIO源码工程为基础进行修改支持OLED, 主要是考虑方便,省去重新创建工程的时间。
- Q2 I) D& Q7 h6 p- r1 p( h 四.工程代码0 j# i; x* t6 ]! ]( o8 m6 L 工程代码有移植了keil版本的和cube IDE版本两者。由于两者编译器类型不同。keil版本的代码通过仿真器直接下载代码到M4 核,利用了工程模式。工程模式设置B2:B1:B0状态为100;+ e6 c' ~6 y7 |' Q2 I! E# C 而在cubeIDE中是编译linux系统中的可执行文件。A7核运行linux后,启动M4执行该文件。属于正常启动模式。! q) S; d3 |6 s) R% c9 Z0 x
2 q" J3 D r+ u9 u 4.1 keil工程编译,由于使用Keil编译的二进制文件是axf格式的,设置STM32MP157A-DK1 为工程模式,下载仿真。 MDK-ARM调试stm32mp157具体请参考st官方文档, 这里提供了下载地址https://download.csdn.net/download/amd1217/12634117
/ |5 x( P5 J: D& N 5 V) f7 f, w7 K3 O2 X4 e( g 4.2 使用STM32CubeIDE 1.3.0编译工程。STM32CubeIDE基于GCC编译器,可以直接生成elf格式的文件。在linux运行后,通过A7调用M4核运行elf文件。
" H9 i0 d! n0 _( i 五. 实验结果) s& o! G0 w; ?; B5 i$ }, w1 o linux下启动M4核,命令如下, W6 A+ S" h- n; L, Y6 B! \
OLED点亮。) L' G' n" }3 f+ @( ^7 m/ a
, f/ P% }. n8 n0 f4 L* t |
STM32MP157双A核Linux + 自研RTOS双系统镜像免费下载
扩展STM32微处理器,实现高性价比、低功耗和灵活性能
STM32MP1 自举程序编程:USB DFU/USART 协议全解析
兔哥心中的ST中文论坛
我心中的ST中文论坛
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
深度拆解 STM32MP1 Boot 链路
STM32串口自动识别波特率的原理
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
STM32--STM32 微控制器详解
微信公众号
手机版