The "GR-PEACH_Audio_Playback_7InchLCD_Sample" is a sample code that can provides high-resolution audio playback of FLAC format files. It also allows the user to audio-playback control functions such as play, pause, and stop by manipulating key switches.

Dependencies:   GR-PEACH_video R_BSP TLV320_RBSP USBHost_custom

Fork of GR-PEACH_Audio_Playback_Sample by Renesas

Note

For a sample program of without LCD Board, please refer to GR-PEACH_Audio_Playback_Sample.

Introduction

The "GR-PEACH_Audio_Playback_7InchLCD_Sample" is a sample code that can provides high-resolution audio playback of FLAC format files. It also allows the user to audio-playback control functions such as play, pause, and stop by manipulating key switches.

1. Overview of the Sample Code

1.1 Software Block Diagram

Figure 1.1 shows the software block diagram.

/media/uploads/1050186/lcd_figure1_1.png

1.2 Pin Definitions

Table 1.1 shows the pins used in this sample code.

/media/uploads/1050186/lcd_table1_1.png

2. Sample Code Operating Environment

In order to operate this sample code, GR-PEACH, Audio Camera Shield and 7.1 inch LCD Shield must be needed. For details on Audio Camera Shield and 7.1 inch LCD Shield, please refer to the following links, respectively:

In this section, it is described that how board is configured and to control audio playback via command line and touch screen.

2.1 Operating Environment

Figure 2.1 shows the overview of the operating environment for this sample code.

/media/uploads/1050186/lcd_figure2_1.png

Figure 2.2 and 2.3 show how to configure GR-PEACH, Audio Camera Shield and 7.1 inch LCD shield when using USB0 and USB1, respectively.

/media/uploads/1050186/lcd_figure2_2.png /media/uploads/1050186/lcd_figure2_3.png

Table 2.1 lists the overview of Graphical User Interface (GUI) of this sample code.

/media/uploads/1050186/lcd_table2_1.png

2.2 List of User Operations

Table 2.2 shows the relationship among Audio Playback, Command Line and Onboard Switch.

/media/uploads/1050186/lcd_table2_2.png

3. Function Outline

Table 3.1, 3.2 and 3.3 shows the overview of functions implemented in this sample code.

/media/uploads/1050186/lcd_table3_1.png /media/uploads/1050186/lcd_table3_2.png /media/uploads/1050186/lcd_table3_3.png /media/uploads/1050186/lcd_figure3_1.png

3.1 Playback Control

This sample program supports the operation "play", "pause", "stop", "play next song" and "play previous song".

3.2 Trick Play Control

In order to enable/disable Repeat Mode, user need to type "repeat" on command line or click the corresponding icon shown in Table 2.2. By derault, Repeat Mode is enabled. When Repeat Mode is enabled, the first song is played back after the playback of the last song is finished. Otherwise, the playback is shopped when finishing to play back the last song.

3.3 How to see Song Information

The information of the song being played back can be seen by typing playinfo on command line. Table 3.4 lists the items user can see on the terminal.

/media/uploads/dkato/audioplayback_table3_4.png

3.4 How to analyze the folder structure in USB stick

In this sample code, the folder structure in USB stick is analyzed in the breadth-first order. Table 3.5 shows how the files in USB stick are numbered.

/media/uploads/dkato/audioplayback_table3_5.png

4.Others

4.1 Serial Communication Setting

With respect to the default serial communication related setting on mbed, please refer to the follwing link:
https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication
Please set up the terminal software you would like to use on your PC in consideration of the above. For example, 9600 should be specified for the baud rate on the terminal in order to control this sample via command line.

4.2 Necessary modification when using GCC ARM Embedded

If you would like to use GCC ARM Embedded, you must revise the following linker script incorporated in mbed OS 5 package as follows:

  • Linker Script to be modified
    $(PROJECT_ROOT)/mbed-os/targets/TARGET_RENESAS/TARGET_RZ_A1H/device/TOOLCHAIN_GCC_ARM/RZA1H.ld

    Please note that $(PROJECT_ROOT) in the above denotes the root directory of this sample code

  • Before Modification

RZA1H.ld

/* Linker script for mbed RZ_A1H */

/* Linker script to configure memory regions. */
MEMORY
{
  ROM   (rx)  : ORIGIN = 0x00000000, LENGTH = 0x02000000
  BOOT_LOADER (rx) : ORIGIN = 0x18000000, LENGTH = 0x00004000 
  SFLASH (rx) : ORIGIN = 0x18004000, LENGTH = 0x07FFC000 
  L_TTB (rw)  : ORIGIN = 0x20000000, LENGTH = 0x00004000 
  RAM (rwx) : ORIGIN = 0x20020000, LENGTH = 0x00700000
  RAM_NC (rwx) : ORIGIN = 0x20900000, LENGTH = 0x00100000
}
(snip)
  • After Modification

RZA1H.ld

/* Linker script for mbed RZ_A1H */

