Reference Manual
SOFTWARE INTEGRATION
#include "adi_fpga9001_hal_customer.h"
/* Logging interface */
int32_t(*adi_hal_LogWrite)(void *devHalCfg, uint32_t logLevel, const char *comment, va_list args) =
customer_LogWrite;
/* Timer interface */
int32_t(*adi_hal_Wait_us)(void *devHalCfg, uint32_t time_us) = customer_TimerWait_us;
...
Once done, the adi_platform.c code automatically switches to use of the placeholder customer code under the customer\ folder.
Following is a code snippet from adi_adrv9001_hal_customer.c, located under customer\adrv9001\. It shows each function required by
the HAL to support a customer-specific platform. Read the example HAL implementation provided under the linux_uio\ folder to understand
the purpose of each function, as well as the acceptable return values. Function names may be modified, if required, provided the pointer
assignments in adi_platform.c are updated accordingly. However, the function parameters may not be modified as this causes compilation
errors.
#include "adi_adrv9001_hal_customer.h"
int32_t customer_adi_adrv9001_hal_open(void *devHalCfg)
{
/* Customer code goes here */
return 0;
}
int32_t customer_adi_adrv9001_hal_close(void *devHalCfg)
{
/* Customer code goes here */
return 0;
}
int32_t customer_adi_adrv9001_hal_spi_write(void *devHalCfg, const uint8_t txData[], uint32_t numTx►
Bytes)
{
/* Customer code goes here */
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;
}
When going through platform development, be 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 system up to date.
/c_src/platforms/customer/
Figure 19
shows an expansion of the customer/ folder. This folder contains all the necessary files to build a custom platform with support for
the ADRV9001 Eval Board hardware.
analog.com
ADRV9001
Rev. A | 39 of 377
Need help?
Do you have a question about the ADRV9005 and is the answer not in the manual?
Questions and answers