Причем шить именно напрямую, даже если нужно будет выпаивать прошиваемое чудо! Мне нужно чтобы прошивку можно было считать, отредактировать например, и залить заново. Минуя защиты, и устанавливая их самому... [...] Хотелось бы разработать для себя универсальный способ любого прошивания...
Да-да, а я хочу, чтобы меня полюбила прелестная юная девственница, милая, добрая и верная, которая разделяла бы мои музыкальные, стилистические и мировоззренческие предпочтения, ходила бы со мной на концерты и гуляла бы со мной по городу, а также интересовалась электроникой...
Я к чему это. Вышеописанное и то более реально, чем программатор "вообще для всего". Интерфейсов множество, а программных протоколов - еще больше (через тот же JTAG разные устройства могут прошиваться по-разному). Так что единственный реальный вариант - определиться с кругом устройств, с которыми вы планируете работать, и приобрести программаторы для них. А дальше при необходимости решать вопрос с прошивкой чего-то диковинного.
Насчет считывания защищенной прошивки - это невозможно штатными средствами. Иногда везет, если в железе есть ошибка и ее удается найти и использовать, но стандартные семейства МК достаточно отработаны в этом плане. Так что там - только декапсулировать и под микроскопом тыкать в кристалл микрозондами, пытаясь изменить логику его работы.
Потом, в большинстве техники типа ТВ-приставок применяются заказные SoC, на которые зачастую и документации-то не найти.
Подскажите: PIC, AVR, и EEPROM это все что шьется, или существуют еще подводные камни, которые может быть когда-нибудь понадобится прошивать?
Еще есть FPGA и CPLD. А еще - несчетное множество контроллеров. Вы представляете, сколько существует производителей одних только микроконтроллеров? Если вы думаете, что семействами PIC и AVR дело ограничивается, вы жестоко ошибаетесь.

Я только навскидку могу назвать Renesas, Texas Instruments, Silicon Laboratories, STMicroelectronics, Holtek. А еще есть много других известных производителей, и еще больше безымянных китайских. И все эти тысячи контроллеров от разных производителей имеют различную структуру, свои интерфейсы программирования, свой набор ключевых адресов в памяти и разную организацию этой самой памяти.
Видов EEPROM, FLASH и FRAM тоже чрезвычайно много.
Разница между теорией и практикой на практике гораздо больше, чем в теории.