3.11.4 XDMAC with QSPI Application on SAM E70 Xplained Ultra Evaluation Kit

Download

Description

This application demonstrates the usage of Direct Memory Access Controller (XDMAC) with QSPI on Cortex-M7 based MCU (SAM E70).

The application writes and reads 80KB data into the External Serial Flash memory using the QSPI, with and without using XDMAC.

Modules/Technology Used

  • Peripheral Modules:
    • EFC
    • MPU
    • QSPI
    • XDMAC
    • SYSTICK

Hardware Used

Software/Tools Used

This project has been verified to work with the following versions of software tools:

Refer Project Manifest present in harmony-manifest-success.yml under the project folder firmware/src/config/sam_e70_xult.

  • Refer the Release Notes to know the MPLAB X IDE and MCC Plugin version.
  • Any Serial Terminal application, such as Tera Term terminal application.

Because Microchip regularly updates tools, occasionally issue(s) could be discovered while using the newer versions of the tools. If the project does not seem to work and version incompatibility is suspected. It is recommended to double-check and use the same versions that the project was tested with. To download original version of MPLAB Harmony v3 packages, refer to document How to Use the MPLAB Harmony v3 Project Manifest Feature (DS90003305).

Setup

  • Connect the micro USB to the Host computer.
  • Connect the Saleae Logic Analyzer and establish a connection with the Host PC.
  • Configure the four channels to measure the QSPI throughput as follows.
    • Channel 0 is PA19, which is configured to Set and Clear the pin before and after the QSPI Write without DMA.
    • Channel 1 is PB2, which is configured to Set and Clear the pin before and after the QSPI Read without DMA.
    • Channel 2 is PC31, which is configured to Set and Clear the pin before and after the QSPI Write with DMA.
    • Channel 3 is PB3, which is configured to Set and Clear the pin before and after the QSPI Read with DMA.

Programming Hex File

The pre-built hex file can be programmed by following the below steps.

Steps to program the hex file:
  • Open MPLAB X IDE.
  • Close all existing projects in IDE, if any project is opened.
  • Go to File -> Import -> Hex/ELF File.
  • In the Import Image File window,
    1. Create Prebuilt Project,
      • Click the Browse button to select the prebuilt hex file.
      • Select Device as ATSAME70Q21B.
      • Ensure the proper tool is selected under Hardware Tool and click on Next button.
    2. Select Project Name and Folder,
      • Select appropriate project name and folder and click on Finish button
  • In MPLAB X IDE, click on Make and Program Device button to program the device.
  • Follow the steps in Running the Demo section below.

Programming/Debugging Application Project

  • Open the project (qspi_xdmac_read_write/firmware/sam_e70_xult.X) in MPLAB X IDE
  • Ensure SAM E70 Xplained Ultra is selected as hardware tool to program/debug the application
  • Build the code and program the device by clicking on the Make and Program Device button in MPLAB X IDE tool bar
  • Follow the steps in Running the Demo section below

Running the Demo

  • Start capturing samples using the Logic Analyzer Software.
  • Reset the hardware to start the application run from the beginning.
  • Stop capturing the sample in the Logic Analyzer Software.
  • Verify the the above mentioned four GPIO Pin waveforms and timestamps to see the QSPI performance with and without using the XDMAC for the following cases.
    • Write 80KB of data to external serial Flash without using the DMA.
    • Read 80KB of data from the external serial Flash without using the DMA.
    • Write 80KB of data to external serial Flash using the DMA.
    • Read 80KB of data from the external serial Flash using the DMA.
  • LED1 toggles on success else turns ON if any error.

Comments