I need to be able to upload my application to an nRF52832 through an ARM architecture Linux machine that I have remote access to. nrfjprog is not available for machines with ARM architectures and I cannot use JLinkExe directly since my computer is not connected to the nRF over USB. I have been trying to use nrfutil but so far to no avail. I've generated a DFU package from a hex file I compiled for my application but I'm unable to flash it using nrfutil dfu serial.
When I run
nrfutil dfu serial -pkg app_dfu_package.zip -p /dev/ttymxc3 -b 115200I get the following error message:
Traceback (most recent call last): File "/home/user/.local/bin/nrfutil", line 11, in <module> sys.exit(cli()) File "/home/user/.local/lib/python2.7/site-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/home/user/.local/lib/python2.7/site-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/home/user/.local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/user/.local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/user/.local/lib/python2.7/site-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/user/.local/lib/python2.7/site-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/home/user/.local/lib/python2.7/site-packages/nordicsemi/__main__.py", line 1042, in serial timeout) File "/home/user/.local/lib/python2.7/site-packages/nordicsemi/__main__.py", line 956, in do_serial dfu.dfu_send_images() File "/home/user/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu.py", line 129, in dfu_send_images self._dfu_send_image(self.manifest.application) File "/home/user/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu.py", line 90, in _dfu_send_image self.dfu_transport.open() File "/home/user/.local/lib/python2.7/site-packages/nordicsemi/dfu/dfu_transport_serial.py", line 225, in open raise NordicSemiException("No ping response after opening COM port") pc_ble_driver_py.exceptions.NordicSemiException: No ping response after opening COM port
I suspect that whatever bootloader exists on the nRF52832 currently is not expecting a DFU package and thus does not respond to the ping. I feel as though I am stuck since the only method I have found to update the bootloader involves using nrfjprog, which I cannot use. Am I correct in my assumption that my bootloader does not support firmware updates via DFU? If so how can I change the bootloader? If there are any alternative ways to upload my application I would also like to know them.