基于AMP系统的FLASH访问处理方法及装置转让专利

申请号 : CN202010104682.6

文献号 : CN111338998B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 秦金昆吴闽华孟庆晓刘文清杨超

申请人 : 深圳震有科技股份有限公司

摘要 :

本申请涉及基于AMP系统的FLASH访问处理方法及装置,所述方法包括:读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存;写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物理地址,目的地址是先DMA到主核的内存,然后通过FLASH写接口写入FLASH。本发明既能提高访问速度,也能避免主从核陷入死锁的问题。

权利要求 :

1.一种基于AMP系统的FLASH访问处理方法,其特征在于,所述方法包括:将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;

读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存;所述从核将读FLASH的参数利用核间通讯发送给主核中的读FLASH的参数包括:FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数;

写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,所述DMA参数包括源地址和目的地址,所述源地址为从核内存物理地址,所述目的地址先通过DMA功能存放到主核的内存,然后通过FLASH写接口写入FLASH;所述写入目的FLASH写入参数中的目的FLASH写入参数包括:要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数。

2.根据权利要求1所述基于AMP系统的FLASH访问处理方法,其特征在于,所述将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道的步骤还包括:预先定义从核访问FLASH的核间通讯消息结构体。

3.根据权利要求1所述基于AMP系统的FLASH访问处理方法,其特征在于,所述读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存的步骤包括:采用DMA直接内存存取传输,主核控制DMA通道,从核将读FLASH的参数利用核间通讯发送给主核;

主核接收到从核的请求后,设置DMA通道参数,并启动一次DMA传输,随后DMA控制器将FLASH的数据直接拷贝到从核的指定内存。

4.根据权利要求1所述基于AMP系统的FLASH访问处理方法,其特征在于,所述写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,所述DMA参数包括源地址和目的地址,所述源地址为从核内存物理地址,所述目的地址先通过DMA功能存放到主核的内存,然后通过FLASH写接口写入FLASH的步骤包括:

写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数,通过核间通讯传递给主核;

主核设置DMA参数时,所述DMA参数包括源地址和目的地址,所述源地址为从核内存物理地址,所述目的地址并不直接是FLASH地址,而是先通过DMA功能存放到主核的内存,然后通过FLASH写接口写入FLASH。

5.一种基于AMP系统的FLASH访问处理装置,其特征在于,所述装置包括:设置模块,用于将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;

读数据控制模块,用于读数据时,控制从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存;所述从核将读FLASH的参数利用核间通讯发送给主核中的读FLASH的参数包括:FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数;

写数据控制模块,用于写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,所述DMA参数包括源地址和目的地址,所述源地址为从核内存物理地址,所述目的地址先通过DMA功能存放到主核的内存,然后通过FLASH写接口写入FLASH;所述写入目的FLASH写入参数中的目的FLASH写入参数包括:要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数。

6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述基于AMP系统的FLASH访问处理方法的步骤。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的基于AMP系统的FLASH访问处理方法的步骤。

说明书 :

基于AMP系统的FLASH访问处理方法及装置

技术领域

[0001] 本申请涉及嵌入式系统技术领域,特别是涉及一种基于AMP系统的FLASH访问处理方法及装置、计算机设备、可读存储介质。

背景技术

[0002] 在嵌入式多核系统领域,存在两种技术,一是AMP(Asymmetric  Multi‑Processing)非对称多处理,另外一种是SMP(Symmetric Multi Processing)对称多处理。
SMP系统上的每个CPU共享系统所有资源,包括串口在内,SMP系统只要一个控制台就够了。
而AMP每个CPU有独立的运行代码,任务的调度也是独立的,对整个系统资源的访问也是互
斥的,每个CPU上运行的操作系统(OS)甚至完全不一样。
[0003] 一个硬件CPU上的两个内核,各自运行自己的操作系统和应用软件。但是,网口,串口,flash,CPLD等等,这些外围模块和驱动都是共用的,在一个嵌入式单板上。以NOR FLASH
为例,在一个双核CPU的嵌入式单板上,运行AMP系统。如果两个CPU内核都要访问NOR 
FLASH,就变得不那么简单了。如果一个CPU内核写FLASH,另外一个读FLASH,那么FLASH芯片
内部就会出错,造成FLASH无法访问。简单的概括,就是NOR FLASH只能被两个CPU内核互斥
的访问。
[0004] 现有技术中,为了解决AMP下两个CPU内核对同一NOR FLASH的访问,人们通常用到几种常用方法。现有技术方法一:主核可以直接读写NOR FLASH,从核只能通过主核间接访
问,并将访问的结果通过主从消息反馈给从核。这种方法,需要拷贝多次内存,性能较差。如
图1所示,此种方法,主核与从核均需要拷贝一次,才能将从核要写的数据传到主核并写入
FLASH,或者主核将FLASH数据读出来,拷贝到主从核共享内存,从核再从共享内存拷贝到应
用程序。还有一个明显的问题是,主从核共享内存大小非常有限,如果从核要读写入几十MB
的FLASH数据,需要分若干次分块才能完成。
[0005] 现有技术方法二,双核均可以访问FLASH,同时创建一个主从核的互斥锁,对主从核访问FLASH接口做互斥限制。这种方法很大缺陷是,如果互斥锁被一个核长时间占用,甚
至该核进入死循环,那么另外一个核将长时间或者无法访问FLASH。如图2所示,左侧是主核
获得了互斥锁,主核可以直接访问FLASH,从核访问FLASH将被阻塞。右侧是主核获得了互斥
锁,从核可以直接访问FLASH,主核访问FLASH将被阻塞。
[0006] 如果当前锁被主核占用,长时间占用,那么从核将长时间或者无法访问FLASH。
[0007] 因此,现有技术有待改进。

