CN102004667A - 基于Linux的SOPC软硬件协同工作*** - Google Patents

基于Linux的SOPC软硬件协同工作*** Download PDF

Info

Publication number
CN102004667A
CN102004667A CN 201010571909 CN201010571909A CN102004667A CN 102004667 A CN102004667 A CN 102004667A CN 201010571909 CN201010571909 CN 201010571909 CN 201010571909 A CN201010571909 A CN 201010571909A CN 102004667 A CN102004667 A CN 102004667A
Authority
CN
China
Prior art keywords
module
linux
hardware
sopc
software
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.)
Pending
Application number
CN 201010571909
Other languages
English (en)
Inventor
孙宜进
朱杰
蓝维洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN 201010571909 priority Critical patent/CN102004667A/zh
Publication of CN102004667A publication Critical patent/CN102004667A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种基于Linux的SOPC软硬件协同工作***,包括:SOPC模块、Linux***模块和网络服务器模块,Linux***模块由Linux内核模块和Linux驱动模块组成,网络服务器模块由DHCP服务器模块和NFS服务器模块组成,NFS服务器模块由挂载文件***模块和文件***交互模块组成。本发明将SOPC和NFS文件***Linux结合,并实现了基于该结合的软硬件协同设计***,不仅具有开发流程快,实现简单,操作方便的优点,而且还具有易移植和可扩展的特点。

Description

