Preliminary Technical Data UG-1828
Rev. PrB | Page 31 of 277
FOLDER STRUCTURE
Source files are provided by ADI in the folder structure shown in Figure 14. Each subfolder is explained in the following sections. ADI
understands that the developer may desire to use a different folder structure. Whereas Analog Devices provides ADRV9001 API source
code releases in the folder structure shown below, the developer may organize the ADRV9001 API into a custom folder organization ,if
required. This operation, however, does not permit the developer the right to modify the content of the ADRV9001 API source code.
Figure 14. API Folder Structure
/c_src/common
Common code shared between all the devices, this contains: error handling facilities, logging facilities, and HAL access facilities.
/c_src/devices
The devices folder includes the main API code for the ADRV9001 transceiver as well as auxiliary devices APIs used for the demo of
ADRV9001. The /adrv9001 folder contains the high level function prototypes, data types, macros, and source code used to build the final
user software system. The user is strictly forbidden to modify the files contained in the /adrv9001 or other devices in this section,
software support is not provided when these files have been modified. Analog Devices maintains this code. The only exception is that the
user may modify #define macros in adi_adrv9001_user.h such as ADI_ADRV9001_VERBOSE mode to enable/disable API logging.
/c_src/platforms
The /platforms folder provides the means for a developer to insert custom platform hardware driver code for system integration with the
ADRV9001 API. A description regarding the HAL interface is contained later in this document. The adi_platform.c/.h files contain
function pointers and the required prototypes necessary for the ADRV9001 API to work correctly. Modification of the function
prototypes in adi_platform.c is forbidden. The developer is responsible for implementing the code for each function to ensure the correct
hardware drivers are called for the user’s platform hardware. In the example code provided by ADI in adi_platform.c, the function
pointers are assigned to call the ZC706 platform functions. The adi_hal_PlatformSetup function allows for the swapping of platforms.