Documentation/fmc/FMC-and-SDB.txt

如果想评论或更新本文的内容,请直接联系原文档的维护者。


如果你使用英文交流有困难的话,也可以向中文版维护者求助。


如果本翻译更新不及时或者翻译存在问题,请联系中文版维护者。


中文版维护者: 陶莹莉  tyl18768122426@163.com


中文版翻译者:  陶莹莉  tyl18768122426@163.com


中文版校译者:  陶莹莉  tyl18768122426@163.com


FMC (FPGA Mezzanine Card) is the standard we use for our I/O devices,
in the context of White Rabbit and related hardware.


FMC(FPGA夹层卡)是我们使用I/O设备的标准,在White Rabbit以及相关硬件的上下文环境下。


In our I/O environments we need to write drivers for each mezzanine
card, and such drivers must work regardless of the carrier being used.
To achieve this, we abstract the FMC interface.


在我们的I/O环境,我们需要为每个夹层卡编写驱动程序,这些驱动程序必须工作无论是否正在被使用。
为了实现这一目标,我们将FMC接口抽象。


We have a carrier for PCI-E called SPEC and one for VME called SVEC,
but more are planned.  Also, we support stand-alone devices (usually
plugged on a SPEC card), controlled through Etherbone, developed by GSI.


我们有一个称为SPEC的PCI-E载体和VME的一个被称为SVEC但更多的正在规划中。此外,我们支持单机设备
(通常是插入一个SPEC卡),通过GSI开发的Etherbone控制。


Code and documentation for the FMC bus was born as part of the spec-sw
project, but now it lives in its own project. Other projects, i.e.
software support for the various carriers, should include this as a
submodule.


FMC总线的代码和文档是作为spec-sw项目的一部分诞生的,但现在生存自己的项目中。其他项目,即
软件支持的各种载体,作为一个子模块应包括这个。


The most up to date version of code and documentation is always
available from the repository you can clone from:


        git://ohwr.org/fmc-projects/fmc-bus.git (read-only)
        git@ohwr.org:fmc-projects/fmc-bus.git (read-write for developers)


最新版本的代码和文档是始终可用的,从知识库你可以克隆以下:
 git://ohwr.org/fmc-projects/fmc-bus.git (只读)
        git@ohwr.org:fmc-projects/fmc-bus.git (开发者可读和写)

Selected versions of the documentation, as well as complete tar
archives for selected revisions are placed to the Files section of the
project: `http://www.ohwr.org/projects/fmc-bus/files'


选择文档的版本,以及供选择的档案版本文件都放在部分项目中
: `http://www.ohwr.org/projects/fmc-bus/files'


What is FMC
***********
什么是FMC
***********


