STM32MP157学习笔记
文章平均质量分 77
该专栏记录STM32MP157学习过程,争取21年完整学习计划,开栏监督
TNT_TT
7年搬砖经验,精修嵌入式、linux、yocto、ros
展开
-
yocto stm32mp1集成ros
stm32mp1 yocto集成ros原创 2023-09-05 00:48:02 · 665 阅读 · 0 评论 -
stm32mp1 uboot启动流程分析
stm32mp1 uboot结合yocto分析启动linux流程原创 2023-01-14 16:47:22 · 963 阅读 · 0 评论 -
linux使用pwm控制舵机
linux使用PWM控制舵机原创 2022-10-08 23:40:41 · 777 阅读 · 0 评论 -
基于正点原子MP157出厂内核和根文件系统快速开发
基于正点原子MP157开发板出厂源码快速开发原创 2022-08-07 23:55:52 · 557 阅读 · 0 评论 -
六、USB更新rootfs程序
USB更新rootfs程序背景添加新分区背景新开的板子去掉了有线连接,保留了wifi连接,经测试wifi能够正常连接网络,但是使用ssh无法登录进开发板,目前原因未知,这对开发板上调试应用程序带来了极大的挑战,不能每次修改一次QT界面都重新烧写根文件系统,这对开发调试来说是不可接受的。所以考虑使用板子的otg接口来模拟U盘,这样修改完的应用程序可以通过usb传输到根文件系统,提高开发效率。经测试otg功能识别后因为emmc的根文件系统的格式为ext3,在windows下无法正常识别,始终弹窗提示格式化原创 2022-03-07 00:55:19 · 777 阅读 · 0 评论 -
MP157 EMMC驱动分析
MP157 EMMC驱动分析最近使用原子mp157制作了自己的底板,然后调试板载功能,将之前tftp下载uimage和dtb打包成bootfs并从emmc启动过程中遇到问题,内核启动时会卡在如下位置:[ 3.411516] stm32f7-i2c 40015000.i2c: doesn't use DMA[ 3.418630] stm32f7-i2c 40015000.i2c: STM32F7 I2C-2 bus adapter[ 3.441446] stm32f7-i2c 5c0原创 2021-12-20 17:08:09 · 1192 阅读 · 0 评论 -
gdb调试QT程序
gdb调试QT程序背景配置生成core dump重新编译生成QT共享库背景最近自己使用第三方的屏幕在原子MP157开发板上测试,发现屏幕能够正常点亮,显示正常,但是主界面的触控却没有反应,因此怀疑TP的驱动IC是否有差异,TP驱动是否异常,所以开始了TP的调试工作。首先对比原理图发现原子的4.3寸触摸屏使用的tp ic是gt9147,我购买的反客4.3寸屏幕驱动IC是gt911,两者的驱动程序均是内核自带的goodix.c驱动程序,同时兼容多款gt系列IC,然后使用自带的tslib相关测试程序测试发现原创 2021-12-11 00:50:14 · 2802 阅读 · 0 评论 -
五、建立M4 rtos和A7 linux之间的通信
介绍上一小节已经成功运行了QT程序和M4 rtos程序,本小节旨在建立两个应用程序之间的通讯渠道。linux的程序我们可以通过正点原子板载的usb_ttl直接插上USB线来打印调试信息,但是M4内核程序还没有调试手段,所以我们先解决M4内核程序的调试问题。板载的usb_ttl接的是stm32mp157 的UART4,观察开发板给我们预留的排针接口里面只有一组UART7接口,这个是外接WIFI BT外设的,因为我们暂时还没有使用到这些,先把这组接口给M4当调试接口使用。配置M4 UART打印调试信息U原创 2021-11-07 21:03:51 · 1290 阅读 · 0 评论 -
四、编写QT测试程序和M4 rtos程序
介绍上小节使用我们自己编译的uboot kernel dtb 成功运行,并且使用nfs挂载了根文件系统,至此我们的开发基础条件已经完善,下面就可以编写我们的应用程序了,选择MP157就是看中了它A7双核加M4内核异构的形态,AP侧运行我们比较耗费算力的应用程序,M4内核运行rtos来处理时效性强的任务,合作分工,能够完成更多有意思的创造。本文将分三部分编写示例程序测试,分别是QT基础程序测试、Contex-M4 rtos应用程序测试和 QT程序控制M4固件程序运行及停止。达到真正意义上的异构产品开发形态。原创 2021-11-03 21:09:40 · 932 阅读 · 1 评论 -
三、编译出厂内核设备树并且以nfs形式挂载根文件系统
介绍硬件:正点原子MP157开发板烧录了出厂系统以后按照正点原子的文档测试一下基本的硬件功能是否正常以后就需要自己动手开发一些小东西,比如说添加其他硬件驱动、更换非正点原子的配件或者测试自己的QT小程序等等操作,而这些就需要修改到我们的代码部分了,常改的包括kernel内核 dts配置 或者QT根文件系统等等。因为正点原子出厂的系统相应的驱动支持还比较全面,所以本章节来编译正点原子提供的出厂uboot kernel代码,原子的出厂源码中给了linux5.4.31 uboot tfa三个部分的源码,但是T原创 2021-11-02 23:44:05 · 680 阅读 · 0 评论 -
二、STM32MP1更新固件
STM32MP1更新固件STM32MP1更新固件方式1. window下使用STM32CubeProgrammer固化Linux系统2. window下使用STM32CubeProgrammer固化Linux系统3. SD卡固化Linux系统STM32MP1更新固件方式万事开头难,工欲善其事必先利其器,下面介绍三种给MP1更新固件的办法,前两种方式都是通过stm32提供的工具来烧录固件,耗时较长,且操作麻烦,着重介绍第三种方式,SD烧录固件方式。1. window下使用STM32CubeProgram原创 2021-01-17 11:10:35 · 916 阅读 · 0 评论 -
一、STM32MP1相关介绍
STM32MP1相关介绍STM32MP1和STM32M4内核单片机区别STM32MP1内存分布STM32MP1和STM32M4内核单片机区别MP1中的M4内核没有flashMP1中的M4内核没有flash,所以无法将程序下载保存,MP1的做法是启动Linux以后去加载M4的bin文件,类似AP启动过程启动BP子系统。MP1中A7和M4公用外设资源MP1中A7和M4公用外设资源,部分资源只有A7可以访问,部分资源A7和M4公用,所以资源需要合理分配MP157有多种运行上下文:A7安全模式原创 2021-01-17 13:59:22 · 1180 阅读 · 4 评论 -
STM32MP157使用buildroot编译QT并且跑通QT demo应用程序
最近想用qt来做一些界面调试,按照正点原子的《STM32MP157出出厂系统Qt交叉编译环境搭建》搭建了Ubuntu18的QT开发环境,也能够正常编译QT程序,但是想在板子上验证demo程序时如下描述必须要在正点原子的出厂文件系统上验证,但是我已经使用了我自己的buildroot编译的文件系统,不想在折腾更换根文件系统,并且我后续调试都需求自己的根文件系统,所以下面研究如何在buildroot上编译QT5.12并且跑通qt demo app.1.buildroot编译Qt本部分查找部分博客,参考htt原创 2021-08-24 01:56:15 · 2354 阅读 · 0 评论