Preliminary Technical Data
UG-1828
Rev. PrC | Page 37 of 338
return 0;
}
int32_t customer_adi_adrv9001_hal_spi_read(void *devHalCfg, const uint8_t txData[], uint8_t rxData[], uint32_t numTxRxBytes)
{
/* Customer code goes here */
return 0;
}
int32_t customer_adi_adrv9001_hal_resetbPin_set(void *devHalCfg, uint8_t pinLevel)
{
/* Customer code goes here */
return 0;
}
As customers go through their platform development it is recommended that they remain aware of all changes made to the HAL
implementation with each release of the SDK. Being familiar with README.md and CHANGELOG.md under the production\ folder is
the best way to keep a customer system up to date.
The host can then use the compile_on_platform.py script to compile initialization code for the ADRV9001 on the chosen platform
though SSH. Run the script using Python3.X and follow the provided instructions.
/c_src/platforms/customer/
In Figure 19 is shown an expansion of the customer/ folder. This folder contains all the necessary files for building a custom platform with
support for the hardware present on the ADRV9001 Eval Board.
Figure 19: Customer Folder Expanded
Most of these files can safely be left at their defaults, the majority of function calls defined in this section of the codebase are optional. For
example, the adm1293\ folder houses code used to interact with the ADM1293 device (used for power monitoring) via I2C, however this
device is only used by TES to provide power measurements. It has no essential function to the operation of the Eval Board. Similarly,
common\ houses the code for a Timer(…) and a Log(…) function, both of which are more useful than they are essential. The fpga9001\
folder houses functions designed at accessing and managing memory on your platform, as well as handling the SSI type configuration,
DMA and RAM reading. These functions will be necessary if your custom application requires a platform connected to the SSI ports with
access to RAM, DMA and register memory, however not every application will need such a complex platform. Simpler applications which
do not need access to these elements of functionality can safely ignore this folder.
The only essential folder is the adrv9001\ folder, which houses the code necessary for instantiating and deconstructing the customer HAL,
the SPI functionality and the RESET pin control. These are the minimum functions required in order to interact with the ADRV9001
device provided you can power it. In an upcoming section, an example customer HAL file is provided designed to operate the ADRV9001
device using a Raspberry Pi.