/* Linker script to configure memory regions. */
MEMORY
{
  ROM   (rx)  : ORIGIN = 0x00000000, LENGTH = 0x02000000
  BOOT_LOADER (rx) : ORIGIN = 0x18000000, LENGTH = 0x00004000 
  SFLASH (rx) : ORIGIN = 0x18004000, LENGTH = 0x07FFC000 
  L_TTB (rw)  : ORIGIN = 0x20000000, LENGTH = 0x00004000 
  RAM (rwx) : ORIGIN = 0x20020000, LENGTH = 0x00180000
  RAM_NC (rwx) : ORIGIN = 0x20200000, LENGTH = 0x00680000
}
(snip)
Committer:
Osamu Nakamura
Date:
Tue Apr 11 12:42:10 2017 +0900
Revision:
6:a957aaa284f0
Parent:
0:ee40da884cfc
Update R-BSP from rev. cbb9d60c8748 to fb9eda52224e so that this program can be compiled with IAR toolchain.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dkato 0:ee40da884cfc 1 /* FLAC - Free Lossless Audio Codec
dkato 0:ee40da884cfc 2 * Copyright (C) 2001-2009 Josh Coalson
dkato 0:ee40da884cfc 3 * Copyright (C) 2011-2014 Xiph.Org Foundation
dkato 0:ee40da884cfc 4 *
dkato 0:ee40da884cfc 5 * This file is part the FLAC project. FLAC is comprised of several
dkato 0:ee40da884cfc 6 * components distributed under different licenses. The codec libraries
dkato 0:ee40da884cfc 7 * are distributed under Xiph.Org's BSD-like license (see the file
dkato 0:ee40da884cfc 8 * COPYING.Xiph in this distribution). All other programs, libraries, and
dkato 0:ee40da884cfc 9 * plugins are distributed under the GPL (see COPYING.GPL). The documentation
dkato 0:ee40da884cfc 10 * is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
dkato 0:ee40da884cfc 11 * FLAC distribution contains at the top the terms under which it may be
dkato 0:ee40da884cfc 12 * distributed.
dkato 0:ee40da884cfc 13 *
dkato 0:ee40da884cfc 14 * Since this particular file is relevant to all components of FLAC,
dkato 0:ee40da884cfc 15 * it may be distributed under the Xiph.Org license, which is the least
dkato 0:ee40da884cfc 16 * restrictive of those mentioned above. See the file COPYING.Xiph in this
dkato 0:ee40da884cfc 17 * distribution.
dkato 0:ee40da884cfc 18 */
dkato 0:ee40da884cfc 19
dkato 0:ee40da884cfc 20 Current FLAC maintainer: Erik de Castro Lopo <erikd@mega-nerd.com>
dkato 0:ee40da884cfc 21
dkato 0:ee40da884cfc 22 Original author: Josh Coalson <jcoalson@users.sourceforge.net>
dkato 0:ee40da884cfc 23
dkato 0:ee40da884cfc 24 Website : https://www.xiph.org/flac/
dkato 0:ee40da884cfc 25
dkato 0:ee40da884cfc 26 FLAC is an Open Source lossless audio codec originally developed by Josh Coalson
dkato 0:ee40da884cfc 27 between 2001 and 2009. From 2009 to 2012 FLAC was basically unmaintained. In
dkato 0:ee40da884cfc 28 2012 the Erik de Castro Lopo became the chief maintainer as part of the
dkato 0:ee40da884cfc 29 Xiph.Org Foundation.
dkato 0:ee40da884cfc 30
dkato 0:ee40da884cfc 31 Other major contributors and their contributions:
dkato 0:ee40da884cfc 32
dkato 0:ee40da884cfc 33 "lvqcl" <lvqcl@users.sourceforge.net>
dkato 0:ee40da884cfc 34 * Visual Studio build system.
dkato 0:ee40da884cfc 35 * Optimisations in the encoder and decoder.
dkato 0:ee40da884cfc 36
dkato 0:ee40da884cfc 37 "Janne Hyvärinen" <cse@sci.fi>
dkato 0:ee40da884cfc 38 * Visual Studio build system.
dkato 0:ee40da884cfc 39 * Unicode handling on Windows.
dkato 0:ee40da884cfc 40
dkato 0:ee40da884cfc 41 "Andrey Astafiev" <andrei@tvcell.ru>
dkato 0:ee40da884cfc 42 * Russian translation of the HTML documentation
dkato 0:ee40da884cfc 43
dkato 0:ee40da884cfc 44 "Miroslav Lichvar" <lichvarm@phoenix.inf.upol.cz>
dkato 0:ee40da884cfc 45 * IA-32 assembly versions of several libFLAC routines
dkato 0:ee40da884cfc 46
dkato 0:ee40da884cfc 47 "Brady Patterson" <bpat@users.sourceforge.net>
dkato 0:ee40da884cfc 48 * AIFF file support, PPC assembly versions of libFLAC routines
dkato 0:ee40da884cfc 49
dkato 0:ee40da884cfc 50 "Daisuke Shimamura" <Daisuke_Shimamura@nifty.com>
dkato 0:ee40da884cfc 51 * i18n support in the XMMS plugin
dkato 0:ee40da884cfc 52
dkato 0:ee40da884cfc 53 "X-Fixer" <x-fixer@narod.ru>
dkato 0:ee40da884cfc 54 * Configuration system, tag editing, and file info in the Winamp2 plugin
dkato 0:ee40da884cfc 55
dkato 0:ee40da884cfc 56 "Matt Zimmerman" <mdz@debian.org>
dkato 0:ee40da884cfc 57 * Libtool/autoconf/automake make system, flac man page
dkato 0:ee40da884cfc 58