一种基于嵌入式系统的数据拷贝方法及系统的制作方法

文档序号:6464304阅读:225来源:国知局
专利名称:一种基于嵌入式系统的数据拷贝方法及系统的制作方法
技术领域
本发明涉及嵌入式技术领域,具体涉及一种基于嵌入式系统的数 据拷贝方法及系统。
背景技术
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件 可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格 要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、 嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其 他设备的控制、监视或管理等功能。
在实际中嵌入式系统的用户应用程序是由主机如PC机实现的,
主机通过通信通道与嵌入式微处理器通信,通过向嵌入式微处理器发 送控制指令,嵌入式微处理器根据该控制指令控制外围硬件设备,最 终实现对其他设备的控制、监视或管理等功能。与嵌入式微处理器连 接的外围硬件设备很多带有寄存器,用于存储一些数据,目前基于嵌 入式系统的数据拷贝过程整个是由主机控制,如通过主机控制将外围 硬件设备中寄存器的内容拷贝到嵌入式微处理器的存储单元,具体方
法步骤如图l所示,该方法主要包括以下步骤步骤sl01,由主机发 送数据拷贝命令,该拷贝命令经通信通道被发送到嵌入式微处理器; 步骤sl02,嵌入式微处理器对该拷贝命令进行命令解析,根据解析后 的指令,得知需读取指定的外围硬件设备寄存器中的数据,并读取指 定外围硬件设备中寄存器的数据;步骤sl03,嵌入式微处理器将读取 的数据经通信通道发送到主机,并存放在主机中开辟的缓存区,暂时 存储该数据;步骤sl04,主机将存放在缓存区中的上述数据发送,经 通信通道发送到嵌入式设备的存储单元中。
4由于实现从外围硬件设备中寄存器的内容拷贝到嵌入式微处理 器的存储单元的过程,从数据的获取、数据的存放整个拷贝过程都经
由主机,在步骤sl01、 s103、 s104中都需要经过通信通道,因此完成 一次内存拷贝需要三次经过通信通道, 一般嵌入式系统中拷贝的数据 量是很大的,因此运行速度很慢,浪费了很多时间。

发明内容
本发明的目的是提供一种嵌入式系统的数据拷贝方法及系统,利 用该方法和系统,实现由嵌入式系统中的外围硬件设备的存储单元中 的数据拷贝到嵌入式微处理器中的存储单元,整个过程只需要经历一 次通信通道,大大减少了通道间的数据流量,节省了时间,提高了运 行速度。
为实现上述目的,本发明釆用如下技术方案 提供一种基于嵌入式系统的数据拷贝方法,该方法主要包括以下 步骤
由主机发送数据拷贝命令到嵌入式微处理器;
嵌入式微处理器对数据拷贝命令进行命令解析,根据解析后得到 的指令在嵌入式微处理器中进行内存分配,得到分配的内存,并读取 外围硬件设备存储单元中的数据,将所述数据读取到分配的内存中;
由嵌入式微处理器将所述分配的内存中的数据写入到所述嵌入 式微处理器的存储单元中;
所述嵌入式微处理器释放所述分配的内存。
该方法中,在对数据拷贝命令进行解析后还包括是否执行数据拷 贝指令的判断步骤,若执行数据拷贝指令,由所述嵌入式微处理器进 行内存分配;若不执行数据拷贝指令,则执行以下步骤
嵌入式微处理器读取外围硬件设备中寄存储单元的数据;
将读取的数据发送到主机,并存放在主机中的缓存区;
主机将所述缓存区中的数据发送到嵌入式设备的存储单元中。该方法中,在将所述数据读取到分配的内存之前,所述分配的内 存为空闲内存。
该方法中,所述外围硬件设备的存储单元为寄存器。
该方法中,所述主机经通信通道与所述嵌入式微处理器通信,所 述通信通道为通用异步接收/发送装置。
该方法中,所述外围硬件设备为视频编解码器、音频编解码器或 图形编解码器。
一种基于嵌入式系统的数据拷贝系统,该数据拷贝系统包括 数据拷贝命令发送单元,用于将主机发送的数据拷贝命令发送到
嵌入式微处理器;
命令解析单元,用于对嵌入式微处理器接收的数据拷贝命令进行
命令解析;
内存分配单元,用于根据所述命令解析单元解析后得到的指令在
嵌入式微处理器中进行内存分配,得到分配的内存;
拷贝数据读取单元,用于根据所述命令解析单元解析后得到的指
令读取外围硬件设备存储单元中的数据,将其读取到分配的内存中; 拷贝数据写入单元,用于将所述分配的内存中的数据写入到嵌入
式微处理器的存储单元中;
内存释放单元,用于将嵌入式微处理器中所述分配的内存释放。
其中,所述外围硬件设备的存储单元为寄存器。 其中,所述外围硬件设备为视频编解码器、音频编解码器或图形 编解码器。
利用该方法和系统,实现由嵌入式系统中的外围硬件设备的存储 单元中的数据拷贝到嵌入式微处理器中的存储单元,整个过程只需要 经历一次通信通道,大大减少了通道间的数据流量,减少了由外围硬 件设备的存储单元中的数据拷贝到嵌入式微处理器中的存储单元对 拷的时间,极大的提高了运行速度。


