CN102004667A - 基于Linux的SOPC软硬件协同工作*** - Google Patents
基于Linux的SOPC软硬件协同工作*** Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种基于Linux的SOPC软硬件协同工作***,包括:SOPC模块、Linux***模块和网络服务器模块,Linux***模块由Linux内核模块和Linux驱动模块组成,网络服务器模块由DHCP服务器模块和NFS服务器模块组成,NFS服务器模块由挂载文件***模块和文件***交互模块组成。本发明将SOPC和NFS文件***Linux结合,并实现了基于该结合的软硬件协同设计***,不仅具有开发流程快,实现简单,操作方便的优点,而且还具有易移植和可扩展的特点。
Description
技术领域
本发明涉及的是一种计算机操作***技术领域的装置,具体是一种基于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封装后挂载到总线模块。
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)
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)
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核的电子测量方法及电子测量仪 |
-
2010
- 2010-12-03 CN CN 201010571909 patent/CN102004667A/zh active Pending
Patent Citations (2)
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)
Title |
---|
《计算机技术与应用》 20080106 卢敏,陈伟,郑灵翔,吴志雄 基于Linux的SoPC应用***设计 104,105 2,3 , * |
Cited By (5)
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 |