Skip to content

Latest commit

 

History

History
110 lines (88 loc) · 7.25 KB

File metadata and controls

110 lines (88 loc) · 7.25 KB
grand_parent parent title nav_order
32-bit MCU Reference Applications
SAM E70 Xplained Ultra Evaluation Kit
XDMAC with QSPI
4

XDMAC with QSPI Application on SAM E70 Xplained Ultra Evaluation Kit


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. Alternatively, Click Here.
  • Any Serial Terminal application like Tera Term terminal application.

Because Microchip regularly update tools, occasionally issue(s) could be discovered while using the newer versions of the tools. If the project doesn’t 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

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, Step 1 - Create Prebuilt Project, Click the "Browse" button to select the prebuilt hex file.
  • Select Device has "ATSAME70Q21B"
  • Ensure the proper tool is selected under "Hardware Tool"
  • Click on Next button
  • In the "Import Image File" window, Step 2 - Select Project Name and Folder, select appropriate project name and folder
  • Click on Finish button
  • In MPLAB X IDE, click on "Make and Program Device" Button. The device gets programmed in sometime
  • 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:

Revision:

  • v1.6.0 - Regenerated and tested the application
  • v1.5.0 Removed MHC support, Regenerated and tested application.
  • v1.4.0 Added MCC support, Regenerated and tested application.
  • v1.3.0 regenerated and tested the application
  • v1.2.0 regenerated and tested the application
  • v1.1.0 regenerated and tested the application
  • v1.0.0 released demo application