The invention provides a data transmission method based on the built-in DMAC of the flying processor, which changes the DMAC transmission mode by changing the parameters of the DMAC mode, including direct mode, link mode and extended link mode for DMAC transmission. Adapt to different working conditions.
【技术实现步骤摘要】
一种基于飞腾处理器内置DMAC的数据传输方法
本专利技术属于处理器领域,尤其是涉及一种飞腾处理器内置DMAC的数据传输方法。
技术介绍
DMAC:直接内存存取控制器(DirectMemoryAccessController),它允许某些硬件子系统独立于CPU而访问主系统内存。DMAC模块的基本功能是作为主模块,从DMA源地址读取数据,缓存在本地FIFO中,再将数据写入DMA地址,从而减少数据移动过程中对内核资源的占用。在现有的技术中,DMAC技术广泛应用于处理器及片上系统Soc中。是一种传输过程不由CPU控制,直接从内存存取数据的数据交换模块,是解决内存和外部芯片之间数据交互的重要技术。DMAC可以作为飞腾处理器的一个外设模块而存在,可以接收飞腾处理器核的参数配置进行数据搬移。可(专门)用于大量数据的搬移,从DMA源地址读取数据,缓存在本地FIFO中,再将数据写入DMA目的地址,从而减少数据搬移过程中对内核资源的占用。公告号CN107678987A的中国专利公开了一种DMA传输的方法,包括根据接收的DMA传输请求确定传输数据,锁定所述传输数据对应的物理页面;遍历所述物理页面;判断连续物理页面的数目是否累计至预定数目;若是,填写空闲描述符;若否,则基于已获得的连续物理页面,填写空闲描述符;直到所述物理页面遍历完毕;将所述空闲描述符写入板卡端的描述符空间;将所述传输数据发送至所述板卡端。该方法增加了每次启动DMA传输的数据量,适合多线程DMA传输。但飞腾处理器平台上存在多种DMA传输环境需求,故需要针对不同应用场景来实现相应的DMA传输方法。
技术实现思路
本专利 ...
【技术保护点】
1.一种基于飞腾处理器内置DMAC的数据传输方法,其特征在于,包括以下步骤:S010.内核驱动配置DMA模式参数;S020.内核驱动配置DMA传输参数;S030.内核驱动触发DMA操作;S040.DMAC硬件进行DMA传输;S050.标识一次DMA传输完成。
【技术特征摘要】
1.一种基于飞腾处理器内置DMAC的数据传输方法,其特征在于,包括以下步骤:S010.内核驱动配置DMA模式参数;S020.内核驱动配置DMA传输参数;S030.内核驱动触发DMA操作;S040.DMAC硬件进行DMA传输;S050.标识一次DMA传输完成。2.根据权利要求1所述的基于飞腾处理器内置DMAC的数据传输方法,其特征在于,执行步骤S010时,标识DMA模式为直接模式。3.根据权利要求2所述的基于飞腾处理器内置DMAC的数据传输方法,其特征在于,步骤S010包括以下具体步骤:S111.内核驱动配置模式寄存器的[XFE]=0,[CTM]=1,[SRW]=0,[EMS_EN]=0。4.根据权利要求2或3所述的基于飞腾处理器内置DMAC的数据传输方法,其特征在于,步骤S040包括以下具体步骤:S141.DMA进行传输时,DMAC置状态寄存器的[CB]位,当DMA传输完成或传输被放弃和/或发生错误时,DMAC硬件清除状态寄存器的[CB]位。5.根据权利要求1所述的基于飞腾处理器内置DMAC的数据传输方法,其特征在于,在执行步骤S010之前,还包括S000:S000.内核驱动在内存中初始化一系列描述符,将所述描述符组织成link;执行步骤S010时,标识DMA模式为链接模式。6.根据权利要求5所述的基于飞腾处理器内置DMAC的数据传输方法,其特征在于,步骤S010包括以下具体步骤:S211.内核驱动配置模式寄存器的[XFE]=0,[CTM]=0,[CDSM]=0,[EMS_EN]=0。7.根据权利要求5或6所述的基于飞腾处理器内置DMAC的数据传输方法,其特征在于,步骤S040包括以下具体步骤:S241.DMAC硬件置状态寄存器的[CB]位;S242.DMAC硬件按照S231中设置,从内存中读取当前的link描述符,根据link描述符的内容更新源参数寄存器、源地址寄存器、下一link描述符地址寄存器和下一link描述符扩展地址寄存器,并按更新后的参数值进行当前segment的DMA操作;S243.当前segment的DMA操作完成后,判断下一link描述符地址寄存器的[EOLND]位是否置1;若否,则根据下一link描述符地址寄存器和下一link描述符扩展地址寄存器更新当前link描述符地址寄存器和当前link描述符扩展地址寄存器,跳至S242;S244.DMAC硬件清除状态寄存器的[CB]位;当执行步骤S...
【专利技术属性】
技术研发人员:熊鑫,王琦,卢日文,孙立明,张铎,孔金珠,唐晓东,魏立峰,吴庆波,
申请(专利权)人:天津麒麟信息技术有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。