I declare that this article does not involve any specific APIs or specific vendors, but it is worth noting that, the successes and failures of some acceleration board manufacturers are precisely due to their versatility. In this era where people are still dependent on professional boards, boards are still regarded as specialized problems, vendors that represent these boards and claim that they can solve common problems should be cautious! Although I am very optimistic about generic boards, I am
There is a lot of information on the configuration space of the PCI device, the following figure is the 64-byte configuration space that the PCI device must support, the range is 0x00-0x3f.Many PCI devices only support 64 bytes of configuration space. The difference between PCI and PCIe configuration space is as follows.In addition, the pci/pci-x and PCIe devices also extend the configuration space of 0x40
Test environment: Ubuntu 14.04LTSUnder Windows, we can easily see all of the PCIe config space with rw everything, but we recently wanted to dump PCIe config space under Linux, first we tried to use IO read,That is, usually we will use CF8 and CFC way, but unfortunately this way can only read out 256 bytes, then the back of the 0x100~0x1ff how to read, is the following we have to solve the problem.1, first
Inbound: PCI domain access memory domain outbound: Memory domain access PCI domain
RC access EP: RC memory domain-> outbound-> rc pci domain-> ep pci domain-> inbound-> EP memory domain EP access RC: EP memory domain-> outbound-> ep pci domain-> rc pci domain-> inbound-> RC memory domain
An out is an out-of-the-box interface. The out-of-the-box interface is used to initiate an access request. An in interface is used to access the accessed side.
Ep rc access example (Blue Arrow): (1) first, EP
Chapter 5:TLP elements (Details of TLP)
Chapter 6:flow Control
___________________________________
Digest (end to end CRC, ECRC)
HDR + DATA + DIGEST = TLP
Seq Num + TLP + crc:dll
STP + DLL + END:PL
___________________________________
1.
Flow-control buffers is maintained separately (VC each has its own flow control BUFFER)
PCIe supports up to 8 Virtual Channels
2.
credit-based mechanism
Initialization Stage Run-time stage (using Flow Control dllp
Multi-function PCIe switch Six: read-write optimization based on NTB node1. Features of application based on NTB cross-node reading and writingNTB is often used in applications where high performance and reliability are required to enable the transmission of data across nodes. For example, as a virtual network card, cross-node data synchronization channel, these occasions are expected to give full play to the NTB
This paper mainly through the WindRiver tool graphical view PCIe device, to understand the space structure of PCIE devices. This article mainly refers to the "PCI Express Architecture Guide" and the Netizen blog: Click to open the link.I. The space structure of PCIE equipmentPCIe devices have three separate physical address spaces: device memory space (memory), I
About PCIe non-transparent bridge cache consistencyThe PCIe non-transparent bridge provides two mechanisms for migrating data from local node to remote node, respectively, based on address mapping and embeddedDma. For remote nodes, the CPU may not be aware when it accepts data, so cache consistency needs to be ensured;On the local node, when the data is transferred to its own memory via DMA, the CPU is not
Platform: x86 saiyang e3400
Kernel version: Linux 3.2.1 #11 SMP sun Nov 2 13:27:52 CST 2014 i686 i686 i386 GNU/Linux
Function: enumerate the following PCIe devices, where 8111 is the PCIE-PCI bridge, the uplink port is the PCIe port, and the downlink port is the PCI port.
. 0 0604: 10b5: 8111 (Rev 21)0:04. 0 0680: 10b5: 86e1 (Rev aa)
The source code is as follow
:
· One is a software-initiated data request (for example, by a read function call), and the other is the hardware that asynchronously passes data to the system. For data acquisition equipment, even if there is no process to read the data, but also write constantly, waiting for the process to call, so the driver should maintain a ring buffer, when the read call can always return to the user space needed data.
7. How to initiate an interrupt request to the CPU in
PCIe Nic schematic, with Act (flash) configured with led0 pins, and link 1000 m configured with led3
100000000001000 = 0x4008
// LZM: 2011/8/6/*PCIe Nic schematic, with Act (flash) configured with led0 pins, and link 1000 m configured with led3
100000000001000 = 0x4008*/Static void rtl8168_customized_leds (struct rtl8168_private * TP){Void _ iomem * ioaddr = TP-> mmio_addr;Printk ("----- _ lin
, configuration mechanism #1 is the only option to access the PCI configuration space.
The RW software can read the mcfg base address:
Figure 1
At the same time, we can also see the value of b0d2f0's register:
Figure 2 then, based on the base address f8000000 and b0d2f0, according to The PCIe cofigration space address specification, we can get the address f8010000. We can read it through Dumphys to change the physical address value:
The value read in
Many of the available NIC drivers have actually been installed during the installation of Gnu/linux, but this one:Realtek PCIe GBE Family ControllerBut not the driver.And my desktop: the HP HP Pro 3380 MT is just using this NIC. Because there is no network, and centos6.x did not pre-installed gcc,g++ compilation environment, really toss a long time.The following summarizes the installation process:installation of a CentOS system1 Create an image file
In this paper, we mainly introduce the loading and unloading process of a typical kmdf driver with the TraceView.exe tool. The related theory mainly comes from "Win7 Device driver Program development" book. For the use of TraceView.exe, please refer to my previous blog: Click to open the link.First, start and load orderIn section 7.2 of Win7 device driver development, "enumeration and startup of devices", it is mentioned that in order to prepare the device, Kmdf invokes the driver's callback rou
The speed of each PCIe standard is as follows:
Version
Release Date
Original data transmission bandwidth
Valid bandwidth
Single lane bandwidth
Total Bandwidth (x16)
Pcie1.x
2003
2.5gt/s
2 Gbps
250 MB/S
8 Gb/s
Pcie2.x
2007
5.0gt/s
4 Gbps
500 MB/S
16 Gb/s
Pcie3.0
2010
8.0gt/s
8 Gbps
1 Gb/s
32 Gb/s
After compa
Tags: htm embedded detail Linux SYN Stat management cache. NetHTTP://BLOG.CSDN.NET/LIKEPING/ARTICLE/DETAILS/42235111 DMA management under LinuxHTTP://BLOG.CSDN.NET/SKYFLYING2012/ARTICLE/DETAILS/48023447 Cache and memory consistency.Http://www.360doc.com/content/16/0510/07/478627_557742072.shtmlHTTP://LYL19.BLOG.163.COM/BLOG/STATIC/1942720552013310103745840/DMA Memeryhttp://blog.csdn.net/cywosp/article/details/8767327 SYN SynchronizationEmbedded development hi3519---The
1. "The spring breeze of one night is like a spring breeze. \" the current technology is blooming. Do not be greedy. Do not blindly pursue new technologies. Only
AlgorithmIs the soul.
2. "Not indifferent to ambition, not peaceful to go far. \"
I believe that choosing a language is not based on its background and long history, but more importantly, its practicality. Even if it is a brilliant history, it will also fall, but fortunatelyPHPIt is indeed a language worth learning.
My
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.