基于Linux的SOPC软硬件协同工作***
技术领域
本发明涉及的是一种计算机操作***技术领域的装置,具体是一种基于Linux的SOPC(System-on-a-Programmable-Chip可编程片上***)软硬件协同工作***。
背景技术
当前,随着半导体产业的迅速发展,SOPC作为嵌入式***的一种新形式,得到了越来越广泛的应用。采用SOPC技术实现嵌入式硬件加速,作为一种新兴的***解决模式,有其巨大的发展威力和广泛的应用前景,而要实现上述要求,软硬件的协同设计和IP硬核的开发至关重要。
在某些特定应用场合,单纯的软件***改进已经不能满足性能的加速要求,这时可以通过将原有软件***进行硬件和软件的重新划分来加速,将原始软件中比较耗时,难以纯软件加速的部分用硬件FPGA(Field-Programmable Gate Array现场可编程阵列)来实现。由于硬件具有并行运算的特点,将会大大提高原有软件***的速度。
对于大部分的复杂软件***都以Linux作为自己的操作***。因此如何实现基于Linux的SOPC***,并实现该***上的软硬件协同设计,对加速软件***具有非常重要的意义,在实际工程中也具有广泛的应用前景。
经对现有文献检索发现,期刊名字为:电路知识与技术,年卷(期)为:201006(17),名称为:基于SOPC技术的软硬件开发设计,该技术包括搭建SOPC***和实现软硬件的***设计。虽然该方法可以实现软硬件协同工作,但是它是基于SOPC的纯软件***和非基于操作***的软硬件协同工作***,能实现的软件功能比较少也比较简单。
发明内容
本发明针对现有技术存在的上述不足,提供一种基于Linux的SOPC软硬件协同工作***,将SOPC和NFS文件***Linux结合,并实现了基于该结合的软硬件协同设计***,不仅具有开发流程快,实现简单,操作方便的优点,而且还具有易移植和可扩展的特点。
本发明是通过以下技术方案实现的,本发明包括:SOPC模块、Linux***模块和网络服务器模块,其中:Linux***模块由Linux内核模块和Linux驱动模块组成,Linux内核模块与Linux驱动模块相连并传输硬件设备请求信息与模块响应信息,Linux***模块与SOPC模块相连并传输硬件设备请求信息与模块响应信息,网络服务器模块由DHCP服务器模块和NFS服务器模块组成,DHCP服务器模块和Linux***模块相连并传输IP地址和网络配置信息,NFS服务器模块由挂载文件***模块和文件***交互模块组成且分别与Linux***模块相连并实时传输文件***。
所述的SOPC模块包括:中央处理器模块、总线模块、串***互模块、内存模块、网络接口模块、按键模块和硬件IP模块,其中:内存模块、网络接口模块、按键模块和硬件IP模块分别通过总线模块与中央处理器相连接并传输各种命令和数据,串***互模块和Linux***模块相连并传输调试数据和调试信息,按键模块接收基本输入操作。
所述的硬件IP模块用硬件描述语言实现***中耗时部分,同时将硬件描述语言经过IP封装后挂载到总线模块。
与现有技术相比,本发明的有益效果是:
1、速度高,实现原有软件***的硬件加速
2、SOPC模块具有自己的网络模块,可以与网络上的其他设备进行网络通信
3、Linux***模块在启动时由网络服务器自动分配IP地址,网络初始化更方便
4、Linux***模块采用NFS作为根文件***,开发和调试更灵活
5、具有串口模块,使开发调试信息非常丰富
6、实现了基于Linux操作***的SOPC软硬件协同工作和加速,该***也可以很容易的扩展到Linux上各种应用软件的加速,只需将耗时的部分用硬件实现,并开发驱动实现软硬件的接口即可。
附图说明
图1为本发明结构示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实例包括:位于开发板的SOPC模块1、Linux***模块2和位于网络服务器的服务器模块3,其中:SOPC模块1与Linux***模块2相连并传输硬件设备请求信息与模块响应信息,SOPC模块1与Linux***模块相连并传输开发和调试信息,Linux***模块2与网络服务器模块3相连并传输Linux***的IP地址、网络配置信息和网络文件***,SOPC模块1与网络服务模块3相连并为网络服务器模块3提供网络接口硬件设备支持。
所述的SOPC模块1提供整个***开发板的硬件结构,为整个软硬件协同工作***和网络连接提供最基础的硬件支持。该模块包括:中央处理器模块4、总线模块5、串***互模块6、内存模块7、硬件IP模块8、按键模块9和网络接口模块10,其中总线模块5与中央处理器模块4相连,传输CPU控制指令和响应信息。总线模块5与串***互模块6、内存模块7、硬件IP模块8、按键模块9和网络接口模块10相连,传输底层硬件各个模块的调用、请求和响应数据。串***互模块6、内存模块7、硬件IP模块8、按键模块9和网络接口模块10之间通过总线模块5相互连接,传输硬件设备响应信息。串***互子模块6与Linux***模块2相连并传输用户的开发和调试信息。在本实例中,所述的串***互子模块为RS232串口接口,通过串口线可以将***开发版的调试信息在终端上输出显示,也可以将自己的命令在终端输入。网络接口子模块10分别与网络服务器模块中的DHCP服务器子模块13和NFS服务器子模块14相连,负责网络传输的硬件设备支持。本实例中,将比较耗时的部分,通过SOPC模块1中的硬件IP模块8将该部分用硬件描述语言来实现。为了将该硬件IP模块8与SOPC模块上的中央处理器子模块4相连,需要将该硬件IP模块8首先连接***总线模块5并传输该硬件IP模块的调用和响应数据。硬件IP模块8根据SOPC***的IP封装规范对硬件化模块进行接口设计,将硬件IP模块扩展为实际的IP核。实例化IP核后,便可以将硬件IP模块8通过***总线模块5与中央处理器模块4连接,从而与中央处理器模块4相连传输硬件调用和响应数据。
所述的Linux***模块2提供整个***的操作***。该模块包括:Linux内核模块11和Linux驱动模块12,其中Linux内核模块11是Linux***模块2的核心,提供Linux***模块的管理和分配机制,在本实例中即将Linux***模块和硬件IP模块的驱动模块相连并实现两者的协同工作。Linux驱动模块12中的网络驱动与网络服务器模块中的DHCP服务器子模块和NFS服务器子模块相连,用于网络连接,***开发板自动启动时的IP地址、网络配置信息以及实时传输和更新Linux操作***的文件***。所述的Linux内核模块11在本实例中通过配置交叉编译环境、配置内核选项,内核编译三步来完成,其中:交叉编译模块可以实现在本地开发并生成在SOPC***上执行的可执行文件,配置内核模块可以选择对应的处理器架构和需要的模块,内核编译模块则生成Linux内核文件。所述的Linux驱动模块12遵循Linux操作***的驱动开发模式,在本实例中主要实现硬件IP核的ioctl、open、write、read、init和exit等驱动模块。而其中IP核驱动的地址则由SOPC模块1自动生成,并根据SOPC地址分配方式获得该IP核的不同寄存器的地址。经过地址映射和IP核驱动读写,实现软硬件之间的协同工作。
所述的网络服务器模块3为***开发板的Linux***模块2中的Linux内核模块4启动时动态分配IP地址、配置开发板网络以及实时更新Linux***模块2的根文件***。该模块包括DHCP服务器模块13和NFS服务器模块14,其中NFS服务器模块由挂载文件***子模块15和文件***交互子模块16组成。本实例中,服务器模块运行在装有Linux操作***的电脑上。在该电脑上分别安装和配置DHCP服务器和NFS服务器,并将根文件***存储在NFS服务器指定的文件夹下面。SOPC上的Linux***模块2的Linux内核子模块11在启动时自动获得由DHCP服务器模块分配的IP地址和网络配置信息,并挂载位于服务器上的根文件***形成自己的NFS网络文件***。DHCP服务器模块13与SOPC模块1中的网络接口子模块10通过硬件网卡相连,提供网络的硬件设备相连,DHCP服务器模块13与Linux***模块2相连,用于在Linux***模块2的Linux内核子模块11启动时自动为***开发板分配IP地址和网络设置。NFS服务器模块14与SOPC模块1中的网络接口子模块10通过硬件网卡相连,提供网络的硬件设备连接,NFS服务器模块14中的挂载文件***子模块15与Linux***模块2相连,在本实例中用于在Linux内核子模块11启动完成后为Linux***模块2提供根文件***的网络地址和挂载根文件***,NFS服务器模块14中的文件交互***子模块16与Linux***模块2相连,在本实例中用于为Linux***模块2实时更新Linux***的文件***。
在本实例中,基于Linux的软硬件协同工作***流程为:通过SOPC模块1和Linux内核***2组成***开发板,然后将原有***的耗时部分由SOPC模块1中的硬件IP子模块8硬件化并封装为IP核通过总线模块5连接中央处理器模块4,然后在Linux驱动模块12中实现该IP模块的Linux驱动模块12,最终实现SOPC模块1和Linux***模块2之间软硬件的协同工作。在整个软硬件协同工作的过程中,由网络服务器模块3提供DHCP服务和NFS服务,用于提供***开发板的IP数据、网络配置信息和Linux***模块的根文件***。

