Post Go back to editing

adrv9026 CPU exception for any API call after initialization

Category: Software
Product Number: ADRV9026

Versions used:

Adi.Adrv9025.GainTables 6.4.0.1
Adi.Adrv9025.Api 6.4.0.14
Adi.Adrv9025.Firmware 6.4.0.6
Adi.Adrv9025.Gui 6.4.0.17

============

After Madura initialization, my jesd link is up, and I can receive correct data over the link. However, any subsequent command that involves the CPU results in an exception. 

adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
adi_adrv9025_CpuCmdStatusWait.1115: CPU event checks exceeded max 1000
adi_adrv9025_CpuCmdStatusWait.1137: CPU exception ffffffff

A second attempt would fill console reporting CPU busy = 1

The APIs that I have tried: adi_adrv9025_pllFrequencyGet, adi_adrv9025_pllFrequencySet, adi_adrv9025_RxNcoShifterSet/Get, adrv9025_calsInit etc. My primary goal is to enable and shift the bank A NCO1 to tune to the carrier.

Is there any procedure prior to issuing the APIs? I tried disabling RX/TX with no luck. Rerunning PostMCSInit also fails as it involves CPU commands.

Any help or suggestion would be greatly appreciated.

Thanks

Sharif

Parents Reply Children
  • It looks like the initialisation is happening successfully. Are you facing this issue only you call RxNcoShifterSet API? Before calling this API, you were able to run other APIs such as Tx Attenuation change, setting LO frequency?

    Have you updated the NCO configuration as instructed in this thread?

  • It's an issue with all APIs.
    UPDATE: I placed the NCO shift function at various stages in initialization, and found that it works prior to  calling adi_adrv9025_TrackingCalsEnableSet function. The tracking Cals command is probably messing up something in the CPU, although it returns no error. I commented out that code for the time being and I can now call any API, such as LO frequency set, etc. during runtime.