HP (Hewlett-Packard) EZ-KIT Switch User Manual


 
Getting Started with ADSP-BF548 EZ-KIT Lite 2-9
Using ADSP-BF548 EZ-KIT Lite to Investigate Performance
Factors
The voltage level can be changed on the fly as a program runs; for exam-
ple, to suit the current workload or battery state. Changing the voltage
regulator setting is not difficult but becomes a more complicated task with
respect to coordinating the change with any necessary adjustments of the
core and system clock rates. Fortunately, the system services library (SSL)
that Analog Devices supplies as part of VisualDSP++ contains a power
management module that includes many really useful functions. One SSL
function sets a particular voltage level and changes the clocks to the maxi-
mum speed supported at the new voltage. Our next example will use this
function in addition to another SSL function that reports back the current
clock rates. VisualDSP++ online help contains a comprehensive descrip-
tion of the SSL.
Close any open projects. Locate the next project file (
Example_3.dpj) in
the Example_3 directory. Double-click the project file name or drag it to
the Project Window of VisualDSP++. Expand the Source Files and
Header Files nodes to investigate the file contents. In addition to the
example application program (Sorts.c), there is a new C source file
(adi_ssl_Init.c) and corresponding header (adi_ssl_Init.h). As with
most libraries, the SSL requires initialization before any of the library
facilities are used. Initialization takes the form of instructing the various
SSL managers about the hardware platform (such as the SDRAM timings
for the external bus manager) and supplying them with sufficient memory
to service the interrupts and peripherals that we wish to employ.
Most of the VisualDSP++ example programs using the SSL services follow
a similar pattern, so standard code for initialization and termination of the
library is provided in the common source file (
adi_ssl_Init.c). Of
course, the different examples use different library facilities, so each
project includes its own copy of the header file adi_ssl_Init.h, in which
the values of various preprocessor macros vary to suit particular applica-
tion requirements. For example 3 we use only the SSL’s power
management facility, which does not need any extra information, so all
the configuration macros are set to zero.