Post Go back to editing

Compiling API

Has anyone had any luck compiling the AD9371 (Mykonos) API? I am trying to compile the API from https://www.analog.com/en/design-center/landing-pages/001/transceiver-evaluation-software.html on the SD card that came with our eval board and a Xilinx Zynq eval board. We have also tried it under the image that is posted at https://wiki.analog.com/resources/tools-software/linux-software/zynq_images.

Parents
  • 'spi.h' is basically header file for our implementation of spi functionality using spidev interface. It implements following functions which you can also implement using spidev interface.

     

    int32_t HAL_initSpi( uint8_t chipSelectIndex, uint8_t spiMode);
    int HAL_closeSpi();
    int HAL_spiSSenable(uint8_t chipSelectIndex);

    int HAL_spiWrite(const unsigned char *txbuf, uint32_t n_tx);
    int HAL_spiRead(unsigned char *txbuf, uint8_t n_tx, unsigned char *readdata);

    Similar way 'logging.h' is our logging implementation and provide following functions.

    void HAL_openLogFile(const char *filename);

    void HAL_writeToLogFile(const char *msg, ...);

    void HAL_closeLogFile(void);

    void HAL_flushLogFile(void);

    'timer.h' declares following timer specific functions we implement.

    void HAL_storeCurrentTime(void);

    void HAL_getElapsedTime_ms(double *elapsedTime_ms);

    void HAL_setTimeout_ms(uint32_t timeOut_ms);

    void HAL_setTimeout_us(uint32_t timeOut_us);

    uint8_t HAL_hasTimeoutExpired(void);

    'fpgi_axi.h' declares following function for reading from and writing to fpga pl space.

    int32_t fpgaAxiReadWrite(char *uiod, uint32_t map_size, uint32_t count, uint32_t offset, uint8_t rw, uint32_t *data);

    You can mmap fpga memory via (/dev/uioX)interface do a read/write.

    You can use these header files as a hint for required functions which need to be implemented.

    Hope this help.

Reply
  • 'spi.h' is basically header file for our implementation of spi functionality using spidev interface. It implements following functions which you can also implement using spidev interface.

     

    int32_t HAL_initSpi( uint8_t chipSelectIndex, uint8_t spiMode);
    int HAL_closeSpi();
    int HAL_spiSSenable(uint8_t chipSelectIndex);

    int HAL_spiWrite(const unsigned char *txbuf, uint32_t n_tx);
    int HAL_spiRead(unsigned char *txbuf, uint8_t n_tx, unsigned char *readdata);

    Similar way 'logging.h' is our logging implementation and provide following functions.

    void HAL_openLogFile(const char *filename);

    void HAL_writeToLogFile(const char *msg, ...);

    void HAL_closeLogFile(void);

    void HAL_flushLogFile(void);

    'timer.h' declares following timer specific functions we implement.

    void HAL_storeCurrentTime(void);

    void HAL_getElapsedTime_ms(double *elapsedTime_ms);

    void HAL_setTimeout_ms(uint32_t timeOut_ms);

    void HAL_setTimeout_us(uint32_t timeOut_us);

    uint8_t HAL_hasTimeoutExpired(void);

    'fpgi_axi.h' declares following function for reading from and writing to fpga pl space.

    int32_t fpgaAxiReadWrite(char *uiod, uint32_t map_size, uint32_t count, uint32_t offset, uint8_t rw, uint32_t *data);

    You can mmap fpga memory via (/dev/uioX)interface do a read/write.

    You can use these header files as a hint for required functions which need to be implemented.

    Hope this help.

Children
No Data