FMC, as said, stands for "FPGA Mezzanine Card". It is a standard
developed by the VME consortium called VITA (VMEbus International Trade
Association and ratified by ANSI, the American National Standard
Institute.  The official documentation is called "ANSI-VITA 57.1".


FMC,据说全称是“FPGA夹层卡”。这是一个由VME财团称为VITA(VMEbus国际贸易开发
协会和美国国家标准(ANSI)研究所批准。)的标准,官方文档被称为“ANSI-VITA57.1”。


The FMC card is an almost square PCB, around 70x75 millimeters, that is
called mezzanine in this document.  It usually lives plugged into
another PCB for power supply and control; such bigger circuit board is
called carrier from now on, and a single carrier may host more than one
mezzanine.


FMC卡几乎是个方形的印刷电路板,70x75毫米左右,在本文档中称为夹层。它通常插入
另一个PCB的电源和控制器,从现在开始,这种更大的电路板被称为载波,单载波可托管多个
夹层。


In the typical application the mezzanine is mostly analog while the
carrier is mostly digital, and hosts an FPGA that must be configured to
match the specific mezzanine and the desired application. Thus, you may
need to load different FPGA images to drive different instances of the
same mezzanine.


夹层的典型应用大多是模拟当载体主要是数字并且寄主的FPGA的配置必须和特定的夹层
和所需的应用匹配。因此,你可能需要加载不同的FPGA图像来驱动同一夹层的不同实例。


FMC, as such, is not a bus in the usual meaning of the term, because
most carriers have only one connector, and carriers with several
connectors have completely separate electrical connections to them.
This package, however, implements a bus as a software abstraction.


FMC诸如此类,在通常意义上不是总线,因为大多数载体只有一个连接器,有几个
连接器的载体具有完全独立的电器连接到他们。然而,这个包,实现了总线作为一种软件抽象。


What is SDB
***********


什么是SDB
***********
SDB (Self Describing Bus) is a set of data structures that we use for
enumerating the internal structure of an FPGA image. We also use it as
a filesystem inside the FMC EEPROM.


SDB(总线自我描述)是一组我们用来列举FPGA的内部结构成像的数据结构。
我们还用它作为在FMC只读存储器的文件系统。


SDB is not mandatory for use of this FMC kernel bus, but if you have SDB
this package can make good use of it.  SDB itself is developed in the
fpga-config-space OHWR project. The link to the repository is
`git://ohwr.org/hdl-core-lib/fpga-config-space.git' and what is used in
this project lives in the sdbfs subdirectory in there.


SDB不强制使用这种FMC内核总线,但如果你有SDB这个软件包,你可以好好利用它。
SDB本身是建立在FPGA的配置空间上。链接库是` git://ohwr.org/hdl-core-lib/fpga-config-space.git”,
在这个项目中使用的是存在在sdbfs目录中的。


SDB support for FMC is described in *note FMC Identification:: and
*note SDB Support::


FMC的SDB支持在*注意 FMC识别::和*注意SDB的支持::中描述


SDB Support
***********


SDB的支持
***********


The fmc.ko bus driver exports a few functions to help drivers taking
advantage of the SDB information that may be present in your own FPGA
memory image.


fmc.ko的总线驱使一些功能来帮助利用SDB信息,这可能在你当前的FPGA存储图像中。


The module exports the following functions, in the special header
<linux/fmc-sdb.h>. The linux/ prefix in the name is there because we
plan to submit it upstream in the future, and don't want to force
changes on our drivers if that happens.


该模块输出以下功能,在特殊的头文件< Linux / FMC SDB。”。名称中的linux/ prefix
是因为我们计划在未来向上提交,如果那事发生,不想迫使我们的驱动发生变化。


         int fmc_scan_sdb_tree(struct fmc_device *fmc, unsigned long address);
         void fmc_show_sdb_tree(struct fmc_device *fmc);
         signed long fmc_find_sdb_device(struct sdb_array *tree, uint64_t vendor,
                                         uint32_t device, unsigned long *sz);
         int fmc_free_sdb_tree(struct fmc_device *fmc);
 
int fmc_scan_sdb_tree(struct fmc_device *fmc, unsigned long address);
         void fmc_show_sdb_tree(struct fmc_device *fmc);
         signed long fmc_find_sdb_device(struct sdb_array *tree, uint64_t vendor,
                                         uint32_t device, unsigned long *sz);
         int fmc_free_sdb_tree(struct fmc_device *fmc);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将QT += core QT -= gui CONFIG += c++11 TARGET = UavRectifyLoadLIb CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp # The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS win32{ CONFIG(debug, debug|release){ DESTDIR = $$PWD/../../../../RasterManager/bin/Debug } else{ DESTDIR = $$PWD/../../../../RasterManager/bin/release } INCLUDEPATH += $$PWD/../../../include/gdal1101 DEPENDPATH += $$PWD/../../../include/gdal1101 } else{ CONFIG(debug, debug|release){ DESTDIR = $$PWD/../../../product/release32 } else{ DESTDIR = $$PWD/../../../product/release32 } } # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 unix:!macx: LIBS += -L$$PWD/../../../product/release32/ -lUAVAutoRectifyMt -lUAVAutoRectify -lUAVAutoRectifyFi INCLUDEPATH += $$PWD/../include DEPENDPATH += $$PWD/../include unix:!macx: LIBS += -L$$PWD/../../../lib/opencvf249/ -lopencv_core unix:!macx: LIBS += -L$$PWD/../../../lib/opencvf249/ -lopencv_highgui unix:!macx: LIBS += -L$$PWD/../../../lib/opencvf249/ -lopencv_imgproc INCLUDEPATH += $$PWD/../../../lib/opencvf249 DEPENDPATH += $$PWD/../../../lib/opencvf249 unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/local/lib/ -lopencv_core #unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/local/lib/ -lopencv_highgui unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/local/lib/ -lopencv_imgproc unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/local/lib/ -lopencv_features2d unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/local/lib/ -lopencv_imgcodecs INCLUDEPATH += $$PWD/../../../../../../../usr/local/include DEPENDPATH += $$PWD/../../../../../../../usr/local/include unix:!macx: LIBS += -L$$PWD/../../../product/release32/ -lDEMDriver unix:!macx: LIBS += -L$$PWD/../../../product/release32/ -lProjection unix:!macx: LIBS += -L$$PWD/../../../product/release32/ -lIImage_gC QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO 转为cmake格式
06-11

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值