CN114035853B - 具备spi接口的mcu引导***及芯片 - Google Patents
具备spi接口的mcu引导***及芯片 Download PDFInfo
- Publication number
- CN114035853B CN114035853B CN202111359951.4A CN202111359951A CN114035853B CN 114035853 B CN114035853 B CN 114035853B CN 202111359951 A CN202111359951 A CN 202111359951A CN 114035853 B CN114035853 B CN 114035853B
- Authority
- CN
- China
- Prior art keywords
- mcu
- state machine
- machine circuit
- read
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及具备SPI接口的MCU引导***及芯片,MCU引导***包括状态机电路和两个交替缓存区;状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从flash存储器读取引导指令段;当状态机电路先后读取的两个引导指令段是连续时,将先后读取的两个引导指令段送入其中一个交替缓存区,再将同一个交替缓存区内先后接收的两个引导指令段依次发送给MCU;否则将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区,在该工作状态下,所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,然后所述另一个交替缓存区将接收的一个引导指令段发送给MCU。
Description
技术领域
本发明涉及MCU引导启动的技术领域,尤其涉及具备SPI接口的MCU引导***及芯片。
背景技术
为了满足通信设备高性能、低成本的要求,NorFlash(或非门非易失存储闪存),作为当前一种非易失闪存,由于其可以在芯片内执行的特点,相对于另一种非易失闪存NandFlash(与非门非易失存储闪存)更适合作为启动程序的存储介质使用。
NorFlash主要采用SPI串行接口(SPI是serial peripheral interface,串行***设备接口);NorFlash的SPI接口的信号线的数量较少,***设计简单,故很适合于在手机、平板、小型轮式机器人(比如宠物机器人、不倒翁机器人、室内清洁机器人)等智能移动终端产品中作为数据存储设备,但是,对于需要按周期升级功能的智能移动终端产品而言,现存的智能移动终端产品中的微控制器单元(Micro Control Unit,MCU)还不能支持使用NorFlash作为引导程序的载体,即不能使用NorFlash内部的引导程序数据来引导所述微控制器单元启动执行功能升级的任务。
发明内容
针对以上问题,本发明的目的在于提供具备SPI接口的MCU引导***及芯片,实现利用flash存储器内置一套默认的引导命令来支持MCU,满足引导MCU启动、引导配置MCU、以及引导MCU升级的需求。具体的技术方案如下:
具备SPI接口的MCU引导***,所述MCU引导***包括状态机电路和两个交替缓存区;状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从该flash存储器中读取出引导指令段,其中,状态机电路存在以下的工作状态跳转:当状态机电路先后读取的两个引导指令段是连续时,触发状态机电路进入连续访问状态,状态机电路用于在连续访问状态下将先后读取的两个引导指令段送入其中一个交替缓存区,再将所述其中一个交替缓存区内先后接收的两个引导指令段依次发送给MCU,以引导MCU启动;当状态机电路先后读取的两个引导指令段不是连续时,触发状态机电路进入分支访问状态,状态机电路用于在分支访问状态下将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区;状态机电路还用于在分支访问状态下,先触发所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,再触发所述另一个交替缓存区将接收的一个引导指令段发送给MCU,以避免在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
进一步地,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;若先后读取的第一引导指令段和第二引导指令段不是连续,且先后读取的第二引导指令段和第三引导指令段不是连续的情况下,所述状态机电路用于在分支访问状态下,将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区,然后将第三引导指令段送入第一交替缓存区;所述状态机电路还用于在分支访问状态下,先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将第二引导指令段发送给MCU,然后触发第一交替缓存区将第三引导指令段发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
进一步地,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;若所述状态机电路先后读取的第一引导指令段和第二引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,所述状态机电路在所述分支访问状态下将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区;然后,若所述状态机电路先后读取的第二引导指令段和第三引导指令段是连续时,所述状态机电路由所述分支访问状态跳转至所述连续访问状态下,所述状态机电路在所述连续访问状态下将第三引导指令段送入第二交替缓存区;所述状态机电路还用于先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将先后接收的两个引导指令段依次发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
进一步地,所述状态机电路连续两次读取到的引导指令段之间是连续时,所述状态机电路进入所述连续访问状态下,再控制连续两次读取到的引导指令段存入同一个交替缓存区,直至所述状态机电路当前连续两次读取到的引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,并控制最新一次读取到的引导指令段存入另一个交替缓存区。
进一步地,将一个交替缓存区内的一个引导指令段送往MCU的过程中,同步将另一个引导指令段送入该交替缓存区内或另一个交替缓存区内;所述两个交替缓存区分别位于所述MCU引导***内的不同的存储空间中;其中,所述状态机电路对先后读取到的两个引导指令段的处理过程所耗费的时间配置为一个时序周期,所述处理过程包括将所述先后读取到的两个引导指令段发送往对应的交替缓存区、以及将所述先后读取到的两个引导指令段从对应的交替缓存区送往MCU。
进一步地,所述状态机电路的内部设置一个SPI接口;所述flash存储器的SPI接口的各个功能引脚通过SPI总线分别与所述状态机电路的SPI接口的对应功能引脚连接;所述flash存储器的SPI接口被配置为4线读模式,以使得所述状态机电路的SPI接口也适应性地调整为4线读模式;其中,所述状态机电路的SPI接口的写保护引脚和保持引脚都配置为数据输入端,以在一个SPI接口内形成4根具备并行收发数据功能的数据线,实现在一个时钟周期内读取一个引导指令段;其中,所述状态机电路用于将其SPI接口的4线读模式中的4个数据输入端并行接收的引导指令段对应的二进制数进行并串转换,再传输给对应的一个交替缓存区;其中,所述交替缓存区是使用串行接口收发数据。
进一步地,所述状态机电路先后读取的两个引导指令段是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址是连续的;所述状态机电路先后读取的两个引导指令段不是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址不是连续的,进而确定在后读取的一个引导指令段相对于在先读取的一个引导指令段发生跳转;其中,引导指令段是预先存入所述flash存储器内的引导程序数据,该引导程序数据配置所述MCU的升级请求端口进入引导模式。
进一步地,在所述两个交替缓存区中,当任一个交替缓存区没有剩余缓存空间时,停止从所述flash存储器继续读取所述引导指令段,并将所述flash存储器配置为写保护状态。
进一步地,所述状态机电路通过SPI总线读取所述引导指令段的速率大于所述MCU从所述交替缓存区中提取所述引导指令段的速率。
进一步地,当所述MCU被引导启动后,所述MCU内的升级程序还用于接管所述状态机电路的SPI接口,以使得所述MCU通过该SPI接口及其连接的SPI总线,对所述flash存储器进行读写操作,以减少不同总线传输之间的数据转换。
一种芯片,该芯片内部设置所述的具备SPI接口的MCU引导***。
与现有技术相比,本发明的有益技术效果在于,设计两个交替缓存区,并结合状态机电路自身存在的工作状态调度机制,去应对先后读取的两个引导指令段之间的连续情况,使得大部分MCU能够支持以SPI NorFlash引导启动,进而实现MCU升级,具体实现使用两个交替缓存区分别缓存先后读取到的两个不连续的引导指令段,且使用一个交替缓存区分别缓存先后读取到的两个连续的引导指令段,减少因代码跳转频繁而出现程序运行异常的概率;进而缩短了使用这些不支持SPI NorFlash引导的部分MCU的小型轮式机器人(比如宠物机器人、不倒翁机器人)的升级周期。
附图说明
图1为本发明一实施例公开的具备SPI接口的MCU引导***、具备SPI接口的flash存储器(SPI flash)及MCU的连接示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。以下实施方式中所涉及到的各单元模块均为逻辑电路,一个逻辑电路可以是一个物理单元、也可以是由多个逻辑器件按照一定的读写时序和信号逻辑变化组合而成的状态机,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本发明实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本发明实施方式中不存在其它的单元。
在现有技术中,MCU通常无法直接访问外设的flash存储器(闪存),特别是在对一些由MCU主控的小型便携式的智能设备开发功能或升级功能时,受限于数据通讯接口的兼容性,目前还不能较好地让具备串行***接口(SPI接口)的或非门的闪存、以及具备串行***接口(SPI接口)的与非门闪存作为存储引导程序数据的存储介质,这些小型的智能设备的MCU的内部中也缺少必要的软件驱动来支持转运相关的引导程序数据。
本发明实施例公开一种具备SPI接口的MCU引导***,参考图1可知,所述MCU引导***包括状态机电路和两个交替缓存区;所述两个交替缓存区分别是图1的第一交替缓存区和第二交替缓存区,优选地,是引脚资源相互独立的两个缓存空间,其涉及的读写操作互不干涉。所述状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从该flash存储器中读取出引导指令段;其中,所述具备SPI接口的flash存储器即所述具备SPI接口的闪存,flash存储器的SPI接口包括4个支持数据输入输出的引脚、时钟引脚SCK和片选引脚/CS,用于通过SPI总线向所述状态机电路提供4路数据信号、1路时钟信号和1路片选信号,实现所述状态机电路从flash存储器内读取具备程序引导作用的代码数据,以引导启动MCU或相关的处理器。需要说明的是,图1所示的4个支持数据输入输出的引脚包括IO0、IO1、IO2以及IO3,提供4条数据信号线,在相同时钟周期下,数据信号线数越多,则SPI接口的传输速率越高。
在本实施例中,所述MCU和所述状态机电路都是可以设计有并行接口,且所述MCU从外设的存储器内获取引导启动程序,且所述MCU专门配置有一个合法有效的升级请求的端口执行引导启动模式;所述状态机电路可以是根据工作状态的调度需要而使用硬件编程语言自行构造逻辑功能的数字集成电路,并产生各个工作状态下的时序功能,能够克服各种类型的MCU对于标准SPI协议的兼容性。
所述引导指令段可以是占据4比特位或4的倍数的比特位的位宽的引导程序数据,用于引导MCU启动,以便于进行相关运行环境(包括MCU、SPI接口以及所述flash存储器)配置参数的初始化(包括确定起始地址以及校验信息的判断)、MCU的功能升级、所述flash存储器的数据擦除、以及所述flash存储器内的存储块的升级,则所述MCU引导***、MCU和所述flash存储器组成一个整体***,支持SPI接口下的程序启动引导以及后续的程序功能升级,进而服务于在手机、平板、小型轮式机器人(比如宠物机器人、不倒翁机器人、室内清洁机器人)等智能移动终端产品,满足其使用NorFlash作为引导程序的载体的需求。
在本实施例中,状态机电路存在以下的工作状态跳转:
当状态机电路先后读取的两个引导指令段是连续时,触发状态机电路进入连续访问状态。所述状态机电路是可以由初始状态或其它工作状态(包括空闲状态)进入所述连续访问状态。其中,状态机电路检测到先后读取的两个引导指令段是连续时,所述状态机电路内部的检测结果信号触发自身进入连续访问状态。
在本实施例中,所述状态机电路的数据输入端按照所述SPI接口规定的时序,通过所述SPI总线接收引导指令段,从而每隔一个时钟周期,所述状态机电路从所述flash存储器读取一个引导指令段,其中,一次读取的数据的比特位的位宽是大于1,一般是以字节为单位进行SPI总线的传输。所述flash存储器向所述状态机电路传输引导指令段的过程,所述状态机电路将其片选引脚/SS1和/或所述flash存储器将其片选引脚/CS置为低电平而起到触发作用。
需要说明的是,所述状态机电路在读取所述引导指令段之前,会接收到发自MCU传输过来的或外部上电复位信号触发的请求指令,这些请求指令被所述状态机电路解析出地址信号,则所述状态机电路从所述flash存储器内读取出与这些地址信号对应的引导指令段,这些地址信号作为MCU启动时需要接收的指令段对应的地址信息,具体是与所述引导指令段在所述flash存储器中的地址相对应,则按照这些地址信息从所述flash存储器内顺序地读取出引导指令段,使得先后读取的两个引导指令段存在连续与非连续两种情况,也表示先后读取的两个引导指令段可以是相邻的两个引导指令段。所述引导指令段可以是每一次启动MCU之前,预先存入所述flash存储器内的引导程序数据,该引导程序数据配置所述MCU的升级请求端口进入引导模式。
具体地,所述状态机电路每连续两次读取到的引导指令段对应的有效地址是连续时,表示所述状态机电路先后读取的两个引导指令段是连续,这两个引导指令段在所述flash存储器内的存储顺序是连续,让所述状态机电路可以从一个起始地址开始连续访问所述flash存储器内的引导指令段,并按照其顺序存储在堆栈结构的缓存区内,然后,所述状态机电路用于在连续访问状态下将先后读取的两个引导指令段都送入其中一个交替缓存区,即所述状态机电路将连续读取到的相邻的两个引导指令段顺序地传输至同一个交替缓存区,则该交替缓存区以堆栈结构的形式先后接收所述相邻的两个引导指令段,保证引导指令段之间的访问连续性,可以选择在接收到MCU发送的引导请求指令后,将该交替缓存区内先后接收的两个引导指令段依次发送给MCU,引导MCU启动升级,让所述MCU可以从一个起始地址开始连续访问所述引导指令段,进而启动MCU读写所述具备SPI接口的flash存储器,减少因MCU的型号差异而带来的读取数据长度的影响,则无论所述状态机电路每一次读取的数据长度大小如何、数据读取速率快慢如何,所述状态机电路都能控制从所述flash存储器读取引导指令段的进度,克服因MCU的型号差异带来的兼容性问题。值得注意的是,所述状态机电路每个时钟周期只是读取一个引导指令段。
在一些实施例中,MCU引导***、MCU和所述flash存储器上电后,从所述状态机电路从所述flash存储器内的预设的起始地址开始读取引导指令段,可以实施的是,MCU引导***作为一个印刷电路板,在该印刷电路板中装配一个串口按键,在该串口按键被按下后,所述状态机电路会产生电平变化以分别发送给MCU和所述flash存储器,尤其是在所述MCU的升级请求端口产生的引导启动的标示信号,用于一些移动终端设备上可以明显地反应出引导设备自身启动及后续功能升级的状态信息。
当状态机电路先后读取的两个引导指令段不是连续时,触发所述状态机电路进入分支访问状态,所述状态机电路可以是由所述连续访问状态、所述空闲状态或所述初始状态跳转至所述分支访问状态,其中,所述状态机电路检测到先后读取的两个引导指令段不是连续时,所述状态机电路内部的检测结果信号触发自身进入所述分支访问状态;此时,所述状态机电路先后读取的两个引导指令段不是连续,这两个引导指令段对应的有效地址在内存空间中的存储顺序也不是连续,这两个引导指令段对应的有效地址在所述flash存储器内存在一个地址段的间隔,然后,所述状态机电路用于在分支访问状态下将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区,从而,所述状态机电路每连续两次读取到的引导指令段是不连续时,将这两个引导指令段分别送往两个不同的交替缓存区,然后,所述状态机电路用于在分支访问状态下,可以选择在接收到MCU发送的引导请求指令后,先触发所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,再触发所述另一个交替缓存区将接收的一个引导指令段发送给MCU,因此,所述状态机电路先后读取的两个引导指令段(连续两次读取的引导指令段,共读取两个引导指令段)不是连续时,将这两个引导指令段视为两个分支指令,分开两个缓存区存储起来,并由所述MCU分两个缓存区进行读取,避免在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段,加快引导的速度;同时,所述状态机电路可以让所述MCU先后在两个交替缓存区内从各自的起始地址开始读取一个所述引导指令段,实现在所述两个交替缓存区之间进行交替地读取地址信息不连续的两个引导指令段,增强MCU对所述flash存储器的引导指令代码的兼容性,即让MCU适应发生跳转的引导指令(即所述flash存储器传输出的不连续的两个引导指令段),从而提高所述MCU引导***在同一种SPI接口下对不同类型的MCU的程序引导启动的稳定性。
与现有技术相比,本发明实施例的有益技术效果在于,能够选择在MCU的启动阶段,设计两个交替缓存区,并结合状态机电路自身存在的工作状态调度机制,去应对先后读取的两个引导指令段之间的连续情况,使得大部分MCU能够支持以SPI NorFlash引导启动及后续升级,具体实现使用两个交替缓存区分别缓存先后读取到的两个不连续的引导指令段,且使用一个交替缓存区分别缓存先后读取到的两个连续的引导指令段,减少因代码跳转频繁而出现程序运行异常的概率;进而缩短了使用这些不支持SPI NorFlash引导的部分MCU的小型轮式机器人(比如宠物机器人、不倒翁机器人)的升级周期。
作为一种实施例,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区,可以是分别位于所述MCU引导***内的不同的存储空间中;所述状态机电路先后读取的第一引导指令段和第二引导指令段不是连续,且先后读取的第二引导指令段和第三引导指令段不是连续的状态是,所述状态机电路从所述flash存储器内连续三次读取到的引导指令段中,第一次读取到第一引导指令段,第二次读取到二引导指令段,第三次读取到第三引导指令段,其中,第一引导指令段与第二引导指令段在所述flash存储器内对应的存储地址不连续,第二引导指令段与第三引导指令段在所述flash存储器内对应的存储地址也不连续,对应进入并维持在所述分支访问状态下,则在当前这一分支访问状态下,所述状态机电路先将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区,然后将第三引导指令段送入第一交替缓存区,以实现彼此不连续的引导指令段在第一交替缓存区和第二交替缓存区之间的交替缓存;可以理解的是,所述状态机电路若读取到三个或三个以上的引导指令段的前提下,所述状态机电路维持控制连续两次读取到的引导指令段交替缓存于第一交替缓存区和第二缓存区之间。所述状态机电路还用于在所述分支访问状态下,在接收到MCU发送的引导请求指令后,先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将第二引导指令段发送给MCU,然后触发第一交替缓存区将第三引导指令段发送给MCU;即在所述分支访问状态下,所述状态机电路控制所述第一交替缓存区和所述第二交替缓存区交替地将各自内部存储的一个引导指令段传输至所述MCU,也让同一个MCU交替地接收发自所述两个交替缓存区内的互不连续的引导指令段,以避免同一时序周期内在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
作为另一种实施例,所述状态机电路从所述flash存储器先后读取的第一引导指令段和第二引导指令段不是连续,且从所述flash存储器先后读取的第二引导指令段和第三引导指令段是连续的情况,可以确定的是,所述状态机电路从所述flash存储器内连续三次读取到的引导指令段中,存在连续的两次读取到的引导指令段不是连续,则对应触发所述状态机电路跳转至所述分支访问状态;然后存在另外连续两次读取到的引导指令段是连续,则对应触发所述状态机电路跳转至所述连续访问状态。具体地,所述状态机电路用于在检测到先后读取(等效于连续两次读取)到的第一引导指令段和第二引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,所述状态机电路在所述分支访问状态下,将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区,以实现彼此不连续的两个引导指令段分别存入第一交替缓存区和第二交替缓存区;然后,若所述状态机电路先后读取(等效于连续两次读取到)的第二引导指令段和第三引导指令段是连续时,所述状态机电路由所述分支访问状态跳转至所述连续访问状态下,所述状态机电路在所述连续访问状态下将第三引导指令段存入第二交替缓存区,以实现彼此连续的两个引导指令段存入同一个交替缓存区,尤其是与最近一次读取的引导指令段(即第二引导指令段)存入同一个交替缓存区(第二交替缓存区);可以理解的是,所述状态机电路连续两次读取到的两个引导指令段之间不是连续时,所述状态机电路控制连续两次读取到的引导指令段交替缓存于第一交替缓存区和第二缓存区之间,直至所述状态机电路当前连续两次读取到的引导指令段是连续的;相应地,所述状态机电路还用于在接收到MCU发送的引导请求指令后,先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将先后接收的两个引导指令段依次发送给MCU,以避免同一时序周期内在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段,但保证同一时序周期内在同一交替缓存区内只能搜索连续的两个引导指令段。
作为另一种实施例,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区,可以是分别位于所述MCU引导***内的不同的存储空间中;若所述状态机电路先后读取的第一引导指令段和第二引导指令段是连续时,所述状态机电路跳转至所述连续访问状态下,所述状态机电路在所述连续访问状态下将第一引导指令段和第二引导指令段依次送入第一交替缓存区;其中,所述状态机电路从所述flash存储器内第一次读取到第一引导指令段,从所述flash存储器内第二次读取到第二引导指令段,第一引导指令段与第二引导指令段在所述flash存储器内对应的存储地址连续,识别出相邻的两个引导指令段。然后,若所述状态机电路先后读取的第二引导指令段和第三引导指令段不是连续时,所述状态机电路由所述连续访问状态跳转至所述分支访问状态下,所述状态机电路在所述分支访问状态下将第三引导指令段送入第二交替缓存区,其中,所述状态机电路从所述flash存储器内第二次读取到第二引导指令段,从所述flash存储器内第三次读取到第三引导指令段,第二引导指令段与第三引导指令段在所述flash存储器内对应的存储地址不连续,识别出不相邻的两个引导指令段。相应地,所述状态机电路还用于在接收到MCU发送的引导请求指令后,先触发第一交替缓存区将第一引导指令段和第二引导指令段依次发送给MCU,再触发第二交替缓存区将第三引导指令段发送给MCU,以避免同一时序周期内在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段,但保证同一时序周期内在同一交替缓存区内只能搜索连续的两个引导指令段。值得注意的是,所述状态机电路每一次只接收来自所述flash存储器输出的一个引导指令段。因此,所述状态机电路若读取到三个或三个以上的引导指令段的前提下,所述状态机电路开始连续两次读取到的两个引导指令段之间是连续时,所述状态机电路先进入所述连续访问状态下,再控制连续两次读取到的引导指令段存入同一个交替缓存区,直至所述状态机电路当前连续两次读取到的引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,并控制最新一次读取到的引导指令段存入另一个交替缓存区,所述状态机电路再重复检测连续两次读取到的两个引导指令段是否为连续,以便于调度下一个工作状态。
在前述实施例的基础上,无论是处于所述连续访问状态还是处于所述分支访问状态下,所述状态机电路,将一个交替缓存区内的一个引导指令段送往MCU的过程中,同步将另一个引导指令段送入该交替缓存区内或另一个交替缓存区内;在一些实施例中,将第一交替缓存区内的第一引导指令段送往MCU的过程中,在所述连续访问状态下同步地将第三引导指令段送入第一交替缓存区内,其中,对于所述状态机电路,第二引导指令段的读取时间是介于第一引导指令段的读取时间和第三引导指令段的读取时间之间,第一引导指令段没有与第三引导指令段连续,已存在第二引导指令段与第一引导指令段连续,同时存在第三引导指令段与第二引导指令段连续。在一些实施例中,将第一交替缓存区内的第一引导指令段送往MCU的过程中,在所述分支访问状态下同步地将第三引导指令段送入第一交替缓存区内,其中,对于所述状态机电路,第二引导指令段的读取时间是介于第一引导指令段的读取时间和第三引导指令段的读取时间之间,第一引导指令段没有与第三引导指令段连续,已存在第二引导指令段与第一引导指令段不连续,同时存在第三引导指令段与第二引导指令段不连续。值得注意的是,所述两个交替缓存区分别位于所述MCU引导***内的不同的存储空间中。避免出现同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段,则可以减少分支代码、指令发生跳转的现象对MCU的引导进程的影响,尤其是传输数据的连续性的影响,提高MCU对于flash存储器的引导指令段的适应性,从而比现有技术的缩短MCU的引导启动周期,进而缩短使用不支持所述flash存储器引导的MCU的小型轮式机器人(比如宠物机器人、不倒翁机器人)的功能升级周期。
需要说明的是,所述状态机电路对先后读取的两个引导指令段的处理过程所耗费的时间配置为一个时序周期,相应的处理过程包括将所述先后读取到的两个引导指令段发送往对应的交替缓存区、以及将所述先后读取到的两个引导指令段从对应的交替缓存区送往MCU。因此,所述先后读取的两个引导指令段发送往相应的交替缓存区所耗费的时间与将所述先后读取的两个引导指令段从相应的交替缓存区送往MCU所耗费的时间的和值等于一个时序周期。
在上述实施例中,所述状态机电路的内部设置一个SPI接口,该SPI接口设置有IO0、IO1、IO2以及IO3这四个数据输入输出引脚,以向外部提供四根数据信号线;该SPI接口还设置有时钟引脚SCLK和片选引脚/SS1;所述flash存储器的SPI接口的各个功能引脚通过SPI总线分别与所述状态机电路的SPI接口的对应功能引脚连接,如图1所示,所述flash存储器的SPI接口的IO0、IO1、IO2以及IO3分别与所述状态机电路的SPI接口的同名称的引脚连接,所述flash存储器的SPI接口的时钟引脚SCK与所述状态机电路的SPI接口的时钟引脚SCLK连接,所述flash存储器的SPI接口的片选引脚/CS与所述状态机电路的SPI接口的片选引脚/SS1连接。
具体地,所述flash存储器的SPI接口被配置为4线读模式,以使得所述状态机电路的SPI接口也适应性地调整为4线读模式,则所述flash存储器的SPI接口可以通过SPI总线与所述状态机电路的SPI接口连接起来;在外部触发信号的触发作用下、或所述flash存储器内置的固定参数的配置作用下,开启所述flash存储器的4线模式,此时所述flash存储器配置出的4线模式相对于所述flash存储器的标准单线SPI协议,所述状态机电路将所述flash存储器的4线传输中的写保护引脚配置为数据输入端IO2,将4线传输中的保持引脚配置为数据输入端IO3,所述状态机电路的SPI接口的写保护引脚和保持引脚也适应性地被配置为数据输入端,以在一个SPI接口内形成4根具备并行收发功能的数据线,实现每个时钟周期SCLK(时钟引脚SCLK传输的时钟信号)内传输4个bit,则可以用于在一个时钟周期内完成一个引导指令段的并行传输,所述flash存储器内置一套默认的4线模式的匹配参数,使得所述MCU引导***组合所述flash存储器后,所述flash存储器以标准4线SPI传输模式来支持各种型号MCU的引导,克服MCU对FLASH的兼容性差的问题。
所述状态机电路用于将其SPI接口的4线读模式中的4个数据输入端并行接收的引导指令段对应的二进制数进行并串转换,再传输给对应的一个交替缓存区,其中,前述的4个数据输入端连接到所述SPI总线,则本实施例将4线模式下的所述SPI接口设置为支持半双工的并行接口,用于按照设定时序并行地传输所述引导指令段所包括的控制信号、地址信号和数据信号,相应的,所述SPI总线在本实施例中是并行总线;在一个实施例中,当所述状态机电路要发送所述引导指令段给所述交替缓存区时,由于所述状态机电路采用并行总线读取所述flash存储器的启动数据(所述引导指令段)且所述交替缓存区是使用串行接口收发数据,所以,所述并串转换是:所述状态机电路将原本通过SPI接口并行发出、SPI总线并行传输的所述引导指令段转换成由所述交替缓存区的串口总线传输、串口接口接收的写入数据。所述状态机电路从所述flash存储器内并行读取所述引导指令段是采用4线模式下的SPI接口,所述状态机电路将所述引导指令段写入所述交替缓存区所采用的串行接口相对于所述4线模式下的SPI接口,减少了信号线的数量,缓存芯片管脚数量少,减轻引导MCU启动的所采用的接口的运行负担,节约了PCB电路板的使用面积。
在前述实施例中,所述状态机电路先后读取的两个引导指令段是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址是连续的,即在先读取的一个引导指令段在所述flash存储器内对应的存储地址与在后读取的一个引导指令段在所述flash存储器内对应的存储地址是相邻;其中,所述状态机电路每次从所述flash存储器读取一个引导指令段。
另一方面,在具体实施中,在所述flash存储器中,可以存储一些出现频次较多的跳转分支对应的引导程序数据。例如,针对启动MCU所需的校验,需要执行循环操作或者反复调用相同功能函数,则在所述flash存储器中预先存储上述函数操作对应的跳转分支。具体地,所述状态机电路先后读取的两个引导指令段不是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址不是连续的,即在先读取的一个引导指令段在所述flash存储器内对应的存储地址与在后读取的一个引导指令段在所述flash存储器内对应的存储地址不是相邻;其中,所述状态机电路每次从所述flash存储器读取一个引导指令段,进而确定在后读取的一个引导指令段相对于在先读取的一个引导指令段发生跳转,即在后读取的一个引导指令段相对于在先读取的一个引导指令段产生条件分支,整体上形成动态指令,此时,MCU对flash存储器及SPI接口的兼容性(时序兼容性)变得不稳定,因此,所述状态机电路控制先后读取的到的不连续的两个引导指令段交替缓存于第一交替缓存区和第二缓存区之间,直至所述状态机电路当前连续两次读取到的引导指令段变为连续。
需要说明的是,引导指令段是预先存入所述flash存储器内的引导程序数据,具体是在每一次启动MCU之前存入的引导程序数据,该引导程序数据配置所述MCU的升级请求端口进入引导模式,以便于对所述flash存储器进行正常的读写操作,不需要让MCU直接从所述flash存储器中调用相应的引导指令段,而是通过所述MCU引导***支持MCU的引导启动进程正常进行;特别地,当所述MCU被引导启动后,所述MCU内的升级程序还用于接管所述状态机电路的SPI接口,则所述状态机电路的SPI接口作为所述MCU启动引导***的SPI接口,所述状态机电路的SPI接口的控制权限交接给所述MCU,所述MCU可以直接通过SPI总线对所述flash存储器进行读写操作,在具体实施的过程中需要通过前述的交替缓存区进行缓存读取出的数据;如此,所述MCU在启动后,所述MCU或所述MCU启动引导***对所述flash存储器内的数据访问,全程都是通过SPI总线传输,其中,所述状态机电路的SPI接口与所述SPI总线,以减少不同总线传输之间的数据转换,从而可以节省所述MCU到所述状态机电路或所述交替缓存区的并行IO总线与所述SPI总线之间的转换过程,也缩短现有技术的MCU的引导启动周期,进而缩短使用不支持具备SPI接口的flash存储器引导的MCU的小型轮式机器人(比如宠物机器人、不倒翁机器人)的功能升级周期。
优选地,在所述两个交替缓存区中,当任一个交替缓存区没有剩余缓存空间时,停止从所述flash存储器继续读取所述引导指令段,并将所述flash存储器配置为写保护状态。因此,所述状态机电路根据每一个交替缓存区的填充情况来决定是否继续从所述flash存储器读取所述引导指令段还是对所述flash存储器执行挂起操作。值得注意的是,若继续从所述flash存储器读取所述引导指令段,则解除所述flash存储器的相关引脚的写保护状态,以便于所述flash存储器接收来自所述状态机电路的请求指令参数,则在所述MCU被引导启动后所述flash存储器维持解除所述写保护状态,便于所述MCU内的升级程序接管所述MCU设置的SPI接口,所述MCU的SPI接口则可以通过SPI总线对所述flash存储器进行读写操作;若所述flash存储器被挂起,则将所述flash存储器的相关引脚置位为写保护状态,同时所述交替缓存区也被所述状态机电路挂起,避免可能出现的断电等意外的情况损坏所述flash存储器或所述交替缓存区而无法启动所述MCU引导***,更谈不上正确引导并升级所述MCU。
优选地,所述状态机电路通过SPI总线读取所述引导指令段的速率大于所述MCU从所述交替缓存区中提取所述引导指令段的速率,使得MCU从所述状态机电路的所述交替缓存区提取所述引导指令段的速率大小是由所述引导指令段中的程序数据的大小决定。在一个实施例中,所述状态机电路从所述flash存储器中连续读取所述引导指令段,并通过两个或一个所述交替缓存区实现向所述MCU连续提供当前缓存的引导指令段,由于所述状态机电路通过SPI总线从所述flash存储器中读取所述引导指令段的速率大于所述MCU从所述交替缓存区中提取所述引导指令段的速率,所以保证存在至少一个所述交替缓存区不会出现被MCU读取完,使得所述状态机电路无暇识别所述MCU的其他访问操作,保证所述具备SPI接口的MCU引导***引导MCU的动作的连续性,值得注意的是,所述MCU引导***连续引导MCU启动时,所述MCU并不知道其读取的引导指令段的具体来源,即所述MCU没有识别到所述引导指令段实际存储在所述flash存储器中;其中,所述MCU引导***在引导MCU启动之前也没有识别MCU的型号,只是传输所述引导指令段至待启动的MCU。
基于前述实施例,本发明还公开一种芯片,该芯片内部设置所述的具备SPI接口的MCU引导***,以较高集成度的逻辑硬件为所述MCU提供引导功能的驱动电路,便于装配在需要引导升级功能的小型轮式移动机器人或其余类型的手持移动智能终端中,其中,这些小型轮式移动机器人或其余类型的手持移动智能终端的引导升级依赖于其内部的MCU的启动,而MCU的启动又有赖于所述MCU引导***的引导;具体地,在该芯片中,前述涉及的状态机电路、两个交替缓存区以及相关联的配置寄存器都是由设计者使用硬件描述语言Verilog HDL进行编译形成的数字电路模块,或者是由设计者在具备电路绘制或编译功能的软件上进行电路绘制或编译形成的数字电路模块。此外,在本发明各个实施例中的MCU、各功能单元及flash存储器可以集成在一个主控电路板中以组装成一个电子设备终端或移动机器人内部的占据较小空间体积的主控板。实现利用flash存储器内置一套默认的引导命令来支持MCU,满足引导MCU启动、引导配置MCU、以及引导MCU升级的需求。同时,减少因代码跳转频繁而出现程序运行异常的概率;进而缩短了使用这些不支持SPI NorFlash引导的部分MCU的小型轮式机器人(比如宠物机器人、不倒翁机器人)的升级周期。
在本申请所提供的实施例中,应该理解到,所揭露的***、芯片,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目。
Claims (9)
1.具备SPI接口的MCU引导***,其特征在于,所述MCU引导***包括状态机电路和两个交替缓存区;
状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从该flash存储器中读取出引导指令段;
当状态机电路先后读取的两个引导指令段是连续时,触发状态机电路进入连续访问状态,状态机电路用于在连续访问状态下将先后读取的两个引导指令段送入其中一个交替缓存区,再将所述其中一个交替缓存区内先后接收的两个引导指令段依次发送给MCU;
当状态机电路先后读取的两个引导指令段不是连续时,触发状态机电路进入分支访问状态,状态机电路用于在分支访问状态下将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区;
状态机电路还用于在分支访问状态下,先触发所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,再触发所述另一个交替缓存区将接收的一个引导指令段发送给MCU,以避免在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段;
所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;
若所述状态机电路先后读取的第一引导指令段和第二引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,所述状态机电路在所述分支访问状态下将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区;
然后,若所述状态机电路先后读取的第二引导指令段和第三引导指令段是连续时,所述状态机电路由所述分支访问状态跳转至所述连续访问状态下,所述状态机电路在所述连续访问状态下将第三引导指令段送入第二交替缓存区;
所述状态机电路还用于先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将先后接收的两个引导指令段依次发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段;
所述状态机电路的内部设置一个SPI接口;
所述flash存储器的SPI接口的各个功能引脚通过SPI总线分别与所述状态机电路的SPI接口的对应功能引脚连接;所述flash存储器的SPI接口被配置为4线读模式,以使得所述状态机电路的SPI接口也适应性地调整为4线读模式;
其中,所述状态机电路的SPI接口的写保护引脚和保持引脚都配置为数据输入端,以在一个SPI接口内形成4根具备并行收发数据功能的数据线,实现在一个时钟周期内读取一个引导指令段;
其中,所述状态机电路用于将其SPI接口的4线读模式中的4个数据输入端并行接收的引导指令段对应的二进制数进行并串转换,再传输给对应的一个交替缓存区;其中,所述交替缓存区是使用串行接口收发数据。
2.根据权利要求1所述MCU引导***,其特征在于,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;
若先后读取的第一引导指令段和第二引导指令段不是连续,且先后读取的第二引导指令段和第三引导指令段不是连续的情况下,所述状态机电路用于在分支访问状态下,将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区,然后将第三引导指令段送入第一交替缓存区;所述状态机电路还用于在分支访问状态下,先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将第二引导指令段发送给MCU,然后触发第一交替缓存区将第三引导指令段发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
3.根据权利要求1所述MCU引导***,其特征在于,所述状态机电路连续两次读取到的引导指令段之间是连续时,所述状态机电路进入所述连续访问状态下,再控制连续两次读取到的引导指令段存入同一个交替缓存区,直至所述状态机电路当前连续两次读取到的引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,并控制最新一次读取到的引导指令段存入另一个交替缓存区。
4.根据权利要求2至3任一项所述MCU引导***,其特征在于,将一个交替缓存区内的一个引导指令段送往MCU的过程中,同步将另一个引导指令段送入该交替缓存区内或另一个交替缓存区内;所述两个交替缓存区分别位于所述MCU引导***内的不同的存储空间中;
其中,所述状态机电路对先后读取到的两个引导指令段的处理过程所耗费的时间配置为一个时序周期,所述处理过程包括将所述先后读取到的两个引导指令段发送往对应的交替缓存区、以及将所述先后读取到的两个引导指令段从对应的交替缓存区送往MCU。
5.根据权利要求2至3任一项所述MCU引导***,其特征在于,所述状态机电路先后读取的两个引导指令段是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址是连续的;
所述状态机电路先后读取的两个引导指令段不是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址不是连续的,进而确定在后读取的一个引导指令段相对于在先读取的一个引导指令段发生跳转;
其中,引导指令段是预先存入所述flash存储器内的引导程序数据,该引导程序数据配置所述MCU的升级请求端口进入引导模式。
6.根据权利要求2至3任一项所述MCU引导***,其特征在于,在所述两个交替缓存区中,当任一个交替缓存区没有剩余缓存空间时,停止从所述flash存储器继续读取所述引导指令段,并将所述flash存储器配置为写保护状态。
7.根据权利要求6所述MCU引导***,其特征在于,所述状态机电路通过SPI总线读取所述引导指令段的速率大于所述MCU从所述交替缓存区中提取所述引导指令段的速率。
8.根据权利要求5所述MCU引导***,其特征在于,当所述MCU被引导启动后,所述MCU内的升级程序还用于接管所述状态机电路的SPI接口,以使得所述MCU通过该SPI接口及其连接的SPI总线,对所述flash存储器进行读写操作,以减少不同总线传输之间的数据转换。
9.一种芯片,其特征在于,该芯片内部设置权利要求1所述的具备SPI接口的MCU引导***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359951.4A CN114035853B (zh) | 2021-11-17 | 2021-11-17 | 具备spi接口的mcu引导***及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359951.4A CN114035853B (zh) | 2021-11-17 | 2021-11-17 | 具备spi接口的mcu引导***及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114035853A CN114035853A (zh) | 2022-02-11 |
CN114035853B true CN114035853B (zh) | 2023-07-07 |
Family
ID=80137897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111359951.4A Active CN114035853B (zh) | 2021-11-17 | 2021-11-17 | 具备spi接口的mcu引导***及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114035853B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303163B (zh) * | 2023-05-24 | 2023-08-01 | 深圳市乐升半导体有限公司 | 图形控制器的SPI Flash访问方法以及*** |
CN116893858B (zh) * | 2023-09-11 | 2023-12-12 | 西安智多晶微电子有限公司 | 一种FPGA快速启动PCIe的配置方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
US5321828A (en) * | 1991-06-07 | 1994-06-14 | Step Engineering | High speed microcomputer in-circuit emulator |
CN102902556A (zh) * | 2012-09-06 | 2013-01-30 | 深圳市共进电子股份有限公司 | 一种嵌入式设备的多级引导加载方法 |
CN109669729A (zh) * | 2018-12-26 | 2019-04-23 | 杭州迪普科技股份有限公司 | 一种处理器的启动引导方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579391B2 (en) * | 2013-07-31 | 2020-03-03 | Oracle International Corporation | System on a chip hardware block for translating commands from processor to read boot code from off-chip non-volatile memory device |
JP6194764B2 (ja) * | 2013-11-08 | 2017-09-13 | 富士通株式会社 | 情報処理装置、制御方法、および制御プログラム |
US20160253123A1 (en) * | 2014-03-19 | 2016-09-01 | Bruce Ledley Jacob | NVMM: An Extremely Large, Logically Unified, Sequentially Consistent Main-Memory System |
US10621091B2 (en) * | 2018-05-04 | 2020-04-14 | Micron Technology, Inc. | Apparatuses and methods to perform continuous read operations |
-
2021
- 2021-11-17 CN CN202111359951.4A patent/CN114035853B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321828A (en) * | 1991-06-07 | 1994-06-14 | Step Engineering | High speed microcomputer in-circuit emulator |
US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
CN102902556A (zh) * | 2012-09-06 | 2013-01-30 | 深圳市共进电子股份有限公司 | 一种嵌入式设备的多级引导加载方法 |
CN109669729A (zh) * | 2018-12-26 | 2019-04-23 | 杭州迪普科技股份有限公司 | 一种处理器的启动引导方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114035853A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114035853B (zh) | 具备spi接口的mcu引导***及芯片 | |
US7114101B2 (en) | Microcomputer, electronic equipment and debugging system | |
US5920708A (en) | Serial port having only a single terminal for information transfer to and from an integrated circuit | |
KR100474622B1 (ko) | 마이크로컴퓨터 | |
CN101361043B (zh) | 从mmc/sd设备引导主机设备的方法,可从mmc/sd设备引导的主机设备以及可以从其引导主机设备的mmc/sd设备方法 | |
US20080307154A1 (en) | System and Method for Dual-Ported I2C Flash Memory | |
EP2955716B1 (en) | Memory system in which extended function can easily be set | |
US7827337B2 (en) | Sharing memory interface | |
CN115858431B (zh) | 数据传输控制方法、控制器及电子设备 | |
CN110765058A (zh) | Gpio实现spi从机功能方法、***、设备及介质 | |
KR100919159B1 (ko) | 멀티미디어 카드 인터페이스 방법, 컴퓨터 프로그램 생성물및 장치 | |
CN109669729A (zh) | 一种处理器的启动引导方法 | |
US20040049617A1 (en) | Method of firmware update by USB interface | |
JP2008521080A5 (zh) | ||
KR20080078977A (ko) | Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템 | |
CN110795373B (zh) | 一种i2c总线到并行总线的转换方法、终端及存储介质 | |
CN111338702B (zh) | 一种基于片外nor-flash的SOC***引导方法 | |
KR19980032064A (ko) | 마이크로 컴퓨터 | |
US7685343B2 (en) | Data access method for serial bus | |
CN100476767C (zh) | 主机与从属设备之间的连接方法、装置、计算机*** | |
JP3998911B2 (ja) | インタフェース回路、およびシリアルインタフェースとプロセッサとの間でデータを伝送する方法 | |
JPH09259068A (ja) | 拡張入出力インターフェイス | |
JP4663210B2 (ja) | 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 | |
WO2016036281A1 (ru) | Устройство прямого отображения адресов данных | |
CN100373363C (zh) | 序列传输接口的仆装置、主控装置与其***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |