nRF Command Line Tools: nrfdfu.dll 32bit version problem when updating nRF9160 firmware

Dear support team,

we use the Nordic nrfdfu.dll (64bit) in our Win11 C#/.Net application for modem update which works fine.
When we switch our application to 32bit process and change to the Nordic nrfdfu.dll (32bit) the modem update functionality no longer works. The communication start between PC application and nRF9160 modem seems to fail and the application hangs until we stop it after some minutes.


Via DllImport we use the following methods of the nrfdfu.dll: 

        [DllImport(nrfDfuDllName, EntryPoint = "NRFDFU_connect_to_mcuboot_target", CallingConvention = CallingConvention.Cdecl)]
        [DllImport(nrfDfuDllName, EntryPoint = "NRFDFU_connect_to_modemdfu_target", CallingConvention = CallingConvention.Cdecl)]
        [DllImport(nrfDfuDllName, EntryPoint = "NRFDFU_program_package", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
        [DllImport(nrfDfuDllName, EntryPoint = "NRFDFU_close_connection", CallingConvention = CallingConvention.Cdecl)]
        [DllImport(nrfDfuDllName, EntryPoint = "NRFDFU_verify_package", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]

Do you have any idea what the reason could be?

Best regards,

Peter   

Parents Reply Children
  • Hello Abhijith,

    thank you for the response. We will check and come back to you.

    Best regards,

    Peter

  • Hi Abhijith,

    we are currently not referening or embedding the header file nrfdfu.h. Nonetheless the 32bit package is copied in the same folder structure like when we use the 64bit package.


    we have 2 folders: Nordic64Bit and Nordic32Bit containing you native dlls and header files: 

    Nordic64Bit 

        nrfdfu.dll

        nrfdfu.h

        nrfjprog.dll

        ...

    Nordic32Bit 

        nrfdfu.dll

        nrfdfu.h

        nrfjprog.dll

        ...

    these folder also include our managed C# components/wrapper files in which your native DLL is improted via DLL import like mentioned above.

    When I use the 64 bit version, everthing is OK, but when I switch to 32 bit version the modem update hangs up.

    Best regards and thanks in advance

    Johannes

  • Hi Abhijith,

    we are currently not referening or embedding the header file nrfdfu.h. Nonetheless the 32bit package is copied in the same folder structure like when we use the 64bit package.


    we have 2 folders: Nordic64Bit and Nordic32Bit containing you native dlls and header files: 

    Nordic64Bit 

        nrfdfu.dll

        nrfdfu.h

        nrfjprog.dll

        ...

    Nordic32Bit 

        nrfdfu.dll

        nrfdfu.h

        nrfjprog.dll

        ...

    these folder also include our managed C# components/wrapper files in which your native DLL is improted via DLL import like mentioned above.

    When I use the 64 bit version, everthing is OK, but when I switch to 32 bit version the modem update hangs up.

    Best regards and thanks in advance

    Johannes

Related