I'm working on a board as follows: own design with at32uc3c2256,
Ethernet PHY TI/National DP83484I, 3.3 Volt supply local from DC/DC
converter, a few gpio pins, PWM, TWI, no use of ADC/DAC, but analog
power supply connected to 3.3 V and bypassed, as recommended. The master
clock is external osc. 25 MHz, obtained by dividing the 50 MHz PHY clock
The software uses FreeRTOS and the lwip stack from AVR Studio 6 ASF
We build five prototype boards, six layer pcb according to Atmel and TI
design recommendations. After fixing some minor hardware and software
bugs, two of the five boards work pretty well, including Ethernet
operation, after flashing and starting via JTAG, as well as powered up
But the boards no. 3 to 5 show a strange behaviour: They work perfectly,
including ethernet, if flashed and started via the JTAGICE3 debugger by
means of the AVR studio. After booting the target, I even can quit the
debugger, pull the JTAG connector off and the board continues to run.
But if I start the board without JTAG, the CPU seems not to run at all.
The PHY works, lights its 'link' LED when connecting the Ethernet cable,
even the 'activity' LED flashes if I try a ping to the target's address.
But the CPU seems not to execute a single line of code. I placed a
couple of bit toggles onto some unused gpio pins, they work perfecty
when starting the target via the studio, but I can't measure a single
edge there if the target was powered up stand allone.
All voltages and (external) clocks are ok, the same as when the board
The debugger doesn't help much, because the system runs pretty well when
JTAG connected and started by the studio. If I press the reset button
after quitting the debug session in the studio, while still having JTAG
connected, the target resets, but does not start again, so the pure
electric connection to the JTAGICE3 seems not to play a role.
Any ideas about troubleshooting strategies?
How can I reset the target without flashing and without the
unconditional stop in the first line of 'main.c'?