发明内容

[0008] 本发明针对上述现有技术中的技术问题,提供一种基于AMP系统的FLASH访问处理方法及装置、计算机设备、可读存储介质,本发明既能提高访问速度,也能避免主从核陷入
死锁的问题。
[0009] 本发明的技术方案如下:
[0010] 一种基于AMP系统的FLASH访问处理方法,其中,所述方法包括:
[0011] 将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;
[0012] 读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存;
[0013] 写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物理地址,目的地址是先
DMA到主核的内存,然后通过FLASH写接口写入FLASH。
[0014] 所述基于AMP系统的FLASH访问处理方法,其中,所述将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制
DMA通道的步骤还包括:
[0015] 预先定义从核访问FLASH的核间通讯消息结构体。
[0016] 所述基于AMP系统的FLASH访问处理方法,其中,所述读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将
FLASH的数据直接拷贝到从核的指定内存的步骤包括:
[0017] 采用DMA直接内存存取传输,主核控制DMA通道,从核将读FLASH的参数利用核间通讯发送给主核;
[0018] 主核接收到从核的请求后,设置DMA通道参数,并启动一次DMA传输。随后DMA控制器将FLASH的数据直接拷贝到从核的指定内存。
[0019] 所述基于AMP系统的FLASH访问处理方法,其中,所述从核将读FLASH的参数利用核间通讯发送给主核中的FLASH的参数包括:
[0020] FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数。
[0021] 所述基于AMP系统的FLASH访问处理方法,其中,所述主核设置DMA参数中的DMA参数包括:
[0022] 源地址为要读的FLASH物理地址,目的地址为存放FLASH数据的内存物理地址,读取的长度。
[0023] 所述基于AMP系统的FLASH访问处理方法,其中,所述写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA
参数,源地址为从核内存物理地址,目的地址是先DMA到主核的内存,然后通过FLASH写接口
写入FLASH的步骤包括:
[0024] 写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数,通过核间通讯传递给主核;
[0025] 主核设置DMA参数时,源地址为从核内存物理地址,目的地址并不直接是FLASH地址,而是先DMA到主核的内存,然后通过FLASH写接口写入FLASH。
[0026] 一种基于AMP系统的FLASH访问处理装置,其中,所述装置包括:
[0027] 设置模块,用于将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;
[0028] 读数据控制模块,用于读数据时,控制从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核
的指定内存;
[0029] 写数据控制模块,用于写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物理
地址,目的地址是先DMA到主核的内存,然后通过FLASH写接口写入FLASH。
[0030] 所述.基于AMP系统的FLASH访问处理装置,其中,所述从核将读FLASH的参数利用核间通讯发送给主核中的FLASH的参数包括:FLASH地址,存放FLASH数据的内存物理地址,
读取长度,读命令四个参数;
[0031] 所述主核设置DMA参数中的DMA参数包括:源地址为要读的FLASH物理地址,目的地址为存放FLASH数据的内存物理地址,读取的长度。
[0032] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现任一项所述基于AMP系统的FLASH访问处理方法的步
骤。
[0033] 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现任一项所述的基于AMP系统的FLASH访问处理方法的步骤。
[0034] 与现有技术相比,本发明实施例具有以下优点:
[0035] 本发明提供一种基于AMP系统的FLASH访问处理方法及装置、计算机设备、可读存储介质,本发明采用DMA(直接内存存取)传输,主核控制DMA通道,从核将读FLASH的参数
(FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数)利用核间通讯发
送给主核。主核接收到从核的请求后,设置DMA通道参数(源地址为要读的FLASH物理地址,
目的地址为存放FLASH数据的内存物理地址,读取的长度),并启动一次DMA传输。随后,DMA
控制器将FLASH的数据直接拷贝到从核的指定内存;
[0036] 写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数,通过核间通讯传递给主核。主核设置DMA参数时,源地址为从核内存物
理地址,目的地址并不直接是FLASH地址,而是先DMA到主核的内存,然后通过FLASH写接口
写入FLASH;并且实现简单,可靠性高。

