ST77903 QSPI + STM32H750 + RTThread + LVGL(一)

ST77903 QSPI + STM32H750 + RTThread + LVGL

概述

CSDN是目前国内当之无愧的技术论坛,会员做了好多年,第一次发文章,主要自己太懒。。。。。

先来个广告吧,谁叫自己是领薪水的呢。。。。。
在这里插入图片描述
在这篇文章开始的时候,调试的工作其实已经开始了几天,其中走了一些弯路,发现了一些应用上的小问题,幸好有一帮好同事,一一探讨解决,最起码现在显示屏已经可以漂亮的显示一些纯色画面了。

硬件平台开始用的是STM32L432,性能实在太勉强,出现一堆奇奇怪怪的显示问题,开始还以为是时序上的不匹配,反反复复的调试,时序波形一段段反复确认,最后怀疑这颗芯片性能实在比较普通,无法稳定驱动DMA+QSPI连续发送显示屏数据,事实证明,推断是正确的,必须是H750呀

软件环境肯定是优选国内的开源RT-Thread,原因很简单,RT-Thread已经发展15年以上,国内开源,完全免费,而且生态环境,MDK,IAR都无法比拟,以前还会担忧,万一哪天老美不让我们用MDK, IAR了,我们老码农要怎么办,现在完全不用担心了,RT-Thread把整个开发IDE都做了,不管cortex-A,还是cortex-M,都可以在上面直接开发,代码架构是linux风格,非常的舒爽。。。。。只要你用上了rtt,根本不会再愿意回到一个无限while

显示屏底层好了之后干啥? 显示一个红绿蓝,对实际客户基本不会没太大帮助,做好底层接口,然后再加个上层DEMO,才是有意义的。上层架构用啥UI,LVGL用过吗?最近几年在国内好流行,比起之前的emwin,qt等等,实在好用很多,国外开源,资源占用不多,代码风格非常漂亮,作者软件实力真心非常厉害,以前看到的软件库,常常看到一堆调用的外部API,好像功能很复杂,其实很不好用,不好上手,但是lvgl,作者用了极少了外部API,但是实现了强大效果功能,越简单才是越难的。。。。能让用户一个函数搞定的事情,就不要提供两个,造成无须有的困扰。

ST77903

ST77903是一颗LCD驱动IC,矽创科技为了穿戴和移动应用,开发的一款有特色的高性价比显示屏驱动芯片,最近刚好到手一块圆形,400x400分辨率,RGB888的显示屏,趁此机会,对该IC做一个系统应用上的开发和测试,也方便给客户提供一些应用上的参考!

在穿戴应用上,分辨率从128x128到400x400,为了简化硬件,基本都选择了SPI或MIPI接口,事实证明,SPI 50MHZ驱动128x128到240x240的RGB565,是可以胜任的,但是300x300开始之后,基本就很难到达流畅效果了,更别说400x400的RGB888了。

这个时候,以前只有一个选择,就是MIPI,可是具备MIPI的平台,一般都比较高阶,类似cotex-A,成本也高,硬件和系统都上了很大一个台阶,不太具有性价比。可是现在很多平台有QSPI啊,相对SPI的1根DATA,QSPI有4根DATA,这样整体效能就有了很提升。

之前的QSPI都是专门针对FLASH芯片的,给平台提供存储和运行代码,矽创利用QSPI与FLASH之间的通讯时序,很好的把LCD驱动时序融入进去,平台以为外部是FLASH,其实是一个显示屏啊,只是FLASH的时候,大多时候都在读,现在大多时候都在写。。。。。

STM32H750

意法半导体cortex-M7,400MHz主频,128K flash,1MByte RAM,QSPI,DMA…
和我们显示屏最相关的参数,除了速度,还有AXI SRAM,QSPI, MDMA都在D1总线域, 对于驱动ST77903极具效率,最主要的就是内部一整块512K RAM了, 因为我们刚好需要一块400x400x3=480K的RAM作为显示缓冲!

硬件环境

在这里插入图片描述
找一块之前做的显示屏电源板,拆掉上面的QSPI W25Q flash,把qspi的cs,clk,d0~d3都飞线到转接板,另外再飞线两个GPIO,一个作为RESET,一个后面调试中会用到
在这里插入图片描述
接上LA,连上JLINK,上电,现在当然已经亮了。。。。呵呵,开始不亮的时候,也有那么两三天

今天有些晚了,下次我们继续真正的调试内容

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
STM32H750 QSPI烧录算法是指在STM32H750芯片上通过QSPI接口进行固件烧录的一种算法。 首先,要使用QSPI烧录算法,我们需要确保 QSPI 接口在 STM32H750 的引脚映射正确,并且芯片的相关寄存器设置正确。 接下来,我们可以通过以下步骤来完成烧录: 1. 准备好固件文件:将需要烧录的固件文件准备好,并确保其格式正确。 2. 初始化 QSPI 接口:通过配置 STM32H750 的相应寄存器,初始化 QSPI 接口。这包括设置 QSPI 的时序参数、FIFO 模式、Dummy 地址周期等。 3. 配置 Flash 写入使能:根据 Flash 的型号和规格,正确配置 Flash 的写入使能位。这些配置可能包括手册中的擦除和编程命令。 4. 发送擦除命令:使用 QSPI 接口发送擦除命令,擦除需要烧录的 Flash 区域。 5. 校验擦除结果:读取 Flash 中的数据,确认擦除是否正确。如果存在错误,可能需要重新执行擦除步骤。 6. 发送编程命令:使用 QSPI 接口发送编程命令,将固件数据烧录到 Flash 中。 7. 校验烧录结果:读取 Flash 中的数据,与固件文件进行对比,确认烧录是否成功。如果存在错误,可能需要重新执行编程步骤。 8. 关闭 QSPI 接口:完成烧录后,可以关闭 QSPI 接口,释放相关资源。 总结来说,STM32H750 QSPI烧录算法涉及到引脚映射、QSPI接口初始化、Flash写入使能配置、擦除命令发送与校验、编程命令发送与校验等步骤。实施该算法可以实现对STM32H750芯片的固件烧录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值