Claims (3)

1.一种基于Linux的SOPC软硬件协同工作***,其特征在于,包括:SOPC模块、Linux***模块和网络服务器模块,其中:Linux***模块由Linux内核模块和Linux驱动模块组成,Linux内核模块与Linux驱动模块相连并传输硬件设备请求信息与模块响应信息,Linux***模块与SOPC模块相连并传输硬件设备请求信息与模块响应信息,网络服务器模块由DHCP服务器模块和NFS服务器模块组成,DHCP服务器模块和Linux***模块相连并传输IP地址和网络配置信息,NFS服务器模块由挂载文件***模块和文件***交互模块组成且分别与Linux***模块相连并实时传输文件***。
2.根据权利要求1所述的基于Linux的SOPC软硬件协同工作***,其特征是,所述的SOPC模块包括:中央处理器模块、总线模块、串***互模块、内存模块、网络接口模块、按键模块和硬件IP模块,其中:内存模块、网络接口模块、按键模块和硬件IP模块分别通过总线模块与中央处理器相连接并传输各种命令和数据,串***互模块和Linux***模块相连并传输调试数据和调试信息,按键模块接收基本输入操作。
3.根据权利要求2所述的基于Linux的SOPC软硬件协同工作***,其特征是,所述的硬件IP模块用硬件描述语言实现***中耗时部分,同时将硬件描述语言经过IP封装后挂载到总线模块。
CN 201010571909 2010-12-03 2010-12-03 基于Linux的SOPC软硬件协同工作*** Pending CN102004667A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010571909 CN102004667A (zh) 2010-12-03 2010-12-03 基于Linux的SOPC软硬件协同工作***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010571909 CN102004667A (zh) 2010-12-03 2010-12-03 基于Linux的SOPC软硬件协同工作***

Publications (1)

Publication Number Publication Date
CN102004667A true CN102004667A (zh) 2011-04-06

Family