附图说明

[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其他的附图。
[0038] 图1和图2为现有技术的主核与从核连接结构示意图。
[0039] 图3为本发明实施例1的一种基于AMP系统的FLASH访问处理方法的流程示意图。
[0040] 图4为本发明实施例1的一种基于AMP系统的FLASH访问处理方法的读数据原理示意图。
[0041] 图5为本发明实施例1的一种基于AMP系统的FLASH访问处理方法的写数据原理示意图。
[0042] 图6为本发明实施例2的一种基于AMP系统的FLASH访问处理方法的读数据流程示意图。
[0043] 图7为本发明实施例2的一种基于AMP系统的FLASH访问处理方法的主从接收到从核写FLASH请求命令后的流程示意图。
[0044] 图8为本发明实施例2的一种基于AMP系统的FLASH访问处理方法的从核写FLASH的流程示意图。
[0045] 图9为本发明实施例2的一种基于AMP系统的FLASH访问处理方法的主从接收到从核写FLASH请求命令后写入FLASH的流程示意图。
[0046] 图10为本发明实施例中一种基于AMP系统的FLASH访问处理装置的结构示意图。
[0047] 图11为本发明实施例中计算机设备的内部结构图。

具体实施方式

[0048] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本
发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在
没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049] 发明人经过研究发现,现有技术中,为了解决AMP下两个CPU内核对同一NOR FLASH的访问,人们通常用到几种常用方法。现有技术方法一:主核可以直接读写NOR FLASH,从核
只能通过主核间接访问,并将访问的结果通过主从消息反馈给从核。这种方法,需要拷贝多
次内存,性能较差。如图1所示,此种方法,主核与从核均需要拷贝一次,才能将从核要写的
数据传到主核并写入FLASH,或者主核将FLASH数据读出来,拷贝到主从核共享内存,从核再
从共享内存拷贝到应用程序。还有一个明显的问题是,主从核共享内存大小非常有限,如果
从核要读写入几十MB的FLASH数据,需要分若干次分块才能完成。现有技术方法二,双核均
可以访问FLASH,同时创建一个主从核的互斥锁,对主从核访问FLASH接口做互斥限制。这种
方法很大缺陷是,如果互斥锁被一个核长时间占用,甚至该核进入死循环,那么另外一个核
将长时间或者无法访问FLASH。如图2所示,左侧是主核获得了互斥锁,主核可以直接访问
FLASH,从核访问FLASH将被阻塞。右侧是主核获得了互斥锁,从核可以直接访问FLASH,主核
访问FLASH将被阻塞。如果当前锁被主核占用,长时间占用,那么从核将长时间或者无法访
问FLASH的技术问题。
[0050] 为了解决上述问题,在本发明实施例中,读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直
接拷贝到从核的指定内存;写数据时,从核将要写入的数据所在的内存物理地址,写入目的
FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物理地
址,目的地址是先DMA到主核的内存,然后通过FLASH写接口写入FLASH。本发明提出一种全
新的方法,解决上述两种方法的问题,既能提高访问速度,也能避免主从核陷入死锁的问
题,并且实现简单,可靠性高。
[0051] 下面结合附图,详细说明本发明的各种非限制性实施方式。
[0052] 请参阅图3,图3示出了本发明实施例一种基于AMP系统的FLASH访问处理方法,所述方法包括以下步骤:
[0053] 步骤S1、将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;
[0054] 本发明中,如图4所示,将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道。
[0055] 步骤S2、读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存;
[0056] 本发明实施例中,其中,所述从核将读FLASH的参数利用核间通讯发送给主核中的FLASH的参数包括:FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参
数。
[0057] 所述主核设置DMA参数中的DMA参数包括:源地址为要读的FLASH物理地址,目的地址为存放FLASH数据的内存物理地址,读取的长度。
[0058] 本发明采用DMA(直接内存存取)传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成,CPU不参与
数据的传输,从而大大降低CPU的负荷。
[0059] 例如,如图4所示,读数据时,主核控制DMA通道,从核将读FLASH的参数(FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数)利用核间通讯发送给主
核。主核接收到从核的请求后,设置DMA通道参数(源地址为要读的FLASH物理地址,目的地
址为存放FLASH数据的内存物理地址,读取的长度),并启动一次DMA传输。随后,DMA控制器
将FLASH的数据直接拷贝到从核的指定内存。
[0060] 步骤S3、写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物理地址,目的地
址是先DMA到主核的内存,然后通过FLASH写接口写入FLASH。
[0061] 本发明实施例中,写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数,通过核间通讯传递给主核;主核设置DMA参数时,源地
址为从核内存物理地址,目的地址并不直接是FLASH地址,而是先DMA到主核的内存,然后通
过FLASH写接口写入FLASH。
[0062] 例如如图5所示,从核写FLASH时,因为FLASH并不支持直接写入,而是需要一系列命令才能将数据写入。从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长
度,写命令四个参数,通过核间通讯传递给主核。主核设置DMA参数时,源地址为从核内存物
理地址,目的地址并不直接是FLASH地址,而是先DMA到主核的内存,然后通过FLASH写接口
写入FLASH。
[0063] 这样,通过本发明的方法既能提高访问速度,也能避免主从核陷入死锁的问题。
[0064] 以下通过具体的应用实施例对本发明做进一步详细说明:
[0065] 1)、定义从核访问FLASH的核间通讯消息结构体:
[0066] typedef struct
[0067] {
[0068] volatile ulong ulFlashAddr;//要读/写的flash地址
[0069] volatile ulong ulRamAddr;//要存放或者写入内存物理地址
[0070] volatile ulong ulLength;//一次要读写的长度,字节数
[0071] volatile ulong ulCommand;//读写命令读=0,写=1
[0072] }FLASH_OP_CMD;
[0073] 2)、设定FLASH的大小为64MB,从核内存起始物理地址为512M~1024MB,FLASH基地址FLASH_BASE;
[0074] 3)、图6为从核读FLASH,先向主核发送读FLASH请求,然后等待主核的执行结果。
[0075] 图6中,FLASH读函数;定义FLASH_OP_CMD cmd;对cmd结构体赋值,分别填入FLASH地址,存放数据的内存物理地址,读FLASH的长度,命令码为0;利用核间通讯将结构体cmd发
送给主核;等待主核返回命令执行结果;返回执行结果成功或者失败。
[0076] 4)、图7为主从接收到从核写FLASH请求命令后的流程。如图7所示,
[0077] 步骤10、FLASH读函数FLASH_OP_CMD cmd,进入步骤11;
[0078] 步骤11、uIlength<64M,即先判断长度是否超过FLASH大小64M,当是进入步骤12,当否进入步骤18;
[0079] 步骤12、512M
[0080] 即再判断从核内存物理地址是否在512~1024M之间;
[0081] 步骤13、0M
[0082] 步骤14、ulCommand==0?当是进入步骤15,当否进入步骤18;
[0083] 即最后判断是否为读命令0。
[0084] 步骤15、设置DMA通道参源地址=ulFlashAddr+FLASHI_BASE、目的地址=ulRamAddr,进入步骤16;
[0085] 步骤16、启动DMA通道,进入步骤17;
[0086] 步骤17、返回DMA通道传输的结果,成功或者失败,发送给从核;
[0087] 设置DMA通道参数,启动DMA后,等待DMA传输成功或者失败,返回该结果;
[0088] 步骤18、返回失败给从核。
[0089] 即如果判断失败,则直接返回失败。
[0090] 5)从核写FLASH,先向主核发送写FLASH请求,然后等待主核的执行结果;
[0091] 图8中,FLASH读函数;定义FLASH_OP_CMD cmd;对cmd结构体赋值,分别填入FLASH地址,存放数据的内存物理地址,读FLASH的长度,命令码为1;利用核间通讯将结构体cmd发
送给主核;等待主核返回命令执行结果;返回执行结果成功或者失败。
[0092] 6)、主核收到从核的写FLASH命令后,通过DMA通道将从核要写的数据传输到自己的内存空间,然后再通过写驱动函数写入FLASH中,最后将结果发送给从核,如图9所示;
[0093] 步骤20、FLASH读函数FLASH_OP_CMD cmd,进入步骤21;
[0094] 步骤21、uIlength<64M,即先判断长度是否超过FLASH大小64M,当是进入步骤22,当否进入步骤29;
[0095] 步骤22、512M
[0096] 即判断从核内存物理地址是否在512~1024M之间;
[0097] 步骤23、0M
[0098] 步骤24、ulCommand==0?当是进入步骤25,当否进入步骤29;
[0099] 即判断是否为读命令0。
[0100] 步骤25、申请临时缓存buf[ulLength],设置DMA通道参:源地址=ulRamAddr、目的地址=but,对应的物理地址,进入步骤26;
[0101] 步骤26、启动DMA通道,进入步骤27;
[0102] 步骤27、判断返回DMA通道传输是否成功,当是进入步骤28,当否进入步骤29;
[0103] 设置DMA通道参数,启动DMA后,等待DMA传输成功或者失败,返回该结果;
[0104] 步骤28、将flash_write(but,ulFlashAddr,ulLength)执行结果发送给从核。
[0105] 步骤29、返回失败给从核。
[0106] 由上可见,本发明提供一种基于AMP系统的FLASH访问处理方法,采用DMA(直接内存存取)传输,主核控制DMA通道,从核将读FLASH的参数(FLASH地址,存放FLASH数据的内存
物理地址,读取长度,读命令四个参数)利用核间通讯发送给主核。主核接收到从核的请求
后,设置DMA通道参数(源地址为要读的FLASH物理地址,目的地址为存放FLASH数据的内存
物理地址,读取的长度),并启动一次DMA传输。随后,DMA控制器将FLASH的数据直接拷贝到
从核的指定内存;
[0107] 写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数,通过核间通讯传递给主核。主核设置DMA参数时,源地址为从核内存物
理地址,目的地址并不直接是FLASH地址,而是先DMA到主核的内存,然后通过FLASH写接口
写入FLASH;并且实现简单,可靠性高。
[0108] 在一个实施例中,本发明提供了一种基于AMP系统的FLASH访问处理装置,如图10所示,所述装置包括:
[0109] 设置模块41,用于将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;
[0110] 读数据控制模块42,用于读数据时,控制从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从
核的指定内存;
[0111] 写数据控制模块43,用于写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物
理地址,目的地址是先DMA到主核的内存,然后通过FLASH写接口写入FLASH。
[0112] 其中,所述从核将读FLASH的参数利用核间通讯发送给主核中的FLASH的参数包括:FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数;
[0113] 所述主核设置DMA参数中的DMA参数包括:源地址为要读的FLASH物理地址,目的地址为存放FLASH数据的内存物理地址,读取的长度;具体如上所述。
[0114] 在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输
入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包
括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内
存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的
网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种
自然语言模型的生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示
屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上
设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0115] 本领域技术人员可以理解,图11所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包
括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0116] 本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现以下步骤:
[0117] 将主核与从核连接,将FLASH存储器通过DMA通道与主核连接后再与从核连接,并设置读写数据采用DMA传输,主核控制DMA通道;
[0118] 读数据时,从核将读FLASH的参数利用核间通讯发送给主核;主核接收到从核的请求后,启动DMA传输;DMA控制器将FLASH的数据直接拷贝到从核的指定内存;
[0119] 写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH写入参数,通过核间通讯传递给主核;主核设置DMA参数,源地址为从核内存物理地址,目的地址是先
DMA到主核的内存,然后通过FLASH写接口写入FLASH;具体如上所述。
[0120] 综上所述,与现有技术相比,本发明实施例具有以下优点:
[0121] 本发明提供一种基于AMP系统的FLASH访问处理方法及装置、计算机设备、可读存储介质,本发明采用DMA(直接内存存取)传输,主核控制DMA通道,从核将读FLASH的参数
(FLASH地址,存放FLASH数据的内存物理地址,读取长度,读命令四个参数)利用核间通讯发
送给主核。主核接收到从核的请求后,设置DMA通道参数(源地址为要读的FLASH物理地址,
目的地址为存放FLASH数据的内存物理地址,读取的长度),并启动一次DMA传输。随后,DMA
控制器将FLASH的数据直接拷贝到从核的指定内存;
[0122] 写数据时,从核将要写入的数据所在的内存物理地址,写入目的FLASH地址和长度,写命令四个参数,通过核间通讯传递给主核。主核设置DMA参数时,源地址为从核内存物
理地址,目的地址并不直接是FLASH地址,而是先DMA到主核的内存,然后通过FLASH写接口
写入FLASH;并且实现简单,可靠性高。
[0123] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
[0124] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护
范围。因此,本申请专利的保护范围应以所附权利要求为准。