I have the EV-SOMCRR-EZKIT board with ADSP-SC835W and I am trying to test EMAC using the EMAC example code.
While other examples code (like audio talk through ones) worked straigth out of the box, the EMAC examples gives me some error before the Debug even start:
Open On-Chip Debugger (Analog Devices 0.12.0-1.2.0) OpenOCD 0.12.0 (2025-04-03-09:09) Licensed under GNU GPL v2 Report bugs to <processor.tools.support@analog.com> 0 Info : only one transport option; autoselecting 'jtag' adapter speed: 5000 kHz Info : xtensa permissive mode is disabled adapter speed: 5000 kHz Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : ADI Debug Agent firmware version is 0.0.9 Info : clock speed 5000 kHz Info : JTAG tap: adspsc83x.adjc tap/device found: 0x0282c0cb (mfg: 0x065 (Analog Devices), part: 0x282c, ver: 0x0) Info : JTAG tap: adspsc83x.cpu enabled Info : [adspsc83x.apb] Examination succeed Info : [adspsc83x.axi] Examination succeed Info : [adspsc83x.ahb] Examination succeed Info : [adspsc83x.sharcfx] Examination succeed Info : [adspsc83x.m33] Cortex-M33 r1p0 processor detected Info : [adspsc83x.m33] target has 8 breakpoints, 4 watchpoints Info : [adspsc83x.m33] Examination succeed Info : gdb port disabled Info : gdb port disabled Info : gdb port disabled Info : starting gdb server for adspsc83x.sharcfx on 3333 Info : Listening on port 3333 for gdb connections Info : starting gdb server for adspsc83x.m33 on 3334 Info : Listening on port 3334 for gdb connections Info : [adspsc83x.sharcfx] Debug controller was reset. Info : [adspsc83x.sharcfx] Core was reset. Info : accepting 'gdb' connection on tcp/3333 Info : [adspsc83x.sharcfx] Debug controller was reset. Info : [adspsc83x.sharcfx] Core was reset. Info : [adspsc83x.m33] external reset detected system reset complete Info : New GDB Connection: 1, Target adspsc83x.sharcfx, state: halted Error: unable to read from usb to out + buf_index: wanted 24 bytes but only received 0 bytes Error: return 0 Error: unable to read from usb to out + buf_index: wanted 72 bytes but only received 24 bytes Error: return 0 Error: Invalid ACK (3) in DAP response Error: Scan Error! Error: Invalid ACK (0) in DAP response Error: Scan Error! Error: Failed to read memory and, additionally, failed to find out where Error: unable to read from usb to out + buf_index: wanted 20 bytes but only received 4 bytes Error: return 0 Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: Invalid ACK (0) in DAP response Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: Debug regions are unpowered, an unexpected reset might have happened Error: JTAG-DP STICKY ERROR Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: Invalid ACK (3) in DAP response Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: Debug regions are unpowered, an unexpected reset might have happened Error: JTAG-DP STICKY ERROR Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: Failed to read memory and, additionally, failed to find out where Error: unable to write from (uint8_t *)&usb_cmd_blk to usb: wanted 12 bytes but only wrote 0 bytes Error: return -7 Error: Debug regions are unpowered, an unexpected reset might have happened Error: JTAG-DP STICKY ERROR
I noted that the Debug can actually start if I remove one of these call (no matter wich one):
eMACResult = adi_emac_SubmitDescriptorListRx(hemac,0,emac_desc_rx,NO_OF_DESCS, true); CHECK_EMAC_RESULT(eMACResult); eMACResult = adi_emac_SubmitDescriptorListTx(hemac,0,emac_desc_tx,NO_OF_DESCS, true); CHECK_EMAC_RESULT(eMACResult);
But if both TX and RX descriptors submit are present, the debug is having trouble to load, even if (and I'd like to stress this out) the code never gets to run at all.