CN110377345B - 系统启动文件的处理方法及装置 - Google Patents
系统启动文件的处理方法及装置 Download PDFInfo
- Publication number
- CN110377345B CN110377345B CN201910570856.5A CN201910570856A CN110377345B CN 110377345 B CN110377345 B CN 110377345B CN 201910570856 A CN201910570856 A CN 201910570856A CN 110377345 B CN110377345 B CN 110377345B
- Authority
- CN
- China
- Prior art keywords
- moved
- area
- module
- file
- direct memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 title claims description 43
- 238000001514 detection method Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种系统启动文件的处理方法,该方法通过读取待处理系统启动文件在SD卡中的逻辑区块地址编号,将逻辑区块地址编号对应的存储数据读取至待搬移区域,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中;若逻辑区块地址编号不是系统启动文件在SD卡中的终止存储位置,则读取下一逻辑区块地址编号,若是,则获取下一待处理系统启动文件。该方法通过预先配置的直接内存存取模块将待搬移区域内的存储数据搬移至双速动态随机存储器中,其中直接内存存取模块可直接对双速动态随机存储器进行存取操作,存取过程不需要处理器的介入,因此,搬移速度较快。
Description
技术领域
本发明涉及计算机启动技术领域,特别是涉及一种系统启动文件的处理方法及装置。
背景技术
CPU(Central Processing Unit,中央处理器(简称处理器)),是一块超大规模的集成电路,是一台终端设备的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据,现有的处理器有intel、AMD以及RISC等。
目前,存在一种基于处理器控制的操作系统启动方法,在启动该操作系统之前,需要将预先存储于SD卡中的待处理系统启动文件,如(FSBL(First Stage Boot Loader,第一阶段引导加载程序)、DTB(Device Tree Blob,二进制格式的设备树)、BBL(Berkeley BootLoader,伯克利引导加载程序)以及操作系统内核文件)读取到与处理器直连的双速动态随机存储器中,再由处理器执行该系统启动文件,完成操作系统启动。
该方法是由处理器通过程序指令来控制整个待处理系统启动文件的搬移过程,处理器在执行指令时会存在过多的时序,导致待处理系统启动文件搬移较慢。
发明内容
有鉴于此,本发明实施例提供了一种系统启动文件的处理方法,用以实现系统启动文件的快速搬移。另外,本发明还提供了一种系统启动文件的处理装置,以保证上述方法在实际中的应用与实现。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本申请提供了一种系统启动文件的处理方法,包括:
读取待处理系统启动文件在SD卡中的逻辑区块地址编号,所述逻辑区块地址编号是将SD卡划分为多个存储区域之后,对所述存储区域进行区分的识别标识;
将所述逻辑区块地址编号对应的存储数据读取至待搬移区域,所述待搬移区域用于临时存放存储数据;
若所述待搬移区域成功接收到所述存储数据,启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中;
判断所述逻辑区块地址编号是否对应所述待处理系统启动文件在SD卡中的终止存储位置;
若否,读取下一逻辑区块地址编号,返回执行将所述逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;
若是,则获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。
第二方面,本申请提供了一种系统启动文件的处理装置,其特征在于,包括:
读取模块,用于读取待处理系统启动文件在SD卡中的逻辑区块地址编号,所述逻辑区块地址编号是将SD卡划分为多个存储区域之后,对所述存储区域进行区分的识别标识;
第一读取模块,用于将所述逻辑区块地址编号对应的存储数据读取至待搬移区域,所述待搬移区域用于临时存放存储数据;
启动模块,用于若所述待搬移区域成功接收到所述存储数据,启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中;
判断模块,用于判断所述逻辑区块地址编号是否对应所述待处理系统启动文件在SD卡中的终止存储位置;
第二读取模块,用于若否,读取下一逻辑区块地址编号,返回执行将所述逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;
处理模块,用于若是,则获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。
由上述技术方案可知,本发明提供了一种系统启动文件的处理方法,该方法通过读取待处理系统启动文件在SD卡中的逻辑区块地址编号,将逻辑区块地址编号对应的存储数据读取至待搬移区域,若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中,判断逻辑区块地址编号是否对应待处理系统启动文件在SD卡中的终止存储位置;若否,读取下一逻辑区块地址编号,返回执行将逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;若是,则获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。该方法通过预先配置的直接内存存取模块将待搬移区域内的存储数据搬移至双速动态随机存储器中,其中直接内存存取模块可直接对双速动态随机存储器进行存取操作,存取过程不需要处理器的介入,因此,搬移速度较快。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明提供的终端设备的结构示意图;
图2示出了本发明提供的系统启动文件的处理方法的流程图;
图3示出了本发明提供的系统启动文件的处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
参见图1,在终端设备中,存在有CPU(Central Processing Unit,中央处理器)101、片上RAM(Random Access Memory,随机存取存储器)102、DDR(DDR SDRAM,Double DataRate Synchronous Dynamic Random Access Memory,双速动态随机存储器)103以及SPI(Serial Peripheral Interface,串行外设接口)通信模块104,CPU通过SPI通信模块的发送端口(Tx_FIFO)以及接受端口(Rx_FIFO)与SD卡105(Secure Digital Memory Card,安全数码卡)进行数据交换。
需要说明的是,SD卡是一种断电后,数据不丢失的存储设备,因此,为了保护系统启动文件不丢失,将系统启动文件存储于SD卡中;DDR是双倍数据速率的动态随机存储器,存取速度较快,因此,CPU将SD卡中的待处理系统启动文件搬移至DDR中运行。
终端设备在运行的过程,需要操作系统来完成终端设备所要实现的功能,如操作系统为Linux,需要通过Linux系统来完成该终端设备所要实现的功能,因此,每个终端设备都可能存储有一个或多个操作系统。存储操作系统的方式是将操作系统的系统启动文件存储于SD卡中,当需要启动操作系统时,CPU会将SD卡中的待处理系统启动文件搬移至DDR内,再运行DDR内的系统启动文件,从而实现操作系统的启动,如Linux的启动过程,需要将Linux的内核文件kernel以及相关的待处理系统启动文件从SD卡搬移至DDR中。
但是,上述操作系统的启动方法是由CPU全程控制的,因为CPU是执行指令集的执行模块,在执行指令的过程中,需要时序的参与,搬移速度较慢。
为此,参见图2,本申请提供了一种系统启动文件的处理方法,具体包括步骤S201-S206。
SD卡中存在多个待处理系统启动文件,包括:FSBL(First Stage Boot Loader,第一阶段引导加载程序)、DTB(Device Tree Blob,二进制格式的设备树)、BBL(BerkeleyBoot Loader,伯克利引导加载程序)以及操作系统内核文件(如Linux操作系统中内核文件kernel)。在SD卡烧录过程中,按照片上RAM的驱动文件所指定的待处理系统启动文件的存储区域,将待处理系统启动文件烧录至SD卡的指定位置。为了实现操作系统的启动,需要将烧录至SD卡的所有待处理系统启动文件逐个搬移至DDR中。
待处理系统启动文件的搬移顺序可由管理人员设置,其搬移待处理系统启动文件的顺序可以先搬移FSBL,再搬移BBL,再搬移DTB,最后搬移操作系统内核文件,其搬移顺序还可以是其他排列,此处不再具体说明。
S201:读取待处理系统启动文件在SD卡中的逻辑区块地址编号,逻辑区块地址编号是将SD卡划分为多个存储区域之后,对存储区域进行区分的识别标识。
需要说明的是,SD卡在制作过程中,就已经划分好了存储区域,如4M的SD卡中,存在0~511、512~1023、1024~1535、1536~2047、2048~2559、2560~3071、3072~3583、3584~4095共8个存储区域。每个存储区域都是等同的存储空间,如512k的存储空间。需要说明的是,该划分的存储空间还可以是其他数值,此处不再具体说明。划分结束后,为这8个存储区域设置识别标识,即第一逻辑区块地址编号,且第一逻辑区块地址编号根据存储区域的位置依此递增。
具体地,确定待处理系统文件在SD卡中对应的逻辑区块编号范围,即起始存储位置对应的逻辑区块编号至终止存储位置对应的逻辑区块编号范围,当某个待处理系统文件开始处理时,需要读取待处理系统文件在SD卡中的起始存储位置对应的逻辑区块编号,从该待处理系统文件的起始存储位置的逻辑区块编号开始处理,直至该待处理系统文件的终止存储位置的逻辑区块编号。
S202:将逻辑区块地址编号对应的存储数据读取至待搬移区域,待搬移区域用于临时存放存储数据。
需要说明的是,终端设备中存在有SPI通信模块,因为SD卡与CPU之间的通信协议不相同,因此,需要通过SPI通信模块来进行转接。其中,待搬移区域是SPI通信模块中的寄存器,用于临时存放SD卡返回的存储数据。
具体地,CPU下发搬移指令,SPI通信模块将该指令发送给SD卡,SD卡根据该指令将当前第一逻辑区块地址编号对应的存储数据返回至SPI通信模块的寄存器中。
S203:若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中。
具体地,持续检测SPI通信模块中寄存器的内容,若检测到该寄存器接收到存储数据,此时,片上RAM会对SPI通信模块中的RX_FIFO部分进行检测,即检测是否存在存储数据,若存在,则需要启动预先配置的直接内存存取模块(DMA(Direct Memory Access)模块)执行存储数据搬移。片上RAM根据告知信息对直接内存存取模块进行配置,其配置过程如下:
获取待搬移区域的物理地址;获取目标存储区域的物理地址;获取存储数据的数据量;将待搬移区域的物理地址作为直接内存存取模块的源搬移地址,目标存储区域的物理地址作为直接内存存取模块的目的搬移地址,将存储数据的数据量作为直接内存存取模块的搬移量。
需要说明的是,直接内存存取模块是能够对DDR直接存取的模块;片上RAM模块中存储有多个驱动文件,该驱动文件用于配置SD卡、DDR中的存储位置以及直接内存存取的配置等。
具体地,片上RAM将SPI通信模块中寄存器的物理地址、DDR中的目标存储区域的物理地址以及SPI通信模块寄存器中存储数据的数据量发送给直接内存存取模块,直接内存存取模块将SPI通信模块中寄存器的物理地址作为源搬移地址,将DDR中的目标存储区域的物理地址作为目的地址,将寄存器中存储数据的数据量作为此次搬移的数据量。
配置完直接内存存取模块后,使能直接内存存取模块,直接内存存取获取总线控制权,执行搬移动作,该搬移动作是将源搬移地址的存储数据搬移至目的搬移地址。
S204:判断逻辑区块地址编号是否对应待处理系统启动文件在SD卡中的终止存储位置。
具体地,若直接内存存取模块完成了逻辑区块地址编号对应的存储数据的搬移,则判断逻辑区块地址编号是否对应待处理系统启动文件在SD卡中的终止存储位置,如设置逻辑区块地址编号为RD_LBA_CNT,待处理系统启动文件在SD卡中的终止存储位置对应的逻辑区块地址编号为LBA_NUM,比较这两个字段的对应值,便可得到判断结果。
S205:若否,读取下一逻辑区块地址编号,返回步骤S202。
具体地,若判断结果为否,则表示,逻辑区块地址编号不是终止存储位置对应的逻辑区块地址编号,如RD_LBA_CNT=100,LBA_NUM=150,即RD_LBA_CNT<LBA_NUM,此种情况下,将逻辑区块地址编号更新为下一个逻辑区块地址编号,即RD_LBA_CNT加1,并返回至步骤S202,继续执行S202-S204步骤。
S206:若是,则获取下一待处理系统启动文件,返回步骤S201。
具体地,逻辑区块地址编号是对应待处理系统启动文件的终止位置,如RD_LBA_CNT=150,LBA_NUM=150,即RD_LBA_CNT=LBA_NUM,此种情况下,该待处理系统启动文件已经完成搬移,结束当前待处理系统启动文件的搬移步骤,此时需要判断所有待处理系统启动文件是否全部发送完毕,若否,则将当前待处理系统启动文件更新为下一个待处理系统启动文件,并返回步骤S201,继续执行步骤S201-S206步骤;若是,表示待处理系统启动文件全部搬移结束,结束搬移步骤。
由上述技术方案可知,本发明提供了一种系统启动文件的处理方法,该方法通过读取待处理系统启动文件在SD卡中的逻辑区块地址编号,将逻辑区块地址编号对应的存储数据读取至待搬移区域,若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中,判断逻辑区块地址编号是否对应待处理系统启动文件在SD卡中的终止存储位置;若否,读取下一逻辑区块地址编号,返回执行将逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;若是,则获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。该方法通过预先配置的直接内存存取模块将待搬移区域内的存储数据搬移至双速动态随机存储器中,其中直接内存存取模块可直接对双速动态随机存储器进行存取操作,存取过程不需要处理器的介入,因此,搬移速度较快。
需要说明的是,在现有技术中,由CPU全程控制整个搬移过程中,当搬移的待处理系统启动文件过大时,对CPU来说资源消耗太大,而且妨碍其他进程使用处理器,本申请提供所提供的技术方案通过直接内存存取模块完成待处理系统启动文件的搬移,在搬移过程中无需CPU介入,因此,本申请方案还解决了现有技术中,因CPU全程控制整个搬移过程,导致CPU资源消化过大的问题。
在一个示例中,系统启动文件的处理方法,还可以包括:
确定所述逻辑区块地址编号对应的存储数据在双速动态随机存储器中的目标存储区域;所述目标存储区域是根据驱动文件预先配置好的。
需要说明的是,终端设备中的片上RAM模块中,存在配置驱动文件,该驱动文件根据待处理系统启动文件在SD卡中的存储空间,确定出待处理系统启动文件在DDR中的存储空间。其中,DDR也可以根据SD卡对存储空间划分,且对划分后的存储空间进行逻辑区块地址编号,其划分的过程可以与SD的划分方法一致,即将DDR的存储空间划分为多个逻辑区块地址编号,逻辑区块地址编号的存储空间位置依此递增,其划分方式还可以是其他形式,此处不再具体说明。
具体地,假设SD卡为4M的存储空间,存在0~511、512~1023、1024~1535、1536~2047、2048~2559、2560~3071、3072~3583、3584~4095共8个存储区域,其中某个待处理系统启动文件存储在1024~2559的存储空间中,片上RAM会在DDR中确定出与该存储空间一致大小的存储空间,如512~2047的存储空间,从而确定出待处理系统启动文件在DDR中的存储空间位置为512~2047,并确定该存储空间起始存储位置以及终止存储位置,当某个待处理系统文件开始搬移时,所搬移的首个逻辑区块地址编号对应的存储数据在DDR中的存储位置便是该存储空间的起始存储位置,且后续搬移会在该起始存储位置的基础上一次递增。
在一个示例中,系统启动文件的处理方法,若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中,还包括:
若预先配置的直接内存存取模块成功将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中,则关闭所述直接内存存取模块。
具体地,判断直接内存存取模块是否完成搬移动作,若直接内存存取模块完成搬移动作,则直接内存存取模块会向CPU上报中断请求,断开与总线的连接,总线的控制权重新回归CPU,此时将关闭直接内存存取模块。
在一个示例中,存储数据中包含有直接内存存取使能标识,则若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中,具体包括如下步骤:
在检测到待搬移区域中存在直接内存存取模块使能标识,确定待搬移区域成功接收到存储数据,则生成使能信号;根据使能信号启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中。
具体地,SD卡返回给SPI通信模块寄存器中的存储数据中包含有直接内存存取模块使能标识,如0xFE字段,当检测到有该字段标识存在时,则表示SPI通信模块已经成功接收到相应的存储数据,并将接收消息发送给片上RAM,片上RAM根据该消息,生成使能信号,并将使能信号发送给直接内存存取模块,直接内存存取模块接收到使能信号后,将源搬移地址的存储数据搬移至目的搬移地址中。
在一个示例中,在执行首个待处理系统启动文件的搬移步骤之前,对SD卡进行初始化操作。
具体地,当终端设备上电之后,就需要启动操作系统,在启动操作系统之前需要将SD卡中的系统启动文件搬移至DDR中,在此之前,根据SD协议,需要将SD卡进行初始化,因此,每次启动操作系统之前都需要将SD卡进行初始化操作。
另外,参见图3,本申请提供了一种系统启动文件的处理装置,具体包括:读取模快301、第一读取模块302、启动模块303、判断模块304、第二读取模块305以及处理模块306。其中:
读取模块301,用于读取待处理系统启动文件在SD卡中的逻辑区块地址编号,逻辑区块地址编号是将SD卡划分为多个存储区域之后,对存储区域进行区分的识别标识。
第一读取模块302,用于将逻辑区块地址编号对应的存储数据读取至待搬移区域,待搬移区域用于临时存放存储数据。
启动模块303,用于若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中。
判断模块304,用于判断逻辑区块地址编号是否对应待处理系统启动文件在SD卡中的终止存储位置,若否,执行第二读取模块,若是,执行处理模块。
第二读取模块305,用于读取下一逻辑区块地址编号,返回执行将逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤。
处理模块306,用于获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。
由上述技术方案可知,本发明提供了一种系统启动文件的处理装置,该装置通过读取待处理系统启动文件在SD卡中的逻辑区块地址编号,将逻辑区块地址编号对应的存储数据读取至待搬移区域,若待搬移区域成功接收到存储数据,启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中,判断逻辑区块地址编号是否对应待处理系统启动文件在SD卡中的终止存储位置;若否,读取下一逻辑区块地址编号,返回执行将逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;若是,则获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。该装置通过预先配置的直接内存存取模块将待搬移区域内的存储数据搬移至双速动态随机存储器中,其中直接内存存取模块可直接对双速动态随机存储器进行存取操作,存取过程不需要处理器的介入,因此,搬移速度较快。
在一个示例中,系统启动文件的处理装置,还包括:
确定模块,用于确定逻辑区块地址编号对应的存储数据在双速动态随机存储器中的目标存储区域;目标存储区域是根据驱动文件预先配置好的。
在一个示例中,系统启动文件的处理装置,还包括:
配置模块,用于:获取待搬移区域的物理地址,获取目标存储区域的物理地址,获取存储数据的数据量,将待搬移区域的物理地址作为源搬移地址,目标存储区域的物理地址作为目的搬移地址,将存储数据的数据量作为搬移量。
在一个示例中,系统启动文件的处理装置,还包括:
关闭模块,用于若预先配置的直接内存存取模块成功将待搬移区域中的存储数据搬移至双速动态随机存储器中,则关闭直接内存存取模块。
在一个示例中,系统启动文件的处理装置,存储数据包含直接内存存取模块使能标识;接收直接内存存取模块使能标识表示待搬移区域已成功接收存储数据,则启动模块,包括:检测子模块以及驱动子模块。其中:
检测子模块,用于在检测到待搬移区域中存在直接内存存取模块使能标识,确定待搬移区域成功接收到存储数据,则生成使能信号。
驱动子模块,用于根据使能信号启动预先配置的直接内存存取模块将待搬移区域中的存储数据搬移至双速动态随机存储器中。
在一个示例中,系统启动文件的处理装置,还包括:
初始化模块:用于在执行首个待处理系统启动文件的搬移步骤之前,需要将SD卡进行初始化操作。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种系统启动文件的处理方法,其特征在于,包括:
读取待处理系统启动文件在SD卡中的逻辑区块地址编号,所述逻辑区块地址编号是将SD卡划分为多个存储区域之后,对所述存储区域进行区分的识别标识;
将所述逻辑区块地址编号对应的存储数据读取至待搬移区域,所述待搬移区域用于临时存放存储数据;
若所述待搬移区域成功接收到所述存储数据,启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至双速动态随机存储器中;
判断所述逻辑区块地址编号是否对应所述待处理系统启动文件在SD卡中的终止存储位置;
若否,读取下一逻辑区块地址编号,返回执行将所述逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;
若是,则获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。
2.根据权利要求1所述的系统启动文件的处理方法,其特征在于,还包括:
确定所述逻辑区块地址编号对应的存储数据在双速动态随机存储器中的目标存储区域;所述目标存储区域是根据驱动文件预先配置好的。
3.根据权利要求2所述的系统启动文件的处理方法,其特征在于,配置所述直接内存存取模块,包括:
获取待搬移区域的物理地址;
获取目标存储区域的物理地址;
获取存储数据的数据量;
将所述待搬移区域的物理地址作为所述直接内存存取模块的源搬移地址,所述目标存储区域的物理地址作为所述直接内存存取模块的目的搬移地址,将存储数据的数据量作为所述直接内存存取模块的搬移量。
4.根据权利要求1所述的系统启动文件的处理方法,其特征在于,若所述待搬移区域成功接收到所述存储数据,启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中之后,还包括:
若预先配置的直接内存存取模块成功将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中,则关闭所述直接内存存取模块。
5.根据权利要求1所述的系统启动文件的处理方法,其特征在于,所述存储数据包括直接内存存取模块使能标识,
则若所述待搬移区域成功接收到所述存储数据,启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中,包括:
在检测到所述待搬移区域中存在所述直接内存存取模块使能标识,确定所述待搬移区域成功接收到所述存储数据,则生成使能信号;
根据所述使能信号启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中。
6.根据权利要求1所述的系统启动文件的处理方法,其特征在于,在执行首个待处理系统启动文件的搬移步骤之前,对所述SD卡进行初始化操作。
7.一种系统启动文件的处理装置,其特征在于,包括:
读取模块,用于读取待处理系统启动文件在SD卡中的逻辑区块地址编号,所述逻辑区块地址编号是将SD卡划分为多个存储区域之后,对所述存储区域进行区分的识别标识;
第一读取模块,用于将所述逻辑区块地址编号对应的存储数据读取至待搬移区域,所述待搬移区域用于临时存放存储数据;
启动模块,用于若所述待搬移区域成功接收到所述存储数据,启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至双速动态随机存储器中;
判断模块,用于判断所述逻辑区块地址编号是否对应所述待处理系统启动文件在SD卡中的终止存储位置,若否,执行第二读取模块,若是,执行处理模块;
第二读取模块,用于读取下一逻辑区块地址编号,返回执行将所述逻辑区块地址编号对应的存储数据读取至待搬移区域这一步骤;
处理模块,用于获取下一待处理系统启动文件,返回读取待处理系统启动文件在SD卡中的逻辑区块地址编号这一步骤。
8.根据权利要求7所述的系统启动文件的处理装置,其特征在于,还包括:
确定模块,用于确定所述逻辑区块地址编号对应的存储数据在双速动态随机存储器中的目标存储区域;所述目标存储区域是根据驱动文件预先配置好的。
9.根据权利要求8所述的系统启动文件的处理装置,其特征在于,还包括:
配置模块,用于:获取待搬移区域的物理地址,获取目标存储区域的物理地址,获取存储数据的数据量,将所述待搬移区域的物理地址作为所述直接内存存取模块的源搬移地址,所述目标存储区域的物理地址作为所述直接内存存取模块的目的搬移地址,将存储数据的数据量作为所述直接内存存取模块的搬移量。
10.根据权利要求7所述的系统启动文件的处理装置,其特征在于,还包括:
关闭模块,用于若预先配置的直接内存存取模块成功将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中,则关闭所述直接内存存取模块。
11.根据权利要求7所述的系统启动文件的处理装置,其特征在于,所述存储数据包含直接内存存取模块使能标识,
则所述启动模块,包括:
检测子模块,用于在检测到所述待搬移区域中存在所述直接内存存取模块使能标识,确定所述待搬移区域成功接收到所述存储数据,则生成使能信号;
驱动子模块,用于根据所述使能信号启动预先配置的直接内存存取模块将所述待搬移区域中的存储数据搬移至所述双速动态随机存储器中。
12.根据权利要求7所述的系统启动文件的处理装置,其特征在于,还包括:初始化模块:用于在执行首个待处理系统启动文件的搬移步骤之前,对所述SD卡进行初始化操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910570856.5A CN110377345B (zh) | 2019-06-27 | 2019-06-27 | 系统启动文件的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910570856.5A CN110377345B (zh) | 2019-06-27 | 2019-06-27 | 系统启动文件的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377345A CN110377345A (zh) | 2019-10-25 |
CN110377345B true CN110377345B (zh) | 2022-08-02 |
Family
ID=68251039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910570856.5A Active CN110377345B (zh) | 2019-06-27 | 2019-06-27 | 系统启动文件的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377345B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238819B (zh) * | 2021-07-09 | 2021-09-21 | 成都菁蓉联创科技有限公司 | 一种适用于U-Boot的驱动文件动态加载方法及系统 |
CN113886297B (zh) * | 2021-09-27 | 2023-12-01 | 北京中电华大电子设计有限责任公司 | 一种基于dma的spi并发通讯se装置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246610A (zh) * | 2012-02-14 | 2013-08-14 | 中国科学院上海微系统与信息技术研究所 | 基于单类型存储器的嵌入式系统的动态存储管理方法 |
CN105320529A (zh) * | 2014-07-08 | 2016-02-10 | 中兴通讯股份有限公司 | 基于NAND-Flash双启动引导的启动方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307156A1 (en) * | 2007-06-08 | 2008-12-11 | Sinclair Alan W | System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium |
-
2019
- 2019-06-27 CN CN201910570856.5A patent/CN110377345B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246610A (zh) * | 2012-02-14 | 2013-08-14 | 中国科学院上海微系统与信息技术研究所 | 基于单类型存储器的嵌入式系统的动态存储管理方法 |
CN105320529A (zh) * | 2014-07-08 | 2016-02-10 | 中兴通讯股份有限公司 | 基于NAND-Flash双启动引导的启动方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110377345A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739487B2 (en) | Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from | |
US11080404B2 (en) | Firmware upgrade method, slave station of robot, and machine readable storage medium | |
EP3029912B1 (en) | Remote accessing method and corresponding system | |
JP5129770B2 (ja) | ネットワーク装置 | |
US8271707B2 (en) | Method and system for PCI hybrid function | |
CN111831309A (zh) | 物联网Wifi带载多MCU的升级方法、装置、设备及介质 | |
CN110377345B (zh) | 系统启动文件的处理方法及装置 | |
JP2009529721A (ja) | ブリッジサポートを有するプラットフォーム起動 | |
CN110099095B (zh) | 软件部署方法、装置、电子设备及计算机可读存储介质 | |
CN113867743B (zh) | 网络操作系统加载烧录方法、装置、电子设备及存储介质 | |
CN106708596B (zh) | 一种输入输出虚拟化资源的调整方法及处理器 | |
US10467173B2 (en) | Hot plugging of virtual bridges in a virtual PCI system | |
CN109190367B (zh) | 利用沙箱运行应用程序安装包的方法及装置 | |
WO2020113478A1 (zh) | 地址信息处理方法、装置、电子设备及存储介质 | |
CN111163167A (zh) | 一种系统安装方法及装置 | |
JP6877388B2 (ja) | 情報処理装置、移動体、情報処理方法、およびプログラム | |
CN111767082A (zh) | 计算芯片启动方法、装置和计算机系统 | |
US11360926B2 (en) | Configuration management device, configuration management system, configuration management method, and non-transitory computer readable storage medium | |
CN113849269A (zh) | 在虚拟机中添加gpu资源的方法及装置 | |
CN112069113A (zh) | I2c设备配置方法和系统 | |
US10037257B1 (en) | Examining local hardware using a location-aware peripheral device | |
CN110795377A (zh) | 芯片热插拔的方法、装置及计算机、设备、介质和产品 | |
CN115397033B (zh) | 无线通信方法、装置、无线通信模组、介质及程序产品 | |
CN117435143B (zh) | 一种数据处理方法、装置及电子设备 | |
TWI786766B (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 |