SanDisk SD AUDIO SDDK 07 User Manual

User’s Guide  
SanDisk SDK  
SD Audio SDDK-07  
Security Manager SDDK-06  
SD Device Driver and File System SDDK-05  
Revision 1.0  
October 2003  
140 Caspian Court • Sunnyvale, CA 94089 • Phone: 408-542-0500 • Fax: 408-542-0503  
SanDisk SDK  
User’s Guide, Rev. 1.0  
Table of Contents  
1
2
3
Introduction ..........................................................................................................................1  
SD-SDK Architecture Overview ........................................................................................2  
SanDisk SDK Components .................................................................................................3  
4
5
6
7
SD-SDK Directory Structure...............................................................................................5  
Sample Application Installation ........................................................................................6  
Known Problems and Limitations.....................................................................................8  
Part Numbers........................................................................................................................9  
© 2003 SanDisk Corporation  
1
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
1 Introduction  
This release note contains information about the SanDisk SDK architecture, installation of SD_SDK and sample  
application in Windows OS environment, system configuration supported by SD_SDK, and about known problems  
and limitations. If you encounter any problem while installing or using SD_SDK, please check here to see if it is a  
known problem.  
This guide will give an overview of the SDK architecture, supported futures, SD-SDK directory structure,  
installation of the sample application and SDK on Windows OS. Finally this guide will reveal any known problems  
and/or limitations and Part Number information for ordering the individual software component.  
© 2003 SanDisk Corporation  
1-1  
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
2 SD-SDK Architecture Overview  
The Secure Digital (SD) Memory Card offers protection of copyrighted materials such as digital music. Numerous  
underlying security elements work together to ensure that protected content is shielded from unauthorized access.  
To accelerate the design cycle for products utilizing the SD Memory Card, SanDisk offers the SD Software  
Development Kit (SD-SDK). The SD-SDK contains all the software layers that developer need to integrate a host  
platform such as a music player with a SD Memory Card. Tailoring a few of the SDK configuration options and  
calling the appropriate SDK API functions are all that is necessary to enable a music player to retrieve song titles  
and initiate playing music files.  
The components include:  
FAT File System Engine: FAT file system support for accessing files in both the user and  
protected areas of the SD Memory Card.  
SD Memory Card Device Driver: Provides support for low-level access to the SD  
Memory Card for both normal MultiMediaCard-compatible commands and the SD  
security commands  
SD Audio Software Layer: this layer contains intimate knowledge of the SD-Audio  
standard. It formulates requisite security key values, parses related files in the user and  
protected areas, and handles all aspects of decrypting/ playing protected content. It  
carries out security-related processing by calling into the SanDisk Security Manger  
(SSM) layer  
SanDisk Security Manager (SSM): Controls accesses that result in security commands  
being generated to the SD Memory Card. Protects critical key values and authentication  
file system elements.  
Application Program Interface (API): All functionality required by a typical music player  
is easily achieved through this API library. These functions include the ability to:  
mount/unmount volumes; retrieve play lists and track titles; play/stop/pause tracks; and  
skip forwards/backwards within a given musical track  
Sample Music Player Application: This sample application, written in Visual C++ 6.0  
Enterprise Edition, demonstrates how the SD-SDK (SD-Audio) services can be easily  
incorporated into a music player application. It provides a sample GUI via which audio  
content can be downloaded, viewed, and played.  
© 2003 SanDisk Corporation  
2
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
3 SanDisk SDK Components  
SD-Audio Layer  
Using the API shields host application software form the complexity of SD-Audio. Music player software that  
controls the display and playing of play lists can accomplish these tasks by calling the API functions. There’s never  
any need to deal directly with the internals of the functions, files, and data structures.  
Supported Functionality with 1.0 Release  
SD-Audio navigation support  
This function’s behavior model is to return the number of play lists, play list’s name,  
number of tracks in each play list, and track information for each play list  
This function also contains the list of available/free file number (AOBxxx.SA1) for  
download purpose  
This function also contains links and information of a song that is stored in multiple  
files (2 or more files)  
Handles the play list selection, and track selection  
Audio Playback support  
Support continues play of the entire tracks in the play lists  
Support single track selection playback  
Random track selection playback  
Also supports playback of all tracks that exists’ in the SD Card  
Delete Operation  
Multiple file deletion of the long song  
Single track deletion  
Download Operation:  
MP3 Audio format  
AAC Audio format  
Playback of long song that is required more that one SDA file format to store  
These files can be stored in sequence SDA files such as (AOB001.SA1,  
AOB002.SA1, etc).  
These files can be stored out of order SDA files such as (AOB001.SA1,  
AOB004.SA1, etc).  
Download of long song, that requires more than one SDA file format to store  
These files can be stored in sequence SDA files such as (AOB001.SA1,  
AOB002.SA1, etc).  
These files can be stored out of order SDA files such as (AOB001.SA1,  
AOB004.SA1, etc).  
Next Track, Previous track function is supported in this release  
Fast Forward, Fast Backward support  
© 2003 SanDisk Corporation  
3
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
At any given operational state, the maximum buffer required is 1K, except during the  
download or playback states. These two depends on the host system  
Security Manager Layer  
This layer encapsulates the SD Security, and SD Secure Files System. Using the API, SD-Audio layer can access  
this layer, and all the complexity of MKB process, AKE process, Bus Encryption/Decryption, and Audio Content  
Encryption/Decryption is hidden from the application layer.  
Supported Functionality with 1.0 Release  
AKE process is handled in this layer  
Bus Encryption/Decryption is performed immediately after each AKE process  
successfully finished  
MKB process is handled in this layer, its been invoked during the SD-Audio initialization  
To support the download operations, generating title key method implemented in this  
layer  
Title Key encryption/decryption  
Audio content encryption/decryption  
Secure file manipulation such as (open, read, delete, write, etc.) handled in this layer  
Required buffer in this layer is 1.5 Kbytes for internal use, this is need for the MKB  
process after the MKB process is complete this layer only require 512 bytes for other  
operations  
File System Layer  
This layer provides full FAT file system interface to SD card user area with API functions such as create, delete,  
insert, merge files, sub-directories, file date/time, file attributes and volume labels.  
Supported Functionality with 1.0 Release  
Support for FAT12, FAT16 and FAT32  
Support for short and long file names  
Device Driver Layer  
This layer handles all low-level I/O access to MMC card and SD card. It provides eight functions. They are:  
xxx_init, xxx_drive_open, xxx_drive_close, xxx_read, xxx_write, xxx_erase, xxx_read_serial, where xxx is the  
peripheral bus name, such as MMC or SPI.  
Supported Functionality with 1.0 Release  
Hardware access to memory card is through SanDisk verilog host controller.  
SD protocol, MMC protocol are implemented and tested on the top of the verilog host  
controller.  
SPI protocol is implemented but not tested on the top of the verilog host controller, due  
to the limitation of the host controller in SPI mode.  
4 SD-SDK Directory Structure  
There are four directories under the SD_SDK directory.  
© 2003 SanDisk Corporation  
4
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
1. sdaudlib  
2. sdbuild  
3. uiapp  
4. set32env  
The uiapp directory is unnecessary if this package is used in any environment other than the Windows OS.  
SD-SDK High-level Directory Structure  
SD_SDK:  
README  
UIApp  
. base  
. config  
. debug  
. io  
. Imc  
. res  
. SdApp  
. Debug  
.SdApp.exe  
. res  
SdAudLib  
. Debug  
. sdaudlib.lib  
. Release  
.sdaudlib.lib  
SdBuild  
. Fatfiles  
. Header  
. Intrface  
. Oem  
. oem.lib  
. SD_Oem  
. sdoem.lib  
. Platform  
. TstSampl  
. README  
. Security  
. Tstsampl  
. README  
. security.lib  
Set32Env  
. set32.bat  
© 2003 SanDisk Corporation  
5
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
5 Sample Application Installation  
The required components necessary to install the sample application include a PCI-SD board, Windows OS, and a  
SD Card w/development key.  
Running the Sample Application  
Option 1  
1. Unzip the SD_SDK package  
2. Change directory to sd_sdk\uiapp\sdapp\debug  
3. Run sdapp.exe  
Note: Ensure that the SD Card is properly inserted and has at least one track in it.  
Option 2  
1. Follow SD_SDK installation guide to rebuild the sdapp.exe from source code  
2. Run sdapp.exe  
SD_SDK Installation Guide  
The sequence enumerated below should be followed.  
1. Install Visual C++ 6.0 Enterprise edition at the default folder.  
2. Copy SD_SDK source file or unzip all the source file to C:\SD_SDK directory  
3. Change config.sys file to include the following line: Shell=C:\command.com c:\ /p /e:8192  
(see C:\SD_SDK\set32env\config.sys for reference)  
4. Reboot machine  
5. Setup environment variable for building library under DOS prompt  
6. Type: cd C:\SD_SDK\set32env  
set32  
7. Build file system OEM.lib by typing:  
cd C:\SD_SDK\sdbuilt\OEM  
nmake clean  
nmake  
8. Build secure key system SD_OEM.lib :  
type “cd C:\SD_SDK\sdbuild\SD_OEM”  
modify sd_oem.c to include OEM device key info to the SDK system  
type “nmake clean”  
type “nmake”  
© 2003 SanDisk Corporation  
6
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
9. saf;ljk Build security system Security.lib by typing:  
cd C:\SD_SDK\sdbuild\SECURITY  
nmake clean  
nmake  
10. Build SD aduioAPI SdAudlib.lib by opening Visual C++ 6.0 sdaudlib.dsw workspace which is under  
C:\SD_SDK\sdaudlib\sdaudlib.dsw and choose menu “rebuild all” under “Build” menu item.  
You may need to set include path by choose menu “options” under “Tools” menu item. Add  
“C:\SD_SDK\UIApp\LMC\XINGMP3\INCLUDE” to “Directories”.  
11. Build SD download utility application SdApp.exe by opening Visual C++ 6.0 sdApp.dsw workspace which  
is under  
C:\SD_SDK\UIApp\sdApp\sdApp.dsw and choose menu “rebuild all” under “Build” menu item.  
You may need to set include path by choose menu “options” under “Tools” menu item. Add  
“C:\SD_SDK\UIApp\LMC\XINGMP3\INCLUDE” to “Directories”.  
12. Launch SdApp.exe by open Visual C++ 6.0 sdApp.dsw workspace which is under  
C:\SD_SDK\UIApp\sdApp\sdApp.dsw and choose “Execute SdApp.exe “ under Menu Build item.  
Ensure that the path to sdaudlib.lib, and security.lib is included in the make file settings.  
© 2003 SanDisk Corporation  
7
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
6 Known Problems and Limitations  
For the UIAPP, the following items are relevant.  
SdApp.exe is tested on Window 98 only  
Some of the songs, when being played, will be stuck due to the freeware source code  
used in the SdApp. Just click forward(>>) will let you continue to play  
Play function only supports MP3 songs, not AAC songs  
When click forward(>>), the timer will display 4 seconds, not 2 second forwarded, but in  
reality, the contents is only forwarded by 2 seconds  
For the SD-Audio, the following items are not supported.  
Modify, Add, and Deletion of Playlists is not supported  
WMA audio format is not supported  
Creating a new playlist manager, track manager, key manager is not supported in this  
release  
For the SD Secure Manager, the following items are relevant  
The file date of xxx.key file (in secure area) is not being updated even though the content  
of the file has been changed  
© 2003 SanDisk Corporation  
8
10/2003  
SanDisk SDK  
User’s Guide, Rev. 1.0  
7 Part Numbers  
SDDK-05: SD Device Driver and File System  
This software component includes all the files under directory “SDBuild” except “SD_Oem”  
directory and “Security” directory. With those files, you would be able to build “Oem.lib”.  
SDDK-06: Security Manager SDK  
This software component includes all the files under directory “SD_Oem” and directory  
“Security”. With those files and “Oem.lib”, you would be able to build “Security.lib”.  
SDDK-07: SD Audio SDK  
This software component includes all the files under directory “SdAudLib”. With those files, you  
would be able to build “sdaudlib.lib”.  
SanDisk Corporation  
Corporate Headquarters  
140 Caspian Court  
Sunnyvale, CA 94089  
408-542-0500  
FAX: 408-542-0503  
© 2003 SanDisk Corporation  
9
10/2003  

Yamakawa M2090 M2095 User Manual
Toshiba MA 120 Series User Manual
Texas Instruments Digital Signal Processor TMS320C6201 User Manual
Sony XR C7500RX User Manual
Sony SPK SC100 User Manual
Sony IFV TR1K User Manual
Sony DH1730 User Manual
Sony DCR TRV5 User Manual
Sony CCD TRV12 User Manual
Samsung VP D11 User Manual