HOME
Shop
  • English
  • 简体中文
HOME
Shop
  • English
  • 简体中文
  • Product Series

    • FPGA+ARM

      • GM-3568JHF

        • 1. Introduction

          • About GM-3568JHF
        • 2. Quick Start

          • 00 Introduction
          • 01 Environment Setup
          • 02 Compilation Instructions
          • 03 Flashing Guide
          • 04 Debug Tools
          • 05 Software Update
          • 06 View Information
          • 07 Test Commands
          • 08 App Compilation
          • 09 Source Code Acquisition
        • 3. Peripherals and Interfaces

          • 01 USB
          • 02 Display and Touch
          • 03 Ethernet
          • 04 WIFI
          • 05 Bluetooth
          • 06 TF-Card
          • 07 Audio
          • 08 Serial Port
          • 09 CAN
          • 10 RTC
        • 4. Application Development

          • 01 UART read and write case
          • 02 Key detection case
          • 03 LED light flashing case
          • 04 MIPI screen detection case
          • 05 Read USB device information example
          • 06 FAN Detection Case
          • 07 FPGA FSPI Communication Case
          • 08 FPGA DMA read and write case
          • 09 GPS debugging case
          • 10 Ethernet Test Cases
          • 11 RS485 reading and writing examples
          • 12 FPGA IIC read and write examples
          • 13 PN532 NFC card reader case
          • 14 TF card reading and writing case
        • 5. QT Development

          • 01 ARM64 cross compiler environment construction
          • 02 QT program added automatic startup service
        • 6. RKNN_NPU Development

          • 01 RK3568 NPU Overview
          • 02 Development Environment Setup
          • Run Official YOLOv5 Example
          • Model Conversion Detailed Explanation
          • Run Custom Model on Board
        • 7. FPGA Development

          • ARM and FPGA Communication
          • /fpga-arm/GM-3568JHF/FPGA/ch02-FPGA-Development-Manual.html
        • 8. Others

          • 01 Modification of the root directory file system
          • 02 System auto-start service
        • 9. Download

          • Download Resources
    • ShimetaPi

      • M4-R1

        • 1. Introduction

          • 1.1 About M4-R1
        • 2. Quick Start

          • 2.1 OpenHarmony Overview
          • 2.2 Image Burning
          • 2.3 Development Environment Preparation
          • 2.4 Hello World Application
        • 3. Application Development

          • 3.1 Getting Started

            • 3.1.1 ArkTS Language Overview
            • 3.1.2 UI Components (Part 1)
            • 3.1.3 UI Components (Part 2)
            • 3.1.4 UI Components (Part 3)
          • 3.2 Advanced

            • 3.2.1 Getting Started Guide
            • 3.2.2 Usage of Third Party Libraries
            • 3.2.3 Deployment of the Application
            • 3.2.4 Factory Reset
            • 3.2.5 System Debug
            • 3.2.6 APP Stability Testing
            • 3.2.7 Application Testing
          • 3.3 Getting Docs

            • 3.3.1 Official Website Information
          • 3.4 Development Instructions

            • 3.4.1 Full SDK
            • 3.4.2 Introduction of Third Party Libraries
            • 3.4.3 Introduction of HDC Tool
            • 3.4.4 Restore Factory Mode
            • 3.4.5 Update System API
          • 3.5 First Application

            • 3.5.1 First ArkTS App
          • 3.6 Application Demo

            • 3.6.1 UART Tool
            • 3.6.2 Graphics Tablet
            • 3.6.3 Digital Clock
            • 3.6.4 WIFI Tool
        • 4. Device Development

          • 4.1 Ubuntu Environment Development

            • 4.1.1 Environment Setup
            • 4.1.2 Download Source Code
            • 4.1.3 Compile Source Code
          • 4.2 Using DevEco Device Tool

            • 4.2.1 Tool Introduction
            • 4.2.2 Environment Construction
            • 4.2.3 Import SDK
            • 4.2.4 Function Introduction
        • 5. Peripherals and Interfaces

          • 5.1 Raspberry Pi Interfaces
          • 5.2 GPIO Interface
          • 5.3 I2C Interface
          • 5.4 SPI Communication
          • 5.5 PWM Control
          • 5.6 Serial Port Communication
          • 5.7 TF Card Slot
          • 5.8 Display Screen
          • 5.9 Touch Screen
          • 5.10 Audio
          • 5.11 RTC
          • 5.12 Ethernet
          • 5.13 M.2
          • 5.14 MINI PCIE
          • 5.15 Camera
          • 5.16 WIFI BT
          • 5.17 HAT
        • 6. FAQ

          • 6.1 Download Link
      • M5-R1

        • 1. Introduction

          • M5-R1 Development Documentation
        • 2. Quick Start

          • OpenHarmony Overview
          • Image Burning
          • Development Environment Preparation
          • Hello World Application and Deployment
        • 3. Peripherals and Interfaces

          • 3.1 Raspberry Pi Interfaces
          • 3.2 GPIO Interface
          • 3.3 I2C Interface
          • 3.4 SPI Communication
          • 3.5 PWM Control
          • 3.6 Serial Port Communication
          • 3.7 TF Card Slot
          • 3.8 Display Screen
          • 3.9 Touch Screen
          • 3.10 Audio
          • 3.11 RTC
          • 3.12 Ethernet
          • 3.13 M.2
          • 3.14 MINI PCIE
          • 3.15 Camera
          • 3.16 WIFI BT
          • 3.17 HAT
        • 4. Application Development

          • 4.1 Getting Started

            • 4.1.1 ArkTS Language Overview
            • 4.1.2 UI Components (Part 1)
            • 4.1.3 UI Components (Part 2)
            • 4.1.4 UI Components (Part 3)
          • 4.2 Advanced

            • 4.2.1 Getting Started Guide
            • 4.2.2 Usage of Third Party Libraries
            • 4.2.3 Deployment of the Application
            • 4.2.4 Factory Reset
            • 4.2.5 System Debug
            • 4.2.6 APP Stability Testing
            • 4.2.7 Application Testing
        • 5. Device Development

          • 5.1 Environment Setup
          • 5.2 Download Source Code
          • 5.3 Compile Source Code
        • 6. Download

          • Data Download
    • OpenHarmony

      • SC-3568HA

        • 1. Introduction

          • 1.1 About SC-3568HA
        • 2. Quick Start

          • 2.1 OpenHarmony Overview
          • 2.2 Image Burning
          • 2.3 Development Environment Preparation
          • 2.4 Hello World Application
        • 3. Application Development

          • 3.1 ArkUI

            • 3.1.1 ArkTS Language Overview
            • 3.1.2 UI Components (Part 1)
            • 3.1.3 UI Components (Part 2)
            • 3.1.4 UI Components (Part 3)
          • 3.2 Advanced

            • 3.2.1 Getting Started Guide
            • 3.2.2 Usage of Third Party Libraries
            • 3.2.3 Deployment of the Application
            • 3.2.4 Factory Reset
            • 3.2.5 System Debug
            • 3.2.6 APP Stability Testing
            • 3.2.7 Application Testing
        • 4. Device Development

          • 4.1 Environment Setup
          • 4.2 Download Source Code
          • 4.3 Compile Source Code
        • 5. Peripherals and Interfaces

          • 5.1 Raspberry Pi Interfaces
          • 5.2 GPIO Interface
          • 5.3 I2C Interface
          • 5.4 SPI Communication
          • 5.5 PWM Control
          • 5.6 Serial Port Communication
          • 5.7 TF Card Slot
          • 5.8 Display Screen
          • 5.9 Touch Screen
          • 5.10 Audio
          • 5.11 RTC
          • 5.12 Ethernet
          • 5.13 M.2
          • 5.14 MINI PCIE
          • 5.15 Camera
          • 5.16 WIFI BT
          • 5.17 HAT
        • 6. FAQ

          • 6.1 Download Link
      • M-K1HSE

        • 1. Introduction

          • 1.1 Product Introduction
        • 2. Quick Start

          • 2.1 Debug Tool Installation
          • 2.2 Development Environment Setup
          • 2.3 Source Code Download
          • 2.4 Build Instructions
          • 2.5 Flashing Guide
          • 2.6 APT Update Sources
          • 2.7 View Board Info
          • 2.8 CLI LED and Key Test
          • 2.9 GCC Build Programs
        • 3. Application Development

          • 3.1 Basic Application Development

            • 3.1.1 Development Environment Preparation
            • 3.1.2 First Application HelloWorld
            • 3.1.3 Develop HAR Package
          • 3.2 Peripheral Application Cases

            • 3.2.1 UART Read/Write
            • 3.2.2 Key Demo
            • 3.2.3 LED Flash
        • 4. Peripherals and Interfaces

          • 4.1 Standard Peripherals

            • 4.1.1 USB
            • 4.1.2 Display and Touch
            • 4.1.3 Ethernet
            • 4.1.4 WIFI
            • 4.1.5 Bluetooth
            • 4.1.6 TF Card
            • 4.1.7 Audio
            • 4.1.8 Serial Port
            • 4.1.9 CAN
            • 4.1.10 RTC
          • 4.2 Interfaces

            • 4.2.1 Audio
            • 4.2.2 RS485
            • 4.2.3 Display
            • 4.2.4 Touch
        • 5. System Customization Development

          • 5.1 System Porting
          • 5.2 System Customization
          • 5.3 Driver Development
          • 5.4 System Debugging
          • 5.5 OTA Upgrade
        • 6. Download

          • 6.1 Download
    • EVS-Camera

      • CF-NRS1

        • 1. Introduction

          • 1.1 About CF-NRS1
          • 1.2 Event-Based Concepts
          • 1.3 Quick Start
          • 1.4 Resources
        • 2. Development

          • 2.1 Development Overview

            • 2.1.1 Shimetapi Hybrid Camera SDK Introduction
          • 2.2 Environment & API

            • 2.2.1 Environment Overview
            • 2.2.2 Development API Overview
          • 2.3 Linux Development

            • 2.3.1 Linux SDK Introduction
            • 2.3.2 Linux SDK API
            • 2.3.3 Linux Algorithm
            • 2.3.4 Linux Algorithm API
          • 2.4 Service & Web

            • 2.4.1 EVS Server
            • 2.4.2 Time Server
            • 2.4.3 EVS Web
        • 3. Download

          • 3.1 Download
        • 4. Common Problems

          • 4.1 Common Problems
      • CF-CRA2

        • 1. Introduction

          • 1.1 About CF-CRA2
        • 2. Download

          • 2.1 Download
      • EVS Module

        • 1. Related Concepts
        • 2. Hardware Preparation and Environment Configuration
        • 3. Example Program User Guide
        • Resources Download
    • AI-model

      • 1684XB-32T

        • 1. Introduction

          • AIBOX-1684XB-32 Introduction
        • 2. Quick Start

          • First time use
          • Network Configuration
          • Disk usage
          • Memory allocation
          • Fan Strategy
          • Firmware Upgrade
          • Cross-Compilation
          • Model Quantization
        • 3. Application Development

          • 3.1 Development Introduction

            • Sophgo SDK Development
            • SOPHON-DEMO Introduction
          • 3.2 Large Language Models

            • Deploying Llama3 Example
            • /ai-model/AIBOX-1684XB-32/application-development/LLM/Sophon_LLM_api_server-Development-AIBOX-1684XB-32.html
            • /ai-model/AIBOX-1684XB-32/application-development/LLM/MiniCPM-V-2_6-AIBOX-1684XB-32.html
            • /ai-model/AIBOX-1684XB-32/application-development/LLM/Qwen-2-5-VL-demo-Development-AIBOX-1684XB-32.html
            • /ai-model/AIBOX-1684XB-32/application-development/LLM/Qwen-3-chat-demo-Development-AIBOX-1684XB-32.html
            • /ai-model/AIBOX-1684XB-32/application-development/LLM/Qwen3-Qwen Agent-MCP.html
            • /ai-model/AIBOX-1684XB-32/application-development/LLM/Qwen3-langchain-AI Agent.html
          • 3.3 Deep Learning

            • ResNet (Image Classification)
            • LPRNet (License Plate Recognition)
            • SAM (Universal Image Segmentation Foundation Model)
            • YOLOv5 (Object Detection)
            • OpenPose (Human Keypoint Detection)
            • PP-OCR (Optical Character Recognition)
        • 4. Download

          • Resource Download
      • 1684X-416T

        • 1. Introduction

          • AIBOX-1684X-416 Introduction
        • 2. Demo Simple Operation Guide

          • Simple instructions for using shimeta smart monitoring demo
      • RDK-X5

        • 1. Introduction

          • RDK-X5 Hardware Introduction
        • 2. Quick Start

          • RDK-X5 Quick Start
        • 3. Application Development

          • 3.1 AI Online Model Development

            • AI Online Development - Experiment01
            • AI Online Development - Experiment02
            • AI Online Development - Experiment03
            • AI Online Development - Experiment04
            • AI Online Development - Experiment05
            • AI Online Development - Experiment06
          • 3.2 Large Language Models (Voice)

            • Voice LLM Application - Experiment01
            • Voice LLM Application - Experiment02
            • Voice LLM Application - Experiment03
            • Voice LLM Application - Experiment04
            • Voice LLM Application - Experiment05
            • Voice LLM Application - Experiment06
          • 3.3 40pin-IO Development

            • 40pin IO Development - Experiment01
            • 40pin IO Development - Experiment02
            • 40pin IO Development - Experiment03
            • 40pin IO Development - Experiment04
            • 40pin IO Development - Experiment05
            • 40pin IO Development - Experiment06
            • 40pin IO Development - Experiment07
          • 3.4 USB Module Development

            • USB Module Usage - Experiment01
            • USB Module Usage - Experiment02
          • 3.5 Machine Vision

            • Machine Vision Technology Development - Experiment01
            • Machine Vision Technology Development - Experiment02
            • Machine Vision Technology Development - Experiment03
            • Machine Vision Technology Development - Experiment04
          • 3.6 ROS2 Base Development

            • ROS2 Basic Development - Experiment01
            • ROS2 Basic Development - Experiment02
            • ROS2 Basic Development - Experiment03
            • ROS2 Basic Development - Experiment04
      • RDK-S100

        • 1. Introduction

          • 1.1 About RDK-S100
        • 2. Quick Start

          • 2.1 First Use
        • 3. Application Development

          • 3.1 AI Online Model Development

            • 3.1.1 Volcano Engine Doubao AI
            • 3.1.2 Image Analysis
            • 3.1.3 Multimodal Visual Analysis
            • 3.1.4 Multimodal Image Comparison
            • 3.1.5 Multimodal Document Analysis
            • 3.1.6 Camera AI Vision Analysis
          • 3.2 Large Language Models

            • 3.2.1 Speech Recognition
            • 3.2.2 Voice Conversation
            • 3.2.3 Multimodal Image Analysis
            • 3.2.4 Multimodal Image Comparison
            • 3.2.5 Multimodal Document Analysis
            • 3.2.6 Multimodal Vision Application
          • 3.3 40pin-IO Development

            • 3.3.1 GPIO Output LED Blink
            • 3.3.2 GPIO Input
            • 3.3.3 Key Control LED
            • 3.3.4 PWM Output
            • 3.3.5 Serial Output
            • 3.3.6 I2C Experiment
          • 3.4 USB Module Development

            • 3.4.1 USB Voice Module
            • 3.4.2 Sound Source Localization
          • 3.5 Machine Vision

            • 3.5.1 USB Camera
            • 3.5.2 Image Processing Basics
            • 3.5.3 Object Detection
            • 3.5.4 Image Segmentation
          • 3.6 ROS2 Base Development

            • 3.6.1 Environment Setup
            • 3.6.2 Create and Build Workspace
            • 3.6.3 ROS2 Topic Communication
            • 3.6.4 ROS2 Camera Application
    • Core-Board

      • C-3568BQ

        • 1. Introduction

          • C-3568BQ Introduction
      • C-3588LQ

        • 1. Introduction

          • C-3588LQ Introduction
      • GC-3568JBAF

        • 1. Introduction

          • GC-3568JBAF Introduction
      • C-K1BA

        • 1. Introduction

          • C-K1BA Introduction

ARM and FPGA Communication

1 Hardware Interface Introduction

There are three interfaces for communication between FPGA and RK: IIC, FSPI, and PCIE. The schematic diagram is shown below:

rootfile1

2 IIC Communication

In IIC communication, FPGA acts as a slave, and its device address is 0x66.

Currently, three registers are defined in the code with addresses 0x00, 0x01, and 0x02. Among them, 0x02 is a read-only register.

For register 0x00, you can test whether the read and write data is correct. For example, if you write 1, reading it out should also be 1, indicating normal communication.

i2cdetect -r -y -a 0

rootfile1

You can see that there is an address 0x66 on the I2C bus.

i2cset -r -y -a 0 0x66 0x00 0x40

rootfile1

After executing this command, 0x40 will be written to register 0x00.

At this time, enter the command i2cdump -f -y -a 0 0x66

rootfile1

This command will list the values of all registers of 0x66. You can see that the value of register 0x00 is already 0x40 just written.

i2cget -f -y -a 0 0x66 0x00

rootfile1

Read the value of register 0x00, you can see that 0x40 is read out, which is consistent with the written value.

Register 0x01 can control the state of the LED. Enter the following command:

i2cset -f -y -a 0 0x66 0x01 0x01

At this time, the LED on the baseboard lights up.

Enter the following command:

i2cset -f -y -a 0 0x66 0x01 0x00

At this time, the LED on the baseboard goes out.

i2cset -f -y -a 0 0x66 0x01 0x03

At this time, both LEDs on the baseboard light up.

Because the lower 2 bits of this register are assigned to the LEDs in the code, the LEDs can only be lit when the lower 2 bits are 1. So far, IIC read and write communication is normal.

3 FSPI Communication

FSPI is used for interaction between FPGA and RK. FPGA will have a RAM to buffer data to achieve read-write loopback.

First load the driver:

insmod smdt_spi_controller.ko

rootfile1

Then enter the command: lsmod

rootfile1

If the words in the red box above appear, it means the driver is loaded successfully.

Switch the directory to the folder of the smdt_spi_rw executable program, and then enter the command:

./smdt_spi_rw -d /dev/spidev4.0 -s 50000000 -OH -m 3 -S 1024 -c 1

rootfile1

If Byte error rate is 0, it means the communication is normal and the data read and write is correct.

Among them, -s sets the communication frequency, 50MHZ.

-m indicates the selection mode: 1 is single-wire mode, 2 is two-wire mode, and 3 is four-wire mode.

-S indicates the selected transmission size, here is 1024. Since the RAM depth of FPGA is set to 2048, if the transmission exceeds 2048, a byte error will occur.

