ERROR: 4: TALISE_loadArmFromBinary(): ARM unknown error during bootup

Getting this error running the headless example program.  The radioStatus value that was read from the device comes back 0xFF, thus the error at line 442 in talise_arm.c.  No other errors or warnings up to that point.  It does continue on but then throws another error "Talise init calibration error encountered" during the TALISE_checkInitCalComplete() function.  Probably meaningless since it appears that the boot didn't happen.  The binaries used to load the device came from the Analog Devices linux repo on the 2018_R1 branch.

I can provide the talise_config.c file if needed.

    - Brad

  • 0
    •  Analog Employees 
    on Oct 25, 2018 12:00 PM over 1 year ago

    What hardware platform are you using ?

    Moving this post to Linux Software forum as Linux SW related queries are best answered here. 

  • It is Linux I'm currently using for development but there is no adrv9009 driver in the kernel.  I'm using the headless example program to directly control the ADRV9009 through a generic spidev driver.

  • 0
    •  Analog Employees 
    on Oct 25, 2018 1:25 PM over 1 year ago in reply to msi_brad

    On this forum we only support the ADRV9009 IIO Linux kernel driver.

    You might want to take a look at the adrv9009 No-OS driver: 

    ADRV9009 support for No-OS/Xilinx has been made available here:

    https://github.com/analogdevicesinc/no-OS/tree/jesd204/projects

    It's currently in the jesd204 branch which will merge soon into master.

    PS: Do you provide a valid ARM binary firmware blob?

    -Michael

  • Yes, that's more or less the code I am using.  Looks like this just landed on github, I got mine as a tarball from an ADRV9009 support page weeks ago.  The firmware was extracted from the Analog Devices linux repo, the 2018_R1 branch.  I've diffed the code against the 2018_R1 driver code and it's virtually identical, at least with respect to the talise subdirectory.  Since our application won't be using Linux to control the ADRV9009, I've been working on getting the no-OS code up and running.  I'm developing on a ZCU102 platform and I'm now going back to the SD card image 2018_R1-2018_06_26.img.xz to try to get to a baseline.  Interestingly this setup throws the following errors (from dmesg):

    [ 3.788351] adrv9009 spi32766.1: adrv9009_probe : enter
    [ 3.827624] adrv9009 spi32766.1: ADIHAL_resetHw at index
    [ 26.288207] adrv9009 spi32766.1: ERROR: 241: TALISE_waitArmCmdStatus() failed due to thrown ARM error. ARM time out
    [ 26.298650] adrv9009 spi32766.1: adrv9009_setup:545 (ret 5)
    [ 26.507432] adrv9009 spi32766.1: ERROR: 257: TALISE_setGpIntMask(): Can not set GP_INT mask while InitCals are running
    [ 26.518077] adrv9009 spi32766.1: ERROR: 178: Device not in radioOff/IDLE state. Error in TALISE_enableTrackingCals()
    [ 26.528551] adrv9009 spi32766.1: adrv9009_setup:707 (ret 5)
    [ 26.535240] adrv9009 spi32766.1: ERROR: 288: TALISE_waitArmCmdStatus() failed due to thrown ARM error. Is device in correct state for calling command?
    [ 26.548633] adrv9009 spi32766.1: ERROR: 262148: Talise ARM Command not accepted in READY state. RunInit not completed
    [ 26.559305] adrv9009 spi32766.1: adrv9009_setup:717 (ret 6)
    [ 26.567539] adrv9009 spi32766.1: adrv9009_probe: adrv9009 Rev 192, Firmware 4.0.4 API version: 3.4.0.0 successfully initialized
    [ 33.969471] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.003545] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.075552] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.104171] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.137769] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.178773] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.341836] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled
    [ 34.394250] adrv9009 spi32766.1: ERROR: 281: gain index exceeded expected maximum or minimum value for TALISE_getRxGain(). Please check if Receive Path is enabled

    Wondering if I have a bad board/part.  Going to swap in a different Talise FMC board next.

  • 0
    •  Analog Employees 
    on Oct 25, 2018 2:06 PM over 1 year ago in reply to msi_brad

    You may check if Vadj is truned on by the ZCU102 system power controller.