图i为现有的基于嵌入式系统的数据拷贝方法流程图; 图2为本发明基于嵌入式系统的数据拷贝方法流程图; 图3为本发明基于嵌入式系统的数据拷贝系统组成示意图。
具体实施例方式
本发明提出的基于嵌入式系统的数据拷贝方法及系统,结合附图 和实施例详细说明如下。 实施例i
本实施例中嵌入式系统的主机为常用的个人计算机PC机,外围
硬件设备是釆用视频编解码器,该视频编解码器的主要数据存放在寄
存器中,嵌入式微处理器与PC机连接有通道通信,本实施例中通信 通道为通用异步接收/发送装置UART ( Universal Asynchronous Receiver/Transmitter), UART是一个并行输入成为串行输出的设备。 本实施例的方法实现将外围硬件设备视频编解码器的寄存器中的数 据拷贝到嵌入式微处理器的存储单元中,具体方法和系统结合附图2、 附图3详述如下
步骤s201:由PC机发送数据拷贝命令,该数据拷贝命令经异步接 收/发送装置UART发送到嵌入式微处理器;
该步骤是由数据拷贝系统中的数据拷贝命令发送单元完成的; 步骤s202:嵌入式微处理器对接收的数据拷贝命令进行命令解 析,根据解析后得到的指令在嵌入式微处理器中进行内存分配,得到 分配的内存,并读取外围硬件设备视频编解码器的寄存器中的数据,
将所述数据读取到分配的内存中;
该步骤中,本实施例中釆用命令解析单元进行命令解析,解析后
由拷贝数据读取单元读取视频编解码器的寄存器数据,另外,在微处 理器内进行内存分配是由内存分配单元完成的,将读取的寄存器中数 据存放到分配的内存中具体是由系统的拷贝数据读取单元完成的。步骤s203:将所述分配的内存中的数据写入到所述嵌入式微处理 器的存储单元中;
该步骤是由数据拷贝系统中的拷贝数据写入单元完成的。 步骤s204:所述嵌入式微处理器释放所述分配的内存; 该步骤由数据拷贝系统中的内存释放单元完成。 本实施例基于嵌入式系统的数据拷贝方法,其中外围硬件设备不 限于釆用视频编解码器,也可以是其它的带有存储单元的外围硬件设 备,如音频编解码器、图形编解码器等;本实施例中的嵌入式微处理 器可以釆用但不限于ARM (Advanced RISC Machines)微处理器,
还可以是单片机等微处理器;另外,嵌入式微处理器与主机之间的连 接通道也可以是USB接口等,不限于通用异步接收/发送装置UART; 本实施例中通过嵌入式微处理器实现数据拷贝时的临时分配,拷贝完 毕后进行内存释放,在具体实施时需要获知嵌入式微处理器中的哪一 块内存是空闲的,并且大小是合适的,可以被分配作为缓存的,具体 实现内存分配和管理是由结构体和指针来实现,由于嵌入式微处理器 中内存按地址从小到大排列的话,并不是所用已被占用的内存地址连 续排列,其它未被占用的内存地址连续排列,被分配的内存是分段分 布的,空闲内存也是分段分布,定义指向每段内存起始地址的指针, 及由指向该段内存的下一段内存的指针和该段内存所占用的长度组 成的结构体,同时定义每段内存的状态,分占有状态和空闲状态,可 以反应内存的占用情况,实现对内存的管理,本实施例中在读取外围 硬件设备视频编解码器的寄存器中的数据时,根据读取数据的长度, 通过上述指向每段内存起始地址的指针、指向每段内存下一段的指针 和每段的内存所占有的长度及每段内存的状态,从内存的起始地址查 找,可以迅速查找到空闲内存段的地址范围及长度,该过程为合并空 闲内存块的过程,在获取到与读取数据长度相同的内存地址范围后, 将上述地址范围设置为临时被分配状态,并将读取的数据读入该临时被分配内存中。在将读取到临时被分配内存中的数据写入到嵌入式微 处理器的存储单元中后,上述临时被分配状态的内存被释放,将上述 临时被分配内存的状态重新设置为空闲状态,完成内存释放过程。 如图3所示为本发明基于嵌入式系统的数据拷贝系统,包括 数据拷贝命令发送单元,用于将主机发送的数据拷贝命令发送到 嵌入式微处理器;命令解析单元,用于对嵌入式微处理器接收的数据 拷贝命令进行命令解析;内存分配单元,用于根据所述命令解析单元 解析后得到的指令在嵌入式微处理器中进行内存分配,得到分配的内
存;拷贝数据读取单元,用于根据所述命令解析单元解析后得到的指 令读取外围硬件设备存储单元中的数据,将其读取到分配的内存中; 拷贝数据写入单元,用于将所述分配的内存中的数据写入到嵌入式微 处理器的存储单元中;内存释放单元,用于将嵌入式微处理器中所述 分配的内存释放。
具体实施时,各个单元由程序中的函数和命令完成相应的功能。
实施例2
该实施例与实施l不同之处在于,实施例1实现了数据拷贝过程 中只有一次通过数据通道,本实施例中,通过对主机发送的数据拷贝 命令解析,在对数据拷贝命令进行解析后还包括是否执行数据拷贝指 令的判断步骤,若执行数据拷贝指令,由所述嵌入式微处理器进行内 存分配,即实行实施例1的数据拷贝方法;若不执行数据拷贝指令, 则执行以下步骤
嵌入式微处理器读取外围硬件设备中寄存储单元的数据; 将读取的数据发送到主机,并存放在主机中的缓存区; 主机将所述缓存区中的数据发送到嵌入式设备的存储单元中。 本实施例中由于增加了否执行数据拷贝指令判断,可以在一个嵌 入式系统实现可选的两种数据拷贝方法,即可以釆用实施例l所述的 方法进行数据拷贝,也可以采用现有技术中的数据拷贝方法。要拷贝的外围硬件设备中的数据量是非常小时,可以通过主机设 置数据拷贝命令中的是否执行数据拷贝命令的值,将其设置为不执行 数据拷贝命令,而釆用现有技术中的数据拷贝方法进行数据拷贝,这 样就可以省去在嵌入式微处理器中内存分配、释放等步骤。
利用本实施例的方法在可以实现通过一套程序,实现两种数据拷 贝方法,且在程序中其调用函数也都是统一的。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关 技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下, 还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明 的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1、一种基于嵌入式系统的数据拷贝方法,其特征在于,该方法包括以下步骤由主机发送数据拷贝命令到嵌入式微处理器;嵌入式微处理器对数据拷贝命令进行命令解析,根据解析后得到的指令在嵌入式微处理器中进行内存分配,得到分配的内存,并读取外围硬件设备存储单元中的数据,将所述数据读取到分配的内存中;由嵌入式微处理器将所述分配的内存中的数据写入到所述嵌入式微处理器的存储单元中;所述嵌入式微处理器释放所述分配的内存。
2、 如权利要求1所述的基于嵌入式系统的数据拷贝方法,其特 征在于,该方法中,在对数据拷贝命令进行解析后还包括是否执行数 据拷贝指令的判断步骤,若执行数据拷贝指令,由所述嵌入式微处理 器进行内存分配;若不执行数据拷贝指令,则执行以下步骤嵌入式微处理器读取外围硬件设备中寄存储单元的数据; 将读取的数据发送到主机,并存放在主机中的缓存区; 主机将所述缓存区中的数据发送到嵌入式设备的存储单元中。
3、 如权利要求1所述的基于嵌入式系统的数据拷贝方法,其特 征在于,在将所述数据读取到分配的内存之前,所述分配的内存为空 闲内存。
4、 如权利要求1所述的基于嵌入式系统的数据拷贝方法,其特 征在于,所述外围硬件设备的存储单元为寄存器。
5、 如权利要求1所述的基于嵌入式系统的数据拷贝方法,其特 征在于,所述主机经通信通道与所述嵌入式微处理器通信,所述通信 通道为通用异步接收/发送装置。
6、 如权利要求1所述的基于嵌入式系统的数据拷贝方法,其特 征在于,所述外围硬件设备为视频编解码器、音频编解码器或图形编解码器。
7、 一种基于嵌入式系统的数据拷贝系统,其特征在于,该数据 拷贝系统包括数据拷贝命令发送单元,用于将主机发送的数据拷贝命令发送到嵌入式微处理器;命令解析单元,用于对嵌入式微处理器接收的数据拷贝命令进行命令解析;内存分配单元,用于根据所述命令解析单元解析后得到的指令在嵌入式微处理器中进行内存分配,得到分配的内存;拷贝数据读取单元,用于根据所述命令解析单元解析后得到的指令读取外围硬件设备存储单元中的数据,将其读取到分配的内存中; 拷贝数据写入单元,用于将所述分配的内存中的数据写入到嵌入式微处理器的存储单元中;内存释放单元,用于将嵌入式微处理器中所述分配的内存释放。
8、 如权利要求7所述的基于嵌入式系统的数据拷贝系统,其特征在于,所述外围硬件设备的存储单元为寄存器。
9、 如权利要求7所述的基于嵌入式系统的数据拷贝系统,其特 征在于,所述外围硬件设备为视频编解码器、音频编解码器或图形编
全文摘要
本发明涉及一种基于嵌入式系统的数据拷贝方法及系统,该方法包括步骤由主机发送数据拷贝命令到嵌入式微处理器;嵌入式微处理器根据数据拷贝命令分配内存,并读取外围硬件设备存储单元中的数据到分配的内存中;将分配的内存中的数据写入到所述嵌入式微处理器的存储单元中;释放分配的内存,该系统中包括的内存分配单元,用于接收到数据拷贝命令后进行内存分配;拷贝数据读取单元,用于读取外围硬件设备存储单元中的数据到分配的内存中;拷贝数据写入单元,将数据写入到嵌入式微处理器的存储单元中;然后由内存释放单元释放占有的内存,利用该方法和系统进行数据拷贝时,只需要经历一次通信通道,减少了数据流量,节省了时间,提高了运行速度。
文档编号G06F9/46GK101290568SQ20081011415
公开日2008年10月22日 申请日期2008年5月30日 优先权日2008年5月30日
发明者张攀峰, 游明琦 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1