-c indicates the number of transmissions, 1 indicates transmission 1 time.

4 PCIE Communication

Related File Paths

smdt_fpga_dma_memcpy_demo project directory path:
01-Development Materials (Baidu Cloud Disk) -> 05-Development Materials -> 01-Linux System -> linux_demo -> smdt_fpga_dma_memcpy_demo

【Based on the above project path】
FPGA firmware file path: fpga_sfc -> dram_pcie_pg2l50h.sfc
smdt_fpga_dma_memcpy_demo executable file path: bin -> smdt_dma_memcpy_demo

4.1 Flash FPGA Program

The FPGA side needs to flash the PCIe project first, because RK will only identify the PCIe device once during power-on, so ensure that the FPGA has loaded the PCIe program before RK starts up, otherwise it will cause identification failure.

  1. Connect the USB downloader of the FPGA.

Note

After inserting the USB into the USB port of the computer, the downloader lights up red, and after the board is powered on, the downloader lights up yellow.

PCIE
  1. Open the FPGA flashing software.
PCIE
  1. Power on the development board, and then click the icon pointed by the arrow in the software below.
PCIE
  1. When the device is identified, the following interface will pop up. Close the popup window.
PCIE
  1. Move the mouse to the chip, right-click, and then select the option pointed by the arrow below.
