--Но если вам это не важно, то можно ограничится JTAG-ом.
Мне JTAG нужен по другой причине - у меня чипы в гирлянде. И программироваться будут через один разъём. Да и SPI занят обменом с периферией.
4 входами АЦП я могу пожертвовать, у меня м640.
--Update: И как при этом отлаживаться, без ресета?
Так а где написано, что без него никак? Ибо в доках я вижу следующее:
Цитата
Source Reset (optional) Used to reset the target device. Connecting this pin is recommended since it allows the JTAGICE mkII to hold the target device in a reset state, which can be essential to debugging in certain scenarios - for example if the JTD bit is set by the application firmware, disabling the JTAG interface. The nSRST pin has an internal pullup resistor in the JTAGICE mkII.
Цитата
Programming through the JTAG interface requires control of the four JTAG specific pins: TCK, TMS, TDI and TDO. Control of the reset and clock pins is not required.
Насколько понимаю, ресет нужен только чтобы сбросить девайс в случае зависа или плохого старта. Что при наличии RC на ресете, по моему опыту, исключено. Но даже если такое происходит, можно тупо переткнуть питание (не удобно, конечно, но часто ли мы программируем девайс?).
Знатоки JTAG протокола, отзовитесь! Часто ли оный дёргается?
--А как процессор сбросить?
Если речь об ISP, то держать SCLK в 0 при включении питания. Если это условие выполнено, ресет не нужен, МК войдёт в режим программирования (ну, ещё 0х58 ему плюнуть вовремя).