ID=43812046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010571909 Pending CN102004667A (zh) 2010-12-03 2010-12-03 基于Linux的SOPC软硬件协同工作***

Country Status (1)

Country Link
CN (1) CN102004667A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394815A (zh) * 2011-10-28 2012-03-28 深圳市共进电子股份有限公司 Linux下实现网络加速的方法
CN103258067A (zh) * 2012-02-20 2013-08-21 京微雅格(北京)科技有限公司 一种可配置片上***中保持架构、软件及硬件一致性的方法
CN110780935A (zh) * 2019-10-31 2020-02-11 深圳市友华软件科技有限公司 多***融合产品的同步启动方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369226A (zh) * 2007-08-13 2009-02-18 北京大学深圳研究生院 一种基于开源处理器与开源操作***的SoC开发方法
CN101539605A (zh) * 2009-04-30 2009-09-23 优利德科技(东莞)有限公司 一种基于ip核的电子测量方法及电子测量仪

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369226A (zh) * 2007-08-13 2009-02-18 北京大学深圳研究生院 一种基于开源处理器与开源操作***的SoC开发方法
CN101539605A (zh) * 2009-04-30 2009-09-23 优利德科技(东莞)有限公司 一种基于ip核的电子测量方法及电子测量仪

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《计算机技术与应用》 20080106 卢敏,陈伟,郑灵翔,吴志雄 基于Linux的SoPC应用***设计 104,105 2,3 , *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394815A (zh) * 2011-10-28 2012-03-28 深圳市共进电子股份有限公司 Linux下实现网络加速的方法
CN102394815B (zh) * 2011-10-28 2014-03-05 深圳市共进电子股份有限公司 Linux下实现网络加速的方法
CN103258067A (zh) * 2012-02-20 2013-08-21 京微雅格(北京)科技有限公司 一种可配置片上***中保持架构、软件及硬件一致性的方法
CN103258067B (zh) * 2012-02-20 2016-05-25 京微雅格(北京)科技有限公司 一种可配置片上***中保持架构、软件及硬件一致性的方法
CN110780935A (zh) * 2019-10-31 2020-02-11 深圳市友华软件科技有限公司 多***融合产品的同步启动方法和装置

Similar Documents

Publication Publication Date Title
CN111745651B (zh) 一种智能机器人操作***结构及其运作方法
US10061731B1 (en) Selectable peripheral logic in programmable apparatus
CN102567074B (zh) 一种面向虚拟机的usb设备重定向方法
CN102833141B (zh) 一种基于DSP28335的CANopen从站***
CN103150279B (zh) 一种主机与基板管理控制器共享设备的方法
CN110083440B (zh) 多处理器嵌入式***上应用的动态重新配置
CN102736595A (zh) 一种基于32位微处理器和rtos的智能配电终端统一平台
CN102664953B (zh) 基于hla的高通量分布式仿真支撑平台、***及仿真方法
CN103414767A (zh) 将应用软件部署在云计算平台上的方法和装置
CN103713940A (zh) 一种基于rtx-hla-反射内存卡的可重构分布式实时仿真方法
WO2011020353A1 (zh) 仿真方法及***
CN102760114B (zh) 多处理器***的通信仿真方法、引擎及***
CN103514074A (zh) Mvb网卡开发方法及平台
CN102004667A (zh) 基于Linux的SOPC软硬件协同工作***
CN205103599U (zh) 一种跨境贸易bpo应用云终端装置
CN105487403A (zh) 一种基于can的运动控制***建立及其仿真建模方法
US11784946B2 (en) Method for improving data flow and access for a neural network processor
CN117032812B (zh) 服务器的管理方法、设备、装置、存储介质和电子设备
WO2021223744A1 (zh) 实现热迁移的方法、芯片、板卡和存储介质
CN114327926A (zh) 一种异构边缘智能微服务器及其搭建方法
CN103678244B (zh) 一种不使用应用处理器的智能设备
CN103997450A (zh) 一种基于DSP28335的CANopen主站实现方法
CN105808313A (zh) 智能终端数据交互***及方法
CN113609052A (zh) 基于fpga和微处理器的芯片模拟***及实现方法
CN103338134A (zh) 分布式网络交换机调试***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110406