📄 readme.txt
字号:
directory.* SUPPORT_SPECTRUM_ANALYZER specifies that the software spectrum analyzer should be included in the player. This should only be specified when building an image for one of the reference design boards as they are the only ones able to display the spectral information (though the spectrum analyzer will work on any board, processing power permitting). --> Building <--If the software is to be built under Windows, make sure that the bin directorywithin the player software appears in the search path. Since the bin directorycontains some tools which might already be on the system (such as make andsort), it must appear early in the search path. The makefiles require at leastversion 3.77 of GNU make (version 3.78.1 is supplied with this package) and abourne shell compatible shell named sh.exe (which is also supplied). The Unixversion of sort is required (the Windows sort command does not support the "-u"flag). These utilities are all pre-built GNU software extracted from a largerpackage of common GNU Unix utilities; the full package (UnxUtils.zip) andsource is available on SourceForge (http://unxutils.sourceforge.net).To build the software (either on Windows or on Linux), open a command prompt,change directory into the main directory within the player software, and type"make". This will build the following components:* The build tools.* The player itself.* The download utility.* The unformat utility.When complete, there will be a "player.img" in the main directory within theplayer software; this is an image that can be downloaded to the board (asdescribed above) and run. There will also be a "player.pkg" in the playerdirectory; this is an image that can be used by mavusb to update the softwareon the board.After the entire package has been built, individual components can be re-builtby simply running "make" within that component's directory. The most commonway to do this would be to re-build the player directory (creating"player.pkg"), updating the software on the board with mavusb, and repeatingas more changes/additions are made to the player. Keep in mind that unless"make" is run in a directory (or in one of it's parent directories), the buildobjects within that directory are not necessarily up to date (i.e. if theplayer directory is modified and then individually rebuilt, "player.pkg" is upto date but "player.img" in the main directory is not).To use the evaluation version of WMA supplied with the player, it must first beinstalled. To do so, run either player/wma/WMA_Dec_Emb_ARM_AIF_eval_setup orplayer/wma/WMA_Dec_Emb_ARM_ELF_eval_setup, depending upon the version required.The AIF version is used for ARM Software Development Toolkit 2.5, and the ELFversion is used for ARM Developer Suite 1.x. The install directory should beplayer/wma. After installing, there will be a player/wma/lib directory whichmust be renamed as appropriate for the toolchain being used to cross-compile: sdt25 - If using ARM Software Development Toolkit 2.5 ads - If using ARM Developer Suite 1.xAdditionally, the libraries for the ELF version need to be renamed to have a".a" extension instead of ".elf".If the full version is obtained from Microsoft, the same procedure must befollowed to make the libraries available to the build.Building the Windows specific software requires the use of Microsoft specifictools and development environments:* Building the USB driver (mavusb.sys) requires version 6 of Microsoft Visual C++ and the Windows NT 4.0 DDK. The following steps will build the driver: - Open a command prompt. - Perform the steps specified by Microsoft to setup the NT build environment. - Change directories to the USB driver directory "windows/usbdrvr". - Type "build". Once completed, the location of the newly built driver is dependent upon whether a checked or free version was built. The checked version will be located in windows/usbdrvr/objchk/i386/mavusb.sys and the free version will be located in windows/usbdrvr/objfre/i386/mavusb.sys. Copy the newly built driver into the windows directory within the player software (which also contains the INF file) and perform the procedure given above for re-installing the drivers.* Building the WMDM service provider (mavspi.dll) requires version 6 of Microsoft Visual C++. The following steps will build the service provider: - Load VisualStudio. - Load workspace "windows/mavspi/mavspi.dsw". - Click on "Build" and select "Set Active Configuration". - Choose the configuration to be built. The debug configuration is not optimized and contains information for source level debugging of the service provider. The release configuration is optimized and does not contain source level debugging information. Click on "OK" when done. - Click on "Build" and select "Build mavspi.dll". Once completed, the location of th newly built service provider is dependent upon the configuration built. The debug version is located in windows/mavspi/debug/mavspi.dll and the release version is located in windows/mavspi/release/mavspi.dll. Copy the newly built service provider into the windows directory within the player software (which also contains the INF file) and perform the steps given above for re-installing the drivers (which also installs the service provider).* Building the USB application (mavusb.exe) requires version 6 of Microsoft Visual C++. The following steps will build the application: - Load VisualStudio. - Load workspace "windows/mavusb/mavusb.dsw". - Click on "Build" and select "Set Active Configuration". - Choose the configuration to be built. The debug configuration is not optimized and contains information for source level debugging of the application. The release configuration is optimized and does contain source level debugging information. Click on "OK" when done. - Click on "Build" and select "Build mavusb.exe". Once completed, the location of the newly built application is dependent upon the configuration built. The debug version is located in windows/mavusb/debug/mavusb.exe and the release version is located in windows/mavusb/release/mavusb.exe. The new version can be run directly by either typing the program name on the command line or double clicking on the program in Windows Explorer.------------------------------------------------------------------------------- ==> Resource Consumption <==The following table shows the approximate ROM usages of the various modules inthe player, along with the exact RAM usage. +------------------------------------------------+----------+----------+ | Module | ROM | RAM | +------------------------------------------------+----------+----------+ | Main Player | 20,480 | 2,032 | | Filesystem | 30,720 | 520 | | Internal NAND | 3,072 | 1,080 | | SmartMedia | 3,072 | 1,080 | | User Interface | 16,384 | 172 | | Input Processing | 1,024 | 76 | | Output Processing | 18,432 | 1,644 | | USB | 4,096 | 28 | +------------------------------------------------+----------+----------+ | Software Tone Control | 1,536 | 64 | | Software Volume Control | 1,024 | 36 | | Spectrum Analyzer | 2,048 | 224 | | WOW | 2,048 | 228 | | Q2X | 2,048 | 360 | | Digital OnTheGoFX | 4,096 | 124 | +------------------------------------------------+----------+----------+ | Rights/PD | 44,032 | 2,096 | +------------------------------------------------+----------+----------+ | MP3 | 32,768 | *26,724 | | AAC | 41,984 | 27,072 | | WMA | 108,544 | 29,664 | | MS ADPCM | 6,144 | 21,084 | | G.721 | 5,120 | 10,496 | | ACELP.net | 28,672 | 5,656 | +------------------------------------------------+----------+----------+ * The RAM usage of MP3 is not exactly quantifiable since there is a block of memory which must reside on a 2K byte boundary. The figure given here is the actual memory required by MP3; up to 2K of additional memory may be needed to ensure that the block has the required 2K alignment.The table is broken up into four groups; the first set of modules must alwaysexist and always consume the specified amount of ROM and RAM. The remainingmodules are individually selectable, are optional, and consume no memory (ROMor RAM) if not included in the player. Any module included always consumes thespecified amount of ROM. The second set of modules always consume thespecified amount of RAM if included in the player. The third set (whichconsists solely of Rights/PD) only comsumes the specified RAM when playing afile which is encrypted with InterTrust. The fourth set of modules are thevarious codecs available; they consume the specified RAM only when decoding afile.So, a player image which supports only MP3 and MS ADPCM (such as the pre-builtimages included in this release) will require approximately 136,192 bytes ofROM (the images themselves are actually 131,096 bytes) and will consume 6,632bytes of RAM. It will then require an additional 26,724 bytes of RAM to decodean MP3 file (for a total of 33,356 bytes of RAM) or an additional 21,084 bytesof RAM to decode an MS ADPCM file (for a total of 27,716 bytes of RAM). Sincethere is a total of 38,400 bytes of internal SRAM on the EP7209, we havesufficient RAM to decode MP3 or MS ADPCM files.The processing requirements of the various modules is a bit more complicatedsince it is dependent upon the speed and width of the memory used to containthe ROM. To provide an indication of the processing requirements, measurementswere taken using a single 16-bit wide Intel B3 FLASH, using a pair of 16-bitwide Intel B3 FLASHes in a 32-bit wide configuration, using a single 64megabit, 16-bit wide Intel J3 FLASH, and using a single 128 megabit, 16-bitwide Intel J3 FLASH. For the Intel B3 FLASH devices, the memory controller wasconfigured for 3 wait states per access (which is the fastest possible accessspeed for the Intel B3 FLASH). For the 64 megabit Intel J3 FLASH device, thememory controller was configured for 3 wait states per random access and zerowait state per sequential access, with sequential accesses enabled (which isthe fastest possible access speed for the 64 megabit Intel J3 FLASH). For the128 megabit Intel J3 FLASH device, the memory controller was configured for 5wait states per random access and one wait state per sequential access, withsequential accesses enabled (which is the fastest possible access speed for the128 megabit J3 FLASH). The following table shows the processing requirementsfor the main modules of the player in these memory configurations: +----------+----------+----------+----------+ random wait states | 3 | 3 | 3 | 5 | sequential wait states | 3 | 3 | 0 | 1 | width | 16 | 32 | 16 | 16 | +------------------------------+----------+----------+----------+----------+ | Module | | | | | +------------------------------+----------+----------+----------+----------+ | Filesystem @ 32kbps | 0.20MHz | 0.18MHz | 0.18MHz | + | | Filesystem @ 64kbps | 0.97MHz | 0.86MHz | 0.83MHz | + | | Filesystem @ 128kbps | 1.36MHz | 1.11MHz | 1.11MHz | 1.15MHz | | Filesystem @ 384kbps | 3.13MHz | 3.08MHz | 2.93MHz | 3.11MHz | +------------------------------+----------+----------+----------+----------+ | Rights/PD @ 128kbps | 4.27MHz | 2.50MHz | 2.29MHz | + | +------------------------------+----------+----------+----------+----------+ | SRC (6-tap, stereo) | 13.18MHz | 11.91MHz | 9.80MHz | + | | SRC (13-tap, stereo) | 18.62MHz | 16.87MHz | 15.26MHz | + | +------------------------------+----------+----------+----------+----------+ | DAI Interrupt | 4.42MHz | 3.69MHz | 3.83MHz | 4.53MHz | +------------------------------+----------+----------+----------+----------+ | MP3 @ 32kHz, 128kbps | 34.70MHz | 27.78MHz | 27.25MHz | + | | MP3 @ 44.1kHz, 128kbps | 43.42MHz | 36.60MHz | 36.02MHz | 42.32MHz | | MP3 @ 48kHz, 128kbps | 48.19MHz | 40.37MHz | 39.42MHz | + | +------------------------------+----------+----------+----------+----------+ | AAC @ 44.1kHz, 128kbps | 26.80MHz | 23.00MHz | 22.54MHz | + | | AAC @ 48kHz, 384kbps | 30.66MHz | 26.17MHz | 25.86MHz | 29.73MHz | +------------------------------+----------+----------+----------+----------+ | WMA @ 32kHz, 64kbps | 25.04MHz | 21.93MHz | 21.58MHz | + | | WMA @ 44.1kHz, 64kbps | 32.99MHz | 29.37MHz | 28.58MHz | + | | WMA @ 44.1kHz, 128kbps | 36.15MHz | 32.08MHz | 31.39MHz | + | +------------------------------+----------+----------+----------+----------+ | MS ADPCM @ 8kHz, 32kbps | 0.94MHz | 0.91MHz | 0.91MHz | + | | MS ADPCM @ 11kHz, 45kbps | 1.27MHz | 1.24MHz | 1.24MHz | + | +------------------------------+----------+----------+----------+----------+ | ACELP.net @ 8kHz, 5kbps | 15.37MHz | 14.23MHz | 14.18MHz | + | | ACELP.net @ 8kHz, 6.5kbps | 9.98MHz | 9.05MHz | 8.97MHz | + | | ACELP.net @ 8kHz, 8.5kbps | 10.29MHz | 9.30MHz | 9.24MHz | + | | ACELP.net @ 16kHz, 16kbps | 30.59MHz | 28.80MHz | 28.75MHz | + | +------------------------------+----------+----------+----------+----------+ | SRS Headphone @ 44.1kHz | * | 12.23MHz | 10.11MHz | * | | SRS TruBass @ 44.1kHz | * | 17.48MHz | 15.40MHz | * | | SRS WOW Minimal @ 44.1kHz | * | 21.21MHz | 19.23MHz | * | | SRS WOW @ 44.1kHz | * | 25.26MHz | 23.25MHz | * | +------------------------------+----------+----------+----------+----------+ | Q2X @ 44.1kHz | * | 19.19MHz | 17.30MHz | * | +------------------------------+----------+----------+----------+----------+ | Digital OnTheGoFX @ 44.1kHz | * | 11.06MHz | 8.16MHz | * | +------------------------------+----------+----------+----------+----------+ | Spectrum Analyzer @ 44.1kHz | * | = | 16.27MHz | * | +------------------------------+----------+----------+----------+----------+ * There was not enough processing power in this configuration to run these output audio processing algorithms so no measurements were taken. + These measurements were not taken as the general performance of this configuration can be judged by the measurements that were taken. = The spectrum analyzer performance was not measured in this configuration (which is the EP7209 evaluation board) since it does not make sense to run the spectrum analyzer on that platform.From this it can be seen that a system using faster memory (the 64 megabit J3)in a 16-bit wide configuration is actually faster than a system using slowermemory (the B3) in a 32-bit wide configuration. It can also be seen that toplay a 44.1kHz MP3 file encoded at 128kbps on a system with a single 16-bitwide B3 FLASH takes approximately 49.2MHz (1.36MHz to read from the filesystem,43.42MHz to decode the file, and 4.42MHz to play the audio).There is a modest amount of system overhead that must also be considered whendetermining the total processing required. Additionally, cache effects makeall of the above numbers rough estimates; varying levels of cache thrashingcould change the processing requirement of each component by 5-10% in eitherdirection (the ROM shift caused by adding a single word to the image could havedramatic effects on the level of cache thrashing). Also, two different filescompressed using the same codec, at the same sample rate, and at the same bitrate will not necessarily require the same processing to decode.All of the filters in the sample rate converter are 13-tap filters with theexception of the filter used to convert 48kHz to 44.1kHz. So, the input rateto the sample rate converter must be taken into account when determining theprocessing requiements (for example, a 48kHz MP3 requires a 6-tap SRC,consuming 13.18MHz on a B3 x16, while a 32kHz MP3 requires a 13-tap SRC,consuming 18.62MHz on a B3 x16).The processing requirement of a player built in a particular softwareconfiguration and run on a particular hardware configuration can not beaccurately pre-determined, but the above measuresments can be used to makeinformed predictions.------------------------------------------------------------------------------- ==> Contact Information <==* Send e-mail to the EPD applications helpline (epdapps@crystal.cirrus.com) for assistance or further information about the player or the additional software libraries available from Cirrus Logic.* Visit http://www.microsoft.com/windowsmedia for information about WMA and to obtain the full version of the WMA library with digital rights management.* Send e-mail to Bruno Deslauriers at VoiceAge Corporation (brunod@voiceage.com) to obtain the ACELP.net library.* Send e-mail to rightspd@intertrust.com to obtain the Rights/PD library.* Send e-mail to Alan Kraemer at SRS Labs (alank@srslabs.com) to obtain the WOW library.* Send e-mail to Craig Palmer at QSound Labs (craig.palmer@qsound.com) to license the Q2X library.* Send e-mail to Randy Roscoe at Spatializer Audio Laboratories (randyr@spatializer.com) to obtain the full version of the Digital OnTheGoFX library.*******************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -