Hi All,
Noticed a bit of a strange issue with my application on my custom board the other day. It seems that the nrf connect programmer has issues communicating with my device when I have USB CDC enabled, more specifically when I am polling for USB events. Simply commenting the following from my main loop seems to make the problem go away
while (app_usbd_event_queue_process())
{
/* Nothing to do */
}
The errors I see from the nRF programmer seem to vary, but I've seen the following:
Error while probing devices: Error occured when get serial numbers. Errorcode: Could not execute the function due to too many calls in line (0xe)
Error when getting device info: Error: Error: Error occured when read. Errorcode: CouldNotCallFunction (0x9) Lowlevel error: JLINKARM_DLL_ERROR (ffffff9a)
Error when closing nrfjprog: Error: Error occured when close opened device. Errorcode: CouldNotResetDevice (0x5) Lowlevel error: JLINKARM_DLL_ERROR(ffffff9a)
On occasion, and I'm still not sure what the conditions are, but nrf programmer will be able to communicate with my device, and show me the memory layout. HOWEVER, the following error will popup after doing the memory read:
Error when closing nrfjprog: Error: Error occured when close opened device. Errorcode: Could not execute the function due to too many alls in line (0xe)
Seemingly though my application has been working fine. I'm able to perform the tasks I need with the USB port, but yea I just noticed it makes the programmer act funny. Has anyone ever run into this before? I'm having a hard time understanding why polling for USB events would affect the programmer.