sai_interrupt#
Overview#
The sai_interrupt example shows how to use sai functional API to implement interrupt playback:
In this example, one sai instance playbacks the audio data stored in flash/SRAM using interrupt.
Supported Boards#
EVK9-MIMX8ULP
Hardware requirements
Micro USB cable
MIMX8ULP-EVK/EVK9 board
J-Link Debug Probe
5V power supply
Personal Computer
Headphone
Board settings
Please note this application can’t support running with Linux BSP!
Note
Because of the hardware design issue, you can not restart this demo/example by press the Reset Button(SW3):
The I2S0_RXD0 signal is connected to PTA2 of i.MX 8ULP on EVK Board. This pin is also used as BOO_CFG2 pin
when the i.MX SoC reboot. The I2S0_RXD0 signal is driven by on-board WM8960 Codec IC, when user press Reset
Button. This may cause M4 Core enter Boot ROM's "Infinit-Loop" debug mode and only re-powerup the board can
let the M4 core exit such debug mode.
##### Prepare the Demo
1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board.
2. Connect a micro USB cable between the host PC and the J17 USB port on the target board.
3. Open a serial terminal with the following settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
4. Download the program to the target board.
5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example
##### Running the demo
Note: This demo outputs 215HZ sine wave audio signal.
When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
IMX952LPD5EVK-19
Hardware requirements
Micro USB cable
IMX952-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Headphone
Board settings
Plugin headphone to J9
Please note this application can’t support running with Linux BSP!
Prepare the Demo
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.
Connect a micro USB cable between the host PC and the J31 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the example
Running the demo
When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
EVKB-IMXRT1050
Hardware requirements
Mini/micro USB cable
EVKB-IMXRT1050 board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on EVKB-IMXRT1050 board (J12).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MIMXRT1060-EVKB
Hardware requirements
Mini/micro USB cable
MIMXRT1060-EVKB board
Personal Computer
Headphone(OMTP standard)
CS42448 Audio board(Not necessary if use on board codec)
Board settings
For Audio board: 1.Insert AUDIO board into J23 if on board codec is not used 2.Uninstall J41 For on board codec: 2.Make sure J41 is installed
Prepare the Demo
Note: As the EVKBMIMXRT1060 support two codecs, a default on board WM8960 codec and another codec CS42448 on audio board, so to support both of the codecs, the example provide options to switch between the two codecs,
DEMO_CODEC_WM8960, set to 1 if wm8960 used
DEMO_CODEC_CS42448, set to 1 if cs42448 used Please do not set above macros to 1 together, as the demo support one codec only.
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board. Steps for WM8960:
Insert the headphones into the headphone jack on MIMXRT1060-EVKB board (J34). Steps for CS42448:
Insert the headphones into the headphone jack J6 on the audio board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MIMXRT1170-EVKB
Hardware requirements
Mini/micro USB cable
MIMXRT1170-EVKB board
Personal Computer
Headphone(OMTP standard)
Board settings
Ensure the resistors mounted below: R2001,R2002,R2003,R2004,R2005,R2006 and R2007.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on MIMXRT1170-EVKB board (J101).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MIMXRT1060-EVKC
Hardware requirements
Mini/micro USB cable
MIMXRT1060-EVKC board
Personal Computer
Headphone(OMTP standard)
CS42448 Audio board(Not necessary if use on board codec)
Board settings
For Audio board: 1.Insert AUDIO board into J23 if on board codec is not used
Prepare the Demo
Note: As the EVKCMIMXRT1060 support two codecs, a default on board WM8962 codec and another codec CS42448 on audio board, so to support both of the codecs, the example provide options to switch between the two codecs,
DEMO_CODEC_WM8962, set to 1 if wm8962 used
DEMO_CODEC_CS42448, set to 1 if cs42448 used Please do not set above macros to 1 together, as the demo support one codec only.
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board. Steps for WM8962:
Insert the headphones into the headphone jack on MIMXRT1060-EVKC board (J101). Steps for CS42448:
Insert the headphones into the headphone jack J6 on the audio board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
FRDM-IMXRT1152
Hardware requirements
Type-C USB cable
FRDM-IMXRT1152 board
Personal Computer
Headphone(OMTP standard)
Board settings
Remove R183, R131, R151, R177, R124.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on FRDM-IMXRT1152 board (J30).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
EVK-MCIMX7ULP
Hardware requirements
Micro USB cable
MCIMX7ULP-EVK board
J-Link Debug Probe
5V power supply
Personal Computer
Headphone
Board settings
Please note this application can’t support running with Linux BSP!
Note
Because of the hardware design issue, you can not restart this demo/example by press the Reset Button(SW3):
The I2S0_RXD0 signal is connected to PTA2 of i.MX 7ULP on EVK Board. This pin is also used as BOO_CFG2 pin
when the i.MX SoC reboot. The I2S0_RXD0 signal is driven by on-board WM8960 Codec IC, when user press Reset
Button. This may cause M4 Core enter Boot ROM's "Infinit-Loop" debug mode and only re-powerup the board can
let the M4 core exit such debug mode.
##### Prepare the Demo
1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW1 to power on the board.
2. Connect a micro USB cable between the host PC and the J6 USB port on the target board.
3. Open a serial terminal with the following settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
4. Download the program to the target board.
5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example
##### Running the demo
Note: This demo outputs 215HZ sine wave audio signal.
When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
EVK-MIMX8ULP
Hardware requirements
Micro USB cable
MIMX8ULP-EVK/EVK9 board
J-Link Debug Probe
5V power supply
Personal Computer
Headphone
Board settings
Please note this application can’t support running with Linux BSP!
Note
Because of the hardware design issue, you can not restart this demo/example by press the Reset Button(SW3):
The I2S0_RXD0 signal is connected to PTA2 of i.MX 8ULP on EVK Board. This pin is also used as BOO_CFG2 pin
when the i.MX SoC reboot. The I2S0_RXD0 signal is driven by on-board WM8960 Codec IC, when user press Reset
Button. This may cause M4 Core enter Boot ROM's "Infinit-Loop" debug mode and only re-powerup the board can
let the M4 core exit such debug mode.
##### Prepare the Demo
1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board.
2. Connect a micro USB cable between the host PC and the J17 USB port on the target board.
3. Open a serial terminal with the following settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
4. Download the program to the target board.
5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example
##### Running the demo
Note: This demo outputs 215HZ sine wave audio signal.
When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
EVK-MIMXRT1010
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1010 board
Personal Computer
Headphone
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on EVK-MIMXRT1010 board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
Known issue: If pressing SW9 to rerun the demo frequently, it may cause booting from QSPI nor flash failed, since the SA1 RXD0 pin is muxed as boot configurations pin. Workaround: To use SW3 instead of SW9.
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J41.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
EVK-MIMXRT1015
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1015 board
Personal Computer
Headphone
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on EVK-MIMXRT1015 board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
Known issue: If pressing SW9 to rerun the demo frequently, it may cause booting from QSPI nor flash failed, since the SA1 RXD0 pin is muxed as boot configurations pin. Workaround: To use SW3 instead of SW9.
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J41.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
EVK-MIMXRT1020
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1020 board
Personal Computer
Headphone
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on EVK-MIMXRT1020 board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
MIMXRT1024-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1024-EVK board
Personal Computer
Headphone
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on MIMXRT1024-EVK board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
MIMXRT1040-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1040-EVK board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on MIMXRT1040-EVK board (J34).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
EVK-MIMXRT1064
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1064 board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on EVK-MIMXRT1064 board (J12).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MIMXRT1160-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1160-EVK board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on MIMXRT1160-EVK board (J33).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MIMXRT1180-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1180-EVK board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on MIMXRT1180-EVK board (J101).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
FRDM-MCXN236
Hardware requirements
Type-C USB cable
FRDM-MCXN236 board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the PC host and the MCU-Link USB port on the board.
Open a serial terminal with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on board (J14).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the MCU-Link terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
IMX95LPD5EVK-19
Hardware requirements
Micro USB cable
IMX95LPD5-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Headphone
Board settings
No special settings are required.
Please note this application can’t support running with Linux BSP!
Prepare the Demo
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.
Connect a micro USB cable between the host PC and the J31 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the example
Running the demo
When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MCIMX93-EVK
Hardware requirements
USB Type-C cable
MCIMX93-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Headphone
Board settings
No special settings are required.
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
Prepare the Demo
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board.
Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the example
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MCIMX93W-EVK
Hardware requirements
USB Type-C cable
MCIMX93W-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Headphone
Board settings
No special settings are required.
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
Prepare the Demo
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board.
Connect a USB Type-C cable between the host PC and the J1401 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the example
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MCIMX93-QSB
Hardware requirements
USB Type-C cable
MCIMX93-QSB board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Headphone
Board settings
No special settings are required.
Please note this application can’t support running with Linux BSP!
Prepare the Demo
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW301 to power on the board.
Connect a USB Type-C cable between the host PC and the J1708 USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the example
Running the demo
Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
IMX943-EVK
Hardware requirements
Micro USB cable
IMX943-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Headphone
Board settings
No special settings are required.
Please note this application can’t support running with Linux BSP!
Prepare the Demo
Connect 12V~20V power supply and J-Link Debug Probe to the board, switch SW1(SYS_PWR) to power on the board.
Connect a micro USB cable between the host PC and the J15(FTDI_DEBUG) USB port on the target board.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Either re-power up your board or launch the debugger in your IDE to begin running the example
Running the demo
When the demo runs successfully, you can hear the tone and the log would be seen on the terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!
MCX-N5XX-EVK
Hardware requirements
Mini/micro USB cable
MCX-N5XX-EVK board
Personal Computer
Headphone(OMTP standard)
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the PC host and the MCU-Link USB port on the board.
Open a serial terminal with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board.
Insert the headphones into the headphone jack on MCX-N5XX-EVK board (J7).
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
Note: This demo outputs 215HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the MCU-Link terminal like:
SAI functional interrupt example started!
SAI functional interrupt example finished!