草庐IT

SPI_Flash

全部标签

海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)

海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022SPI控制器)我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为st7789,分辨率240x240,图像格式RGB565。查阅海思相关手册可知,Hi3516EV200的SPI最高速率为50MHz,理论上每秒钟可以发送50M/8=6.25MB数据。假设我需要在屏幕上以30fps的速率全屏实时显示摄像头的预览画面,每秒的数据量为240*240*2*30=3456000B=3375KB=3.296MB,假设SPI工作在阻塞模式,则cpu使用率为3.296/6.25*100%=52.7%,看起来还不错。如果我想进一

痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位)

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是一个关于SeggerJ-Flash在MicronFlash固定区域下载校验失败的故事。  痞子衡最近在支持一个i.MXRT1170欧美客户,客户项目里选用了来自Micron的四线NORFlash-MT25QL256ABA8E12-0AAT作为启动设备,一般读写倒是没有问题,但是在SeggerJ-Flash下烧写遇到了特定区域内校验失败的问题。  从痞子衡过往丰富的Flash支持经验来看,亚太区客户一般选用ISSI(芯成)/Winbond(华邦)/MXIC(旺宏)/GigaDevices(兆易创新)的Flash比较多,痞子衡对这些

痞子衡嵌入式:一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位)

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是一个关于SeggerJ-Flash在MicronFlash固定区域下载校验失败的故事。  痞子衡最近在支持一个i.MXRT1170欧美客户,客户项目里选用了来自Micron的四线NORFlash-MT25QL256ABA8E12-0AAT作为启动设备,一般读写倒是没有问题,但是在SeggerJ-Flash下烧写遇到了特定区域内校验失败的问题。  从痞子衡过往丰富的Flash支持经验来看,亚太区客户一般选用ISSI(芯成)/Winbond(华邦)/MXIC(旺宏)/GigaDevices(兆易创新)的Flash比较多,痞子衡对这些

痞子衡嵌入式:RT-MFB - 一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是一种灵活的i.MXRT下多串行NORFlash型号选择的量产方案。  对于以i.MXRT这类没有内部NVM(Non-VolatileMemory)的MCU为主控的项目来说,为其选配一颗NVM作为代码存储器是头等大事,而串行NORFlash是最常见的NVM选择。串行NORFlash要能被i.MXRT正常启动,其固定偏移处(0x0/0x400)一般要求放置一个配套启动头(FDCB),系统上电BootROM会用30MHz1bitSPISDR时序模式去读取这个启动头来获取当前Flash的相关属性(主要是用户设定的时序模式)从而进一步配

痞子衡嵌入式:RT-MFB - 一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是一种灵活的i.MXRT下多串行NORFlash型号选择的量产方案。  对于以i.MXRT这类没有内部NVM(Non-VolatileMemory)的MCU为主控的项目来说,为其选配一颗NVM作为代码存储器是头等大事,而串行NORFlash是最常见的NVM选择。串行NORFlash要能被i.MXRT正常启动,其固定偏移处(0x0/0x400)一般要求放置一个配套启动头(FDCB),系统上电BootROM会用30MHz1bitSPISDR时序模式去读取这个启动头来获取当前Flash的相关属性(主要是用户设定的时序模式)从而进一步配

STM32的SPI口的DMA读写[原创www.cnblogs.com/helesheng]

SPI是我最常用的接口之一,连接管脚仅为4根;在常见的芯片间通信方式中,速度远优于UART、I2C等其他接口。STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输。但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择。为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或批评指正。先直接上我得到结论:1、运用STM32的SPI口的DMA的功能,能够提升STM32与外设之间

STM32的SPI口的DMA读写[原创www.cnblogs.com/helesheng]

SPI是我最常用的接口之一,连接管脚仅为4根;在常见的芯片间通信方式中,速度远优于UART、I2C等其他接口。STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输。但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择。为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或批评指正。先直接上我得到结论:1、运用STM32的SPI口的DMA的功能,能够提升STM32与外设之间

痞子衡嵌入式:在i.MXRT启动头FDCB里使能串行NOR Flash的QPI/OPI模式

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是在FDCB里使能串行NORFlash的QPI/OPI模式。  我们知道Flash读时序里有五大子序列CMD+ADDR+MODE+DUMMY+READ,前面的文章中痞子衡讲过《串行NORFlash的Continuousread模式》,Continuousread模式是为了在适当的情况下精简掉连续读访问里的后续CMD子序列,它可以进一步提高Flash访问性能,这已经是极限了吗?其实没有,还差最后一招,那就是痞子衡今天要讲的QPI/OPI模式。一、什么是QPI/OPI模式?  截至到目前为止,不管是四线Flash还是八线Flash,

痞子衡嵌入式:在i.MXRT启动头FDCB里使能串行NOR Flash的QPI/OPI模式

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是在FDCB里使能串行NORFlash的QPI/OPI模式。  我们知道Flash读时序里有五大子序列CMD+ADDR+MODE+DUMMY+READ,前面的文章中痞子衡讲过《串行NORFlash的Continuousread模式》,Continuousread模式是为了在适当的情况下精简掉连续读访问里的后续CMD子序列,它可以进一步提高Flash访问性能,这已经是极限了吗?其实没有,还差最后一招,那就是痞子衡今天要讲的QPI/OPI模式。一、什么是QPI/OPI模式?  截至到目前为止,不管是四线Flash还是八线Flash,

某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别

大家好,我是三友~~今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的原理和区别。什么是SPISPI全称为ServiceProviderInterface,是一种动态替换发现的机制,一种解耦非常优秀的思想,SPI可以很灵活的让接口和实现分离,让api提供者只提供接口,第三方来实现,然后可以使用配置文件的方式来实现替换或者扩展,在框架中比较常见,提高框架的可扩展性。简单来说SPI是