PCIE
  1. In the popup window, select the dram_pcie_pg2l50h.sfc we need, and then click [Open].

Note

Do not use Chinese characters in the sfc file storage path, otherwise an error will occur and it cannot be opened.

PCIEPCIE
  1. Right-click [Outer Flash], select the option [Program] pointed by the arrow below, and the program will be flashed.
PCIE
  1. Waiting for flashing to complete...
PCIE
  1. Console displays the following information indicating that flashing is complete.
PCIE

4.2 Run PCIE Communication Demo

  1. Restart the development board.

  2. Enter the following command in the debugging tool to switch adb.

echo 1 > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
echo 2 > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
usbdevice start

The operation effect is as follows:

PCIE
  1. Open cmd to check if there is an adb device.
adb devices
PCIE
  1. Push smdt_dma_memcpy_demo to the board via adb push command.

Note

The case places smdt_dma_memcpy_demo in drive E and intends to transfer it to the data directory of the board.

adb push E:\smdt_dma_memcpy_demo /data/
PCIE
  1. Check if the file exists in the board and add executable permission. Enter the following commands in cmd.
adb shell
cd /data
ls
chmod +x ./smdt_dma_memcpy_demo
ls -al
PCIE
  1. Check if PCIE has established a link and if input_dev_demo is generated via commands.
lspci -vv
cat /proc/bus/input/devices | grep -i "Name=\"input_dev_demo\"" -A 8 -B 1

Enter lspci -vv, the output is as shown below. If it can display 0755:0755 and the lnkSta status is normal, Speed 5GT/S, Width x2, it means PCIe has established a link. You can also see the LED light on the board flashing quickly.

Note

From the figure below, it can also be seen that the PCIe BAR space is mapped to 0xf0200000 with a size of 64KByte.

PCIE

Enter cat /proc/bus/input/devices | grep -i "Name=\"input_dev_demo\"" -A 8 -B 1, the output is as shown below. The input_dev_demo device in the case is event0.

PCIE
  1. Execute the following commands to run the PCIE communication Demo.
echo 1 > /sys/class/pci_bus/0002:21/device/0002:21:00.0/enable
./smdt_dma_memcpy_demo -a 0xf0200000 -s 20480 -c 1 -d /dev/input/event0
PCIE

Info

If there is no error in both read and write, it means DMA interaction is normal.
-a indicates address
-s indicates the number of bytes transmitted
-c indicates the number of transmissions
-d indicates the device path
You can adjust s and c to change the data volume of DMA transmission.

4.3 Source Code Analysis

1️⃣ Open Device Node

PCIE

2️⃣ Write Test Phase Code Analysis (ARM -> FPGA)

Info

Function: static int perform_write_test(DMAContext *ctx, uint16_t *write_buf);
Flow: ARM prepares data → DMA setting → Memory mapping → CPU copy → DMA transmission → Wait for completion

  • DMA Configuration
PCIE
  • Establish DMA Channel
PCIE
  • Establish Memory Mapping
PCIE
  • CPU Data Copy and Performance Test
PCIE
  • Start DMA

    Start DMA through the ioctl function and transport data to FPGA DRAM via the PCIe bus.

PCIE
  • Wait for Transmission Completion

    The program waits for the input event reported by the driver.

PCIE
  • Obtain DMA Transmission Performance Indicators

    After the program receives the input event reported by the driver, it indicates that the DMA transmission is complete. The DMA data transport time is obtained through the ioctl function, and the DMA transmission rate is calculated.

PCIE
  • Cleanup and Close

    1. Clear memory mapping
    2. Close DMA transmission and return status
PCIE

3️⃣ Read Test Phase Code Analysis (FPGA -> ARM)

Info

Function: static int perform_read_test(DMAContext *ctx, uint16_t *write_buf, uint16_t *read_buf);
Flow: DMA setting → Start DMA transmission → Wait for completion → Memory mapping → CPU copy → Data verification

  • DMA Configuration
PCIE
  • Establish DMA Channel
PCIE
  • Start DMA

    Start DMA through the ioctl function and transport FPGA DRAM data to the continuous memory space (located in DDR) applied by the driver via the PCIe bus.

PCIE
  • Wait for FPGA Data Transmission
PCIE
  • Establish Memory Mapping
PCIE
  • Read Data

    After the program receives the input event reported by the driver, it reads data from kernel space to user space.

PCIE
  • Data Integrity Verification

    Verify if the data is consistent with the written data.

PCIE
  • Obtain DMA Performance Indicators

    Obtain DMA data transport time through ioctl function and calculate DMA transmission rate.

PCIE
  • Cleanup and Close

    1. Clear memory mapping
    2. Close DMA transmission and return status
PCIE

4.4 ioctl Function

The specific implementation code can be seen in the smdt_pcie_dma_memcpy.c file in the kernel source code.
Part of the code is as follows:

PCIE

Specific File Path

File Path: SDK/kernel-6.1/drivers/pci/pcie/smdt_pcie_dma_memcpy.c

4.5 FPGA Part Detail

For the content of the FPGA part in the PCIe communication test, please refer to: Based on PCIe DMA/PIO Control Experiment

Edit this page on GitHub
Last Updated:
Contributors: ZSL
Next
/fpga-arm/GM-3568JHF/FPGA/ch02-FPGA-Development-Manual.html