The nRF7002 DFU does not work on my custom board.

dfu_nrf7002.zip

Here is a sample project for nRF7002 DFU. This sample project worked on the nRF7002DK board.
I also tried it on a Fanstel evaluation board for reference. Debug tracing is not available, but the firmware worked well.

This is my question. This sample project does not work on my custom board, it seems to hang up in Bootloader. Why doesn't it work?
I was thought the reason this sample project not work is no SPI Nor flash IC on my custom board. But this sample project works on a Fanstel evaluation board. This board doesn't have SPI Nor Flash.
(This project defines CONFIG_SPI_NOR=n in prj.conf)

My custom board is based on the nRF7002DK pin definitions and uses the available pins. SPI4 peripheral is unused so I use it for a different purpose.
But these definitions should not affect the sample project. Because this sample project does not use any I/O pins.

Why doesn't this sample project work on my custom board?

  • Additional information.
    NCS SDK is 2.6.0
    mycustomboard.overlay

    Here is overlay file for my custom board. Based on nRF7002DK evaluation board file.(nrf7002dk_nrf5340_cpuapp, not _ns)

    JLinkGDBServerCL: Target device:                 nrf5340_xxaa_app
    JLinkGDBServerCL: Target device parameters:      none
    JLinkGDBServerCL: Target interface:              SWD
    JLinkGDBServerCL: Target interface speed:        12000kHz
    JLinkGDBServerCL: Target endian:                 little
    JLinkGDBServerCL: 
    =thread-group-added,id="i1"
    =cmd-param-changed,param="pagination",value="off"
    0x0000b030 in ?? ()
    [New Remote target]
    

    JLinkGDBServerCL: ------Target related settings------
    JLinkGDBServerCL: Target device:                 nrf5340_xxaa_app
    JLinkGDBServerCL: Target device parameters:      none
    JLinkGDBServerCL: Target interface:              SWD
    JLinkGDBServerCL: Target interface speed:        12000kHz
    JLinkGDBServerCL: Target endian:                 little
    JLinkGDBServerCL: 
    =thread-group-added,id="i1"
    =cmd-param-changed,param="pagination",value="off"
    __nrfy_internal_spim_events_process (p_reg=p_reg@entry=0x5000a000, mask=mask@entry=64, p_xfer=p_xfer@entry=0x20001644 <m_cb+12>) at C:/ncs/v2.6.0/modules/hal/nordic/nrfx/haly/nrfy_spim.h:859
    859	    return evt_mask;
    [New Remote target]

    JLinkGDBServerCL: ------Target related settings------
    JLinkGDBServerCL: Target device:                 nrf5340_xxaa_app
    JLinkGDBServerCL: Target device parameters:      none
    JLinkGDBServerCL: Target interface:              SWD
    JLinkGDBServerCL: Target interface speed:        12000kHz
    JLinkGDBServerCL: Target endian:                 little
    JLinkGDBServerCL: 
    =thread-group-added,id="i1"
    =cmd-param-changed,param="pagination",value="off"
    0x0000386c in transfer_next_chunk (dev=dev@entry=0xa204 <__device_dts_ord_143>) at C:/ncs/v2.6.0/zephyr/drivers/spi/spi_nrfx_spim.c:334
    334			if (spi_context_rx_buf_on(ctx) &&
    [New Remote target]

    Here is some message on debug console tab.
    Each debug trace has a slightly different message. (I think the program is stopped at a different location each time.)

    Is the debug trace forced to start? Or is it not started because you can't jump to the start address?

  • Hello,

    Which NCS version you are using?

    How have you power your board? 

    Did you configure your custom board properly? If there are any changes in board setting, you may need to ''Remove build configuration' and then create a new build configuration for the SDK to pick up your new board settings. Case link (+) Failed to communicate with nrf7002 custom board - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

    ''This is my question. This sample project does not work on my custom board, it seems to hang up in Bootloader. Why doesn't it work''

    Do you have any error log for custom board?

    Thanks.

    BR

    Kazi

  • >Which NCS version you are using?

    Replies have been passing each other. the SDK is 2.6.0.

    >How have you power your board? 

    The Power source is a lithium-ion battery, supplying 3.3V to the board using a switching regulator.
    I also suspected a voltage difference because the nRF7002DK is driven by 1.8V. But Fanstel's evaluation board is driven by 3.3V, project worked on Fanstel's one.

    >''Remove build configuration' and then create a new build configuration for the SDK to pick up your new board settings."

    Of course I did it many times.
    The project worked When that built hex file was written to the nRF7002DK evaluation board. But same hex file is written to my custom board, does not work.

    >Do you have any error log for custom board?

    See previous reply.

    Best Regards,
    Yoshihiro Goto

Related