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

  • Can you please share the detailed log? At what stage, are you running into this issue?

  • BC (nil) 0x8
    XCVR (nil) 0x10
    XCVR 0x20 0x40
    XCVR 0x60 0x80
    XCVR 0xa0 0x140
    XCVR 0x180
    stAdiRxXcvrRegisters 0xa0000000
    stJesdLinkRxRegisters 0xa0010000 ln0 0xa0010400 ln1 0xa0010410
    stJesdTransportRxRegisters 0xa0020000
    stAdiXcvrTxRegisters 0xa0040000
    stJesdLinkTxRegisters 0xa0050000
    stJesdTransportTxRegisters 0xa0060000
    stAdiXcvrObsRegisters 0xa0080000
    stJesdLinkObsRegisters 0xa0090000
    stJesdTransportObsRegisters 0xa00a0000
    stBoardControlStatusRegisters 0xa0100000
    DisplayRegisters.2340: stBoardControl (0xffffb74a6000) = 00000013
    DisplayRegisters.2356: stBoardControl = 00000013
    stAdiRxXcvrRegisters phys 0xa0000000 virt 0xffffb73a6000
    fpgainfo = 03040A03
    stJesdLinkRxRegistersbase phys 0xa0010000 virt 0xffffb73b6000
    version major = 00000001
    version minor = 00000007
    version patch = 00000061
    peripheral ID = 00000000
    ID = 32303452
    Scratch = 55AA33CC
    num lanes 2
    link disable 00000000
    link disable 00000000
    data path width 2
    state 0 reset 0
    status state 3 sync 0
    link clock freq 81921
    dev clock freq 81921
    lane 0
    ILAS0 bid 0 did 0
    ILAS1 lid 0 L 0 scr 0 F 0 K 0
    ILAS2 M 0 N 0 CS 0 NP 0 SubClassV 0 S 0
    ILAS3 CF 0 FD 0 HCGK 0
    lane 1
    ILAS0 bid 0 did 0
    ILAS1 lid 0 L 0 scr 0 F 0 K 0
    ILAS2 M 0 N 0 CS 0 NP 0 SubClassV 0 S 0
    ILAS3 CF 0 FD 0 HCGK 0
    stJesdLinkTxRegistersbase phys 0xa0050000 virt 0xffffb73f6000
    version major = 00000001
    version minor = 00000006
    version patch = 00000061
    peripheral ID = 00000000
    ID = 32303454
    Scratch = AA55CC33
    stJesdLinkObsRegistersbase phys 0xa0090000 virt 0xffffb7436000
    version major = 00000001
    version minor = 00000007
    version patch = 00000061
    peripheral ID = 00000000
    ID = 32303452
    Scratch = CC33AA55

    *** Begin Platform Discover *** ERROR: adi_motherboard_Discover:750
    adi_platform_Discover:551
    hal_DevHalCfgCreate.319: im 0000001A scs:0 lfn:platformLog.txt
    adi_platform_Discover:595: calling adi_platform_Discobery
    adi_platform_Discover:599: calling adi_platform_Discobery returned 0
    adi_platform_Discover.635: mid 2 name ADI_IWAVESOM_PLATFORM
    adi_platform_Discover:643: calling adi_hal_PlatformSetup
    adi_platform_Discover:648: calling adi_hal_PlatformSetup returned 0
    adi_platform_Discover:665: calling adi_hal_HwOpen
    iws_HwOpen.56: log enabled 1
    iws_HwOpen.95: spi enabled 0
    iws_HwOpen.112: bbic enabled 1
    iws_BbicOpen:
    iws_BbicOpen.60: opening /dev/uio0
    iws_BbicOpen.63: fd = 5
    iws_BbicOpen.70: mapSize 536870912
    iws_BbicOpen.79: memory mapped to address 0xffffb7974000
    iws_HwOpen.131: hwreset enabled 1
    iws_HwOpen.145: i2c enabled 0
    iws_HwOpen.164: timer enabled 1
    iws_HwOpen.184: returning 0
    adi_platform_Discover:670: calling adi_hal_HwOpen returned 0
    adi_daughterboard_Discover.471: mid 2 nm ADI_IWAVESOM_PLATFORM
    adi_daughterboard_Discover.474: create config IWAVESOM
    iws_DevHalCfgCreate.410: halCfg 0xaaaaf844e3b0 interfaceMask = 0000001B
    iws_DevHalCfgCreate.426: SPI enabled
    iws_DevHalCfgCreate.477: LOG enabled
    iws_DevHalCfgCreate.513: HWRESET enabled
    iws_DevHalCfgCreate.564: TIMER enabled
    iws_HwOpen.56: log enabled 1
    iws_HwOpen.95: spi enabled 1
    iws_SpiOpen.65: spi devName /dev/spidev0.0
    iws_SpiOpen.69: spi fd 7
    iws_HwOpen.99: spi open returned 0
    iws_SpiInit.176: mode 0 bpw 8 speed 2000000
    iws_HwOpen.106: spi init returned 0
    iws_HwOpen.112: bbic enabled 5
    iws_BbicOpen:
    iws_BbicOpen.60: opening /dev/uio0
    iws_BbicOpen.63: fd = 8
    iws_BbicOpen.70: mapSize 4096
    iws_BbicOpen.79: memory mapped to address 0xffffb7973000
    iws_HwOpen.131: hwreset enabled 1
    iws_HwOpen.145: i2c enabled 0
    iws_HwOpen.164: timer enabled 1
    iws_HwOpen.184: returning 0
    adi_adrv9025Board_Dispatch.1662: enter
    adi_adrv9025Board_Dispatch.1676: action == TRX_BOARD_ACTION_DEVICE_ALLOC
    iws_DevHalCfgCreate.410: halCfg 0xaaaaf8450470 interfaceMask = 0000000B
    iws_DevHalCfgCreate.426: SPI enabled
    iws_DevHalCfgCreate.477: LOG enabled
    iws_DevHalCfgCreate.513: HWRESET enabled
    adi_daughterboard_Init.200: did:11
    adi_daughterboard_Init.204:
    iws_DevHalCfgCreate.410: halCfg 0xaaaaf84506d0 interfaceMask = 0000001B
    iws_DevHalCfgCreate.426: SPI enabled
    iws_DevHalCfgCreate.477: LOG enabled
    iws_DevHalCfgCreate.513: HWRESET enabled
    iws_DevHalCfgCreate.564: TIMER enabled
    adi_daughterboard_Init.218: trxDaughterboard->motherboardId == ADI_IWAVESOM_PLATFORM 1
    iws_DevHalCfgCreate.410: halCfg 0xaaaaf8450930 interfaceMask = 0000000B
    iws_DevHalCfgCreate.426: SPI enabled
    iws_DevHalCfgCreate.477: LOG enabled
    iws_DevHalCfgCreate.513: HWRESET enabled
    iws_HwOpen.56: log enabled 1
    iws_HwOpen.95: spi enabled 1
    iws_SpiOpen.65: spi devName /dev/spidev0.0
    iws_SpiOpen.69: spi fd 11
    iws_HwOpen.99: spi open returned 0
    iws_SpiInit.176: mode 0 bpw 8 speed 2000000
    iws_HwOpen.106: spi init returned 0
    iws_HwOpen.112: bbic enabled 5
    iws_BbicOpen:
    iws_BbicOpen.60: opening /dev/uio0
    iws_BbicOpen.63: fd = 12
    iws_BbicOpen.70: mapSize 4096
    iws_BbicOpen.79: memory mapped to address 0xffffb7971000
    iws_HwOpen.131: hwreset enabled 1
    iws_HwOpen.145: i2c enabled 0
    iws_HwOpen.164: timer enabled 0
    iws_HwOpen.184: returning 0
    adi_clock9528Board_Dispatch.46: g_bNo9528init = 1
    adi_adrv9025Board_Dispatch.1662: enter
    adi_adrv9025Board_Dispatch.1732: action == TRX_BOARD_ACTION_DEVICE_HWOPEN
    adi_adrv9025_HwOpen.39: device 0xaaaaf844fb20
    iws_HwOpen.56: log enabled 1
    iws_HwOpen.95: spi enabled 1
    iws_SpiOpen.65: spi devName /dev/spidev0.0
    iws_SpiOpen.69: spi fd 15
    iws_HwOpen.99: spi open returned 0
    iws_SpiInit.176: mode 0 bpw 8 speed 2000000
    iws_HwOpen.106: spi init returned 0
    iws_HwOpen.112: bbic enabled 5
    iws_BbicOpen:
    iws_BbicOpen.60: opening /dev/uio0
    iws_BbicOpen.63: fd = 16
    iws_BbicOpen.70: mapSize 4096
    iws_BbicOpen.79: memory mapped to address 0xffffb796f000
    iws_HwOpen.131: hwreset enabled 1
    iws_HwOpen.145: i2c enabled 0
    iws_HwOpen.164: timer enabled 1
    iws_HwOpen.184: returning 0
    adi_adrv9025_HwOpen.67: adi_common_hal_HwOpen returned 0
    adi_adrv9025_HwReset:202: device 0xaaaaf844fb20
    adi_adrv9025_HwReset:214: adi_adrv9025_HwVerify returned 0
    iws_HwReset.280: devHalCfg = 0xaaaaf84506d0
    iws_HwReset.291: halCfg = 0xaaaaf84506d0 hwResetCfg 0xaaaaf84508d0
    iws_HwReset.301: hwResetCfg->interfaceEnabled 1
    iws_HwReset.311: hwResetCfg->resetPinIndex 0
    iws_HwReset.315: resetPinBitPosition 0
    iws_fpga_AxiReadWrite.403: addr A0100000
    iws_fpga_AxiReadWrite.438: writing 12 to 0xffffb796f000
    iws_HwReset.375: iws_BbicRegisterWrite returned 0 writeData 0x12
    adi_adrv9025_HwReset:224: adi_common_hal_HwReset returned 0
    adi_adrv9025_HwReset:240: adi_common_hal_Wait_ms returned 0
    iws_HwReset.280: devHalCfg = 0xaaaaf84506d0
    iws_HwReset.291: halCfg = 0xaaaaf84506d0 hwResetCfg 0xaaaaf84508d0
    iws_HwReset.301: hwResetCfg->interfaceEnabled 1
    iws_HwReset.311: hwResetCfg->resetPinIndex 0
    iws_HwReset.315: resetPinBitPosition 0
    iws_fpga_AxiReadWrite.403: addr A0100000
    iws_fpga_AxiReadWrite.438: writing 13 to 0xffffb796f000
    iws_HwReset.375: iws_BbicRegisterWrite returned 0 writeData 0x13
    adi_adrv9025_HwReset:256: adi_common_hal_HwReset returned 0
    adi_adrv9025_SpiVerify.1152: VENDOR_ID_0 = 56
    adi_adrv9025_SpiVerify.1169: VENDOR_ID_1 = 4
    adi_adrv9025_SpiVerify.1193: SCRATCH_PAD = B6
    adi_adrv9025_SpiVerify.1217: SCRATCH_PAD2 = 49
    adi_adrv9025_SpiVerify.1241: SCRATCH_PAD_UPPER = B6
    adi_adrv9025_SpiVerify.1265: SCRATCH_PAD_UPPER2 = 49
    adi_adrv9025_SpiCfgSet.1018: adi_adrv9025_SpiVerify returned 0
    adi_adrv9025_SpiCfgSet.1026: returning 0
    adi_adrv9025_HwReset:273: adi_adrv9025_SpiCfgSet returned 0
    adi_adrv9025_HwReset:286: returning 0
    adi_adrv9025_HwOpen.119: adi_common_hal_HwReset returned 0
    adi_adrv9025_HwOpen.128: returning 0
    adi_daughterboard_Init.267:ra 0

    *** End: Platform Discover ***


    Control Menu Madura
    1. Madura initialization
    2. Set Rx Frequency
    3. Set Rx & Tx Channels
    4. Display registers
    5. JESD Link PRBS Test
    6. Dma Test
    7. FFT Test
    8. PRBS RX Test
    9. IQ Dump
    10. Get Demod Status
    0. Exit


    Enter Selection : 1

    *** Begin Platform Program Sequence ***
    adi_adrv9025_ConfigFileLoad.2392: configFile /home/analog/adrv9025_c_example/resources/adrv9025/profiles/ActiveUseCase.profile
    clockConfig.1507: trx_Daughterboard->boardAttribute 0 type EE 0
    clockConfig.1633:
    vcxoFrequency_Hz: 100000000
    refAFrequency_Hz: 0
    outputClock_Hz[0]: 250000000
    outputClock_Hz[1]: 0
    outputClock_Hz[2]: 0
    outputClock_Hz[3]: 0
    outputClock_Hz[4]: 0
    outputClock_Hz[5]: 250000000
    outputClock_Hz[6]: 0
    outputClock_Hz[7]: 0
    outputClock_Hz[8]: 0
    outputClock_Hz[9]: 100000
    outputClock_Hz[10]: 250000000
    outputClock_Hz[11]: 100000
    outputClock_Hz[12]: 0
    outputClock_Hz[13]: 0
    adi_ad9528_InitStructConfig.359: Bypassing PLL1
    adi_ad9528_InitStructConfig.411:
    npll1Settings.DividerPll1: 0
    pll1Settings.refA_bufferCtrl: 0
    pll1Settings.refA_Divider: 1
    pll1Settings.refA_Frequency_Hz: 0
    pll1Settings.refB_bufferCtrl: 0
    pll1Settings.refB_Divider: 1
    pll1Settings.refB_Frequency_Hz: 0
    pll1Settings.vcxoBufferCtrl: 1
    pll1Settings.vcxo_Frequency_Hz: 100000000
    outputSettings.outPowerDown 0
    outputSettings.outChannelDiv[0] 0
    outputSettings.outChannelDiv[1] 0
    outputSettings.outChannelDiv[2] 0
    outputSettings.outChannelDiv[3] 0
    outputSettings.outChannelDiv[4] 0
    outputSettings.outChannelDiv[5] 0
    outputSettings.outChannelDiv[6] 0
    outputSettings.outChannelDiv[7] 0
    outputSettings.outChannelDiv[8] 0
    outputSettings.outChannelDiv[9] 0
    outputSettings.outChannelDiv[10] 0
    outputSettings.outChannelDiv[11] 0
    outputSettings.outChannelDiv[12] 0
    outputSettings.outChannelDiv[13] 0
    pll2Settings.rfDivider: 4
    pll2Settings.totalNdiv: 40
    pll2Settings.n2Divider: 10
    pll2Settings.r1Divider: 1
    clockConfig.1671: trx_Daughterboard->boardAttribute 0 type EE 0
    adi_adrv9025_ConfigFileLoad.2392: configFile /home/analog/adrv9025_c_example/resources/adrv9025/profiles/ActiveUseCase.profile
    programMadura:1859 boardPreProgram returned 0
    adi_adrv9025_HwReset:202: device 0xaaaaf844fb20
    adi_adrv9025_HwReset:214: adi_adrv9025_HwVerify returned 0
    iws_HwReset.280: devHalCfg = 0xaaaaf84506d0
    iws_HwReset.291: halCfg = 0xaaaaf84506d0 hwResetCfg 0xaaaaf84508d0
    iws_HwReset.301: hwResetCfg->interfaceEnabled 1
    iws_HwReset.311: hwResetCfg->resetPinIndex 0
    iws_HwReset.315: resetPinBitPosition 0
    iws_fpga_AxiReadWrite.403: addr A0100000
    iws_fpga_AxiReadWrite.438: writing 12 to 0xffffb796f000
    iws_HwReset.375: iws_BbicRegisterWrite returned 0 writeData 0x12
    adi_adrv9025_HwReset:224: adi_common_hal_HwReset returned 0
    adi_adrv9025_HwReset:240: adi_common_hal_Wait_ms returned 0
    iws_HwReset.280: devHalCfg = 0xaaaaf84506d0
    iws_HwReset.291: halCfg = 0xaaaaf84506d0 hwResetCfg 0xaaaaf84508d0
    iws_HwReset.301: hwResetCfg->interfaceEnabled 1
    iws_HwReset.311: hwResetCfg->resetPinIndex 0
    iws_HwReset.315: resetPinBitPosition 0
    iws_fpga_AxiReadWrite.403: addr A0100000
    iws_fpga_AxiReadWrite.438: writing 13 to 0xffffb796f000
    iws_HwReset.375: iws_BbicRegisterWrite returned 0 writeData 0x13
    adi_adrv9025_HwReset:256: adi_common_hal_HwReset returned 0
    adi_adrv9025_SpiVerify.1152: VENDOR_ID_0 = 56
    adi_adrv9025_SpiVerify.1169: VENDOR_ID_1 = 4
    adi_adrv9025_SpiVerify.1193: SCRATCH_PAD = B6
    adi_adrv9025_SpiVerify.1217: SCRATCH_PAD2 = 49
    adi_adrv9025_SpiVerify.1241: SCRATCH_PAD_UPPER = B6
    adi_adrv9025_SpiVerify.1265: SCRATCH_PAD_UPPER2 = 49
    adi_adrv9025_SpiCfgSet.1018: adi_adrv9025_SpiVerify returned 0
    adi_adrv9025_SpiCfgSet.1026: returning 0
    adi_adrv9025_HwReset:273: adi_adrv9025_SpiCfgSet returned 0
    adi_adrv9025_HwReset:286: returning 0
    programMadura:1957 adi_adrv9025_HwReset returned 0
    programMadura:1968 configFileLoad
    adi_adrv9025_ConfigFileLoad.2392: configFile /home/analog/adrv9025_c_example/resources/adrv9025/profiles/ActiveUseCase.profile

    adi_adrv9025_StreamImageLoad.586: streamImagePath /home/analog/adrv9025_c_example/resources/adrv9025/arm_firmware/stream_image.bin
    adi_adrv9025_StreamImageLoad.591: streamImageFilePointer 0xaaaaf8451d80
    adi_adrv9025_StreamImageLoad.635: fileSize 22528 numFileChunks 22
    adi_adrv9025_StreamImageLoad.751: stream imaged written
    adi_adrv9025_StreamImageLoad.776: returning 0
    adi_adrv9025_PreMcsInit_v2.1593: adi_adrv9025_StreamImageLoad returned 0
    adi_adrv9025_PreMcsInit_v2.1605: armImagePath /home/analog/adrv9025_c_example/resources/adrv9025/arm_firmware/ADRV9025_FW.bin;/home/analog/adrv9025_c_example/resources/adrv9025/arm_firmware/ADRV9025_DPDCORE_FW.bin
    adi_adrv9025_CpuImageLoad.384: path[0] /home/analog/adrv9025_c_example/resources/adrv9025/arm_firmware/ADRV9025_FW.bin
    adi_adrv9025_CpuImageLoad.385: path[1] /home/analog/adrv9025_c_example/resources/adrv9025/arm_firmware/ADRV9025_DPDCORE_FW.bin
    adi_adrv9025_CpuImageLoad.406: fwImageFilePointer[0] = 0xaaaaf8451d80
    adi_adrv9025_CpuImageLoad.446: fileSize 229376 numFileChunks 224
    adi_adrv9025_CpuImageWrite.1757: bc 1024 sp 20039E18 ba 0104E8A5
    adi_adrv9025_CpuImageLoad.406: fwImageFilePointer[1] = 0xaaaaf8451d80
    adi_adrv9025_CpuImageLoad.446: fileSize 98304 numFileChunks 96
    adi_adrv9025_CpuImageWrite.1757: bc 1024 sp 20012C78 ba 0100BC8D
    adi_adrv9025_PreMcsInit_v2.1610: adi_adrv9025_CpuImageLoad returned 0
    adi_adrv9025_PreMcsInit_v2.1627: adi_adrv9025_RxGainTableLoad returned 0
    adi_adrv9025_PreMcsInit_v2.1645: adi_adrv9025_TxAttenTableLoad returned 0
    adi_adrv9025_PreMcsInit_v2.1677: adi_adrv9025_CpuAdcProfilesWrite returned 0
    adi_adrv9025_PreMcsInit_v2.1688: adi_adrv9025_CpuProfileWrite returned 0
    adi_adrv9025_CpuStart.880: cpu enabled 1
    adi_adrv9025_CpuStart.891: adi_adrv9025_CpuMemWrite returned 0
    adi_adrv9025_CpuStart.918: returning 0
    adi_adrv9025_PreMcsInit_v2.1699: adi_adrv9025_CpuStart returned 0
    adi_adrv9025_PreMcsInit_v2.1719: adrv9025_BfWriteCacheEn returned 0
    programMadura:1997 adi_adrv9025_PreMcsInit_v2 returned 0
    Channel 0, mode 0
    RX enable jesd204C 0
    RX E 0, F 4, M 4, K 32, Np 16
    RX scramble 1, oversample 0, lane0ID 0, LanesEnabled 3
    Rx sync: lvds mode 1, pnInvert 0, In select 0
    RX sysref: Nshot 0, count 0, for Startup 0, Ignore when linked 0
    RX lane polarity 0x00000000
    adi_adrv9025_CpuStart.880: cpu enabled 1
    adi_adrv9025_CpuStart.891: adi_adrv9025_CpuMemWrite returned 0
    adi_adrv9025_CpuStart.918: returning 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1793: adi_adrv9025_CpuStart returned 0
    adi_adrv9025_CpuStartStatusCheck.173: status 01 fwStatus 00
    adi_adrv9025_CpuStartStatusCheck.186: status 01 fwStatus 01
    adi_adrv9025_CpuStartStatusCheck.186: status 01 fwStatus 01
    adi_adrv9025_CpuStartStatusCheck.186: status 01 fwStatus 01
    adi_adrv9025_CpuStartStatusCheck.186: status 01 fwStatus 01
    adi_adrv9025_CpuStartStatusCheck.186: status 01 fwStatus 01
    adi_adrv9025_CpuStartStatusCheck.200: fwStatus 01
    adi_adrv9025_PreMcsInit_NonBroadCast.1800: adi_adrv9025_CpuStartStatusCheck returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1814: ra 0 deviceSiRev: B0
    adi_adrv9025_PreMcsInit_NonBroadCast.1828: ra 0 deviceProductId: 82
    adi_adrv9025_PreMcsInit_NonBroadCast.1872: adi_adrv9025_TxAttenCfgSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1904: adrv9025_TxPaProtectionGainRampUpEnBfSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1920: adi_adrv9025_TxAttenuationRampUpStickyModeEnable returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1935: adi_adrv9025_DacFullScaleSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1872: adi_adrv9025_TxAttenCfgSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1904: adrv9025_TxPaProtectionGainRampUpEnBfSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1920: adi_adrv9025_TxAttenuationRampUpStickyModeEnable returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1935: adi_adrv9025_DacFullScaleSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1872: adi_adrv9025_TxAttenCfgSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1904: adrv9025_TxPaProtectionGainRampUpEnBfSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1920: adi_adrv9025_TxAttenuationRampUpStickyModeEnable returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1935: adi_adrv9025_DacFullScaleSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1872: adi_adrv9025_TxAttenCfgSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1904: adrv9025_TxPaProtectionGainRampUpEnBfSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1920: adi_adrv9025_TxAttenuationRampUpStickyModeEnable returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.1935: adi_adrv9025_DacFullScaleSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.2009: adrv9025_JesdDesCfgSet returned 0
    adi_adrv9025_PreMcsInit_NonBroadCast.2018: returning 0
    programMadura:2041 adi_adrv9025_PreMcsInit_NonBroadCast returned 0
    adi_adrv9025_MultichipSyncSet.763: enableSync 1
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_MultichipSyncSet.773: adi_adrv9025_CpuCmdWrite returned 0
    adi_adrv9025_MultichipSyncSet.791: adi_adrv9025_CpuCmdStatusWait returned 0 cmdStatusByte 0
    adi_adrv9025_MultichipSyncSet.818: adrv9025_CoreArmM3RunBfSet retuned 0
    adi_adrv9025_MultichipSyncSet.885: returning 0
    programMadura:2060 adi_adrv9025_MultichipSyncSet enable returned 0
    programMadura:2102 mcsStatus 17 mcsStatusAnd 17 (mcsStatus & mcsStatusAnd) 17
    adi_adrv9025_MultichipSyncSet.763: enableSync 0
    adi_adrv9025_MultichipSyncSet.835: adrv9025_CoreArmM3RunBfSet returned 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_MultichipSyncSet.848: adi_adrv9025_CpuCmdWrite retuned 0
    adi_adrv9025_MultichipSyncSet.861: adi_adrv9025_CpuCmdStatusWait returned 0 cmdStatusByte 0
    adi_adrv9025_MultichipSyncSet.885: returning 0
    programMadura:2121 adi_adrv9025_MultichipSyncSet disable returned 0
    adi_adrv9025_PostMcsInit.2057: adi_adrv9025_RxTxEnableSet returned 0
    adi_adrv9025_PostMcsInit.2080: adi_adrv9025_RxTxEnableSet returned 0
    adrv9025_RadioctrlInit.37: adi_adrv9025_RadioCtrlCfgSet returned 0
    adrv9025_RadioctrlInit.43: radioCtrlInit->lo1PllFreq_Hz = 1000000000
    adi_adrv9025_PllFrequencySet.2093: adi_adrv9025_PllFrequencySetRangeCheck returned 0
    adi_adrv9025_PllFrequencySet.2104: adrv9025_PllUnlockGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2114: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2127: adrv9025_PllUnlockGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2137: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2148: adrv9025_PllOverrangeGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2163: adrv9025_PllOverrangeGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2178: adrv9025_PllOverrangeGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2194: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2209: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2224: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2235: pllName 0 pllLoFrequency_Hz 1000000000
    adi_adrv9025_PllFrequencySet.2252: adi_adrv9025_CpuMemWrite returned 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_PllFrequencySet.2265: adi_adrv9025_CpuCmdWrite returned 0
    adi_adrv9025_PllFrequencySet.2278: adi_adrv9025_CpuCmdStatusWait returned 0 cmdStatusByte 00
    adi_adrv9025_PllFrequencySet.2304: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2319: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2334: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2350: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2362: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2368: returning 0
    adrv9025_RadioctrlInit.51: adi_adrv9025_PllFrequencySet returned 0
    adrv9025_RadioctrlInit.58: radioCtrlInit->lo2PllFreq_Hz = 1050000000
    adi_adrv9025_PllFrequencySet.2093: adi_adrv9025_PllFrequencySetRangeCheck returned 0
    adi_adrv9025_PllFrequencySet.2104: adrv9025_PllUnlockGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2114: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2127: adrv9025_PllUnlockGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2137: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2148: adrv9025_PllOverrangeGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2163: adrv9025_PllOverrangeGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2178: adrv9025_PllOverrangeGpInterruptMaskGet returned 0
    adi_adrv9025_PllFrequencySet.2194: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2209: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2224: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2235: pllName 1 pllLoFrequency_Hz 1050000000
    adi_adrv9025_PllFrequencySet.2252: adi_adrv9025_CpuMemWrite returned 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_PllFrequencySet.2265: adi_adrv9025_CpuCmdWrite returned 0
    adi_adrv9025_PllFrequencySet.2278: adi_adrv9025_CpuCmdStatusWait returned 0 cmdStatusByte 00
    adi_adrv9025_PllFrequencySet.2304: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2319: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2334: adrv9025_PllOverrangeGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2350: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2362: adrv9025_PllUnlockGpInterruptMaskSet returned 0
    adi_adrv9025_PllFrequencySet.2368: returning 0
    adrv9025_RadioctrlInit.66: adi_adrv9025_PllFrequencySet returned 0
    adrv9025_RadioctrlInit.73: radioCtrlInit->auxPllFreq_Hz = 0
    adrv9025_RadioctrlInit.89: radioCtrlInit->txToOrxMapping.orx1Map == ADI_ADRV9025_MAP_NONE_ORX1 0
    adrv9025_RadioctrlInit.92: radioCtrlInit->txToOrxMapping.orx1Map == ADI_ADRV9025_MAP_TX1_ORX1 0
    adrv9025_RadioctrlInit.95: radioCtrlInit->txToOrxMapping.orx1Map == ADI_ADRV9025_MAP_TX2_ORX1 1
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adrv9025_RadioctrlInit.124: adi_adrv9025_TxToOrxMappingSet returned 0
    adrv9025_RadioctrlInit.144: radioCtrlInit->txToOrxMapping.orx2Map == ADI_ADRV9025_MAP_NONE_ORX2 0
    adrv9025_RadioctrlInit.147: radioCtrlInit->txToOrxMapping.orx2Map == ADI_ADRV9025_MAP_TX1_ORX2 1
    adrv9025_RadioctrlInit.150: radioCtrlInit->txToOrxMapping.orx2Map == ADI_ADRV9025_MAP_TX2_ORX2 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adrv9025_RadioctrlInit.169: adi_adrv9025_TxToOrxMappingSet returned 0
    adrv9025_RadioctrlInit.199: radioCtrlInit->txToOrxMapping.orx3Map == ADI_ADRV9025_MAP_NONE_ORX3 0
    adrv9025_RadioctrlInit.202: radioCtrlInit->txToOrxMapping.orx3Map == ADI_ADRV9025_MAP_TX1_ORX3 1
    adrv9025_RadioctrlInit.205: radioCtrlInit->txToOrxMapping.orx3Map == ADI_ADRV9025_MAP_TX2_ORX3 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adrv9025_RadioctrlInit.224: adi_adrv9025_TxToOrxMappingSet returned 0
    adrv9025_RadioctrlInit.254: radioCtrlInit->txToOrxMapping.orx4Map == ADI_ADRV9025_MAP_NONE_ORX4 0
    adrv9025_RadioctrlInit.257: radioCtrlInit->txToOrxMapping.orx1Map == ADI_ADRV9025_MAP_TX1_ORX4 0
    adrv9025_RadioctrlInit.260: radioCtrlInit->txToOrxMapping.orx1Map == ADI_ADRV9025_MAP_TX2_ORX4 1
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adrv9025_RadioctrlInit.289: adi_adrv9025_TxToOrxMappingSet returned 0
    adrv9025_RadioctrlInit.311: adi_adrv9025_StreamGpioConfigSet returned 0
    adi_adrv9025_PostMcsInit.2096: adrv9025_RadioctrlInit returned 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_PostMcsInit.2114: adrv9025_CalsInit returned 0
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_PostMcsInit.2128: adrv9025_CalsInit run 2 returned 0
    adi_adrv9025_PostMcsInit.2141: adi_adrv9025_DfrmBufferProtectionSet returned 0
    programMadura:2133 adi_adrv9025_PostMcsInit returned 0
    adrv9025_JesdCommonJtxTriggerSrstNBfSet.927: BfWriteCacheInit returned 0
    adrv9025_JesdCommonJtxTriggerSrstNBfSet.936: BfFieldWrite returned 0
    adrv9025_JesdCommonJtxTriggerSrstNBfSet.941: BfWriteCacheFlush returned 0
    adrv9025_JesdCommonJtxTriggerSrstNBfSet.927: BfWriteCacheInit returned 0
    adrv9025_JesdCommonJtxTriggerSrstNBfSet.936: BfFieldWrite returned 0
    adrv9025_JesdCommonJtxTriggerSrstNBfSet.941: BfWriteCacheFlush returned 0
    programMadura:2145 adi_adrv9025_SerializerReset returned 0
    programMadura:2173 calling jesdBringup
    jesdBringup.1225: adi_adrv9025_DeframerSysrefCtrlSet returned 0
    jesdBringup.1234: adi_adrv9025_FramerSysrefCtrlSet returned 0
    jesdBringup.1250: adi_fpga9025_SysRefEnableSet returned 0
    jesdBringup.1261: adi_fpga9025_FramerDisable returned 0
    jesdBringup.1277: adi_adrv9025_DfrmLinkStateSet returned 0
    jesdBringup.1286: adi_adrv9025_FramerLinkStateSet returned 0
    JesdRxBringup.842: adrv9025_Device->devStateInfo.linkSharingEnabled = 0
    JesdRxBringup.940: adi_adrv9025_FramerLinkStateSet returned 0
    JesdRxBringup.947: adi_common_hal_Wait_ms returned 0
    JesdRxBringup.956: adi_adrv9025_FramerLinkStateSet returned 0
    JesdRxBringup.966: adi_adrv9025_FramerSysrefCtrlSet returned 0
    JesdRxBringup.992: adi_common_hal_Wait_ms returned 0
    JesdRxBringup.1024: adi_fpga9025_DeframerReset returned 0
    JesdRxBringup.1048: adi_adrv9025_DfrmLinkStateSet returned 0
    JesdRxBringup.1091: adi_fpga9025_SysRefEnableSet returned 0
    JesdRxBringup.1115: adi_adrv9025_FramerSysrefCtrlSet returned 0
    JesdRxBringup.1181: adi_fpga9025_SysRefEnableSet returned 0
    jesdBringup.1312: JesdRxBringup returned 0
    JesdTxBringup.635: adi_fpga9025_SysRefEnableSet returned 0
    JesdTxBringup.647: adi_common_hal_Wait_ms returned 0
    JesdTxBringup.668: adi_fpga9025_FramerReset returned 0
    JesdTxBringup.704: adi_adrv9025_DfrmLinkStateSet returned 0
    JesdTxBringup.730: adi_adrv9025_DfrmLinkStateSet returned 0
    JesdTxBringup.737: adi_common_hal_Wait_ms returned 0
    JesdTxBringup.784: adi_adrv9025_DeframerSysrefCtrlSet returned 0
    JesdTxBringup.804: adi_adrv9025_DeframerSysrefCtrlSet returned 0
    jesdBringup.1339: JesdTxBringup returned 0
    jesdBringup.1371: adi_adrv9025_DfrmLinkConditionGet returned 0
    jesdBringup.1397: adi_fpga9025_DeframerStatusGet returned 0
    jesdBringup.1407: Not all Tx links have been established. adrv9025LinkStatus=0 txLinkSel=1
    jesdBringup.1442: All Rx links have been established.
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    jesdBringup.1455: adi_adrv9025_TrackingCalsEnableSet returned 0
    programMadura:2175 jesdBringup returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1346: adrv9025_BfReadCacheInit returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1355: adrv9025_BfFieldRead returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1363: adrv9025_BfByteRead returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1371: adrv9025_BfReadAssembleData returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1377: bfValue = 0001 returning 0
    adi_adrv9025_DfrmIrqSourceReset.3198: adrv9025_JrxLinkJrxDl204bIrqClrBfGet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3206: adrv9025_JrxLinkJrxDl204bIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3214: adrv9025_JrxLinkJrxDl204bIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3222: adrv9025_JrxLinkJrxDl204hIrqClrBfGet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3230: adrv9025_JrxLinkJrxDl204hIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3238: adrv9025_JrxLinkJrxDl204hIrqClrBfSet returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1346: adrv9025_BfReadCacheInit returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1355: adrv9025_BfFieldRead returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1363: adrv9025_BfByteRead returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1371: adrv9025_BfReadAssembleData returned 0
    adrv9025_JrxLinkJrxDl204bIrqClrBfGet.1377: bfValue = 0001 returning 0
    adi_adrv9025_DfrmIrqSourceReset.3250: adrv9025_JrxLinkJrxDl204bIrqClrBfGet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3258: adrv9025_JrxLinkJrxDl204bIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3266: adrv9025_JrxLinkJrxDl204bIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3274: adrv9025_JrxLinkJrxDl204hIrqClrBfGet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3282: adrv9025_JrxLinkJrxDl204hIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3290: adrv9025_JrxLinkJrxDl204hIrqClrBfSet returned 0
    adi_adrv9025_DfrmIrqSourceReset.3296: returning 0
    programMadura:2192 adi_adrv9025_TxRampDownInit returned 0
    programMadura:2204 adi_adrv9025_GpIntInit returned 0

    *** Platform Programmed Successfully ***
    Framer0 status 10, framerSyncNeCount 1, qbfStateStatus 13, syncNSel 0


    Control Menu Madura
    1. Madura initialization
    2. Set Rx Frequency
    3. Set Rx & Tx Channels
    4. Display registers
    5. JESD Link PRBS Test
    6. Dma Test
    7. FFT Test
    8. PRBS RX Test
    9. IQ Dump
    10. Get Demod Status
    0. Exit


    Enter Selection : 2
    adi_adrv9025_CpuCmdWrite.1308: cpuCommandBusy = 0
    adi_adrv9025_CpuCmdStatusWait.1115: CPU event checks exceeded max 60000
    adi_adrv9025_CpuCmdStatusWait.1137: CPU exception ffffffff

  • After running Madura init (using reference code) I use option "2" to shift RX2 Band A NCO1 frequency using function adi_adrv9025_RxNcoShifterSet function, and it generates an exception. Any other api call involving CPU results in the same thing. 

  • 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.