Цитата(KARLSON @ Oct 5 2011, 12:31)

- что лучше делать 2 проекта (один загрузчик, другой рабочий проект), получается 2 hex файла?
Да.
Цитата(KARLSON @ Oct 5 2011, 12:31)

Первый – загрузчик - прошивается через JTAG? А после, через интерфейс загрузчика?
Не обязательно. Можно обе прошивки hex-файла объединить. Ведь пересекаться по расположению в памяти они не должны.
Цитата(KARLSON @ Oct 5 2011, 12:31)

- что-то делается с таблицами векторов. Так называемый remapping. Но так и не понял как это делается. Смею предположить, что переписывается всего лишь xcl файл.
Не совсем так. В xcl-файле проекта пользовательского исходника нужно объявить сегмент, который компилятор
не должен использовать для размещения кода. В исходнике же бутлоадера - наоборот, компилятор должен использовать
только этот выделенный сегмент. На месте векторов прерываний должны быть адреса переходов. А сами обработчики прерываний располагаются где-то в другом месте (в неперезаписываемом сегменте Flash или в ОЗУ). Хотя по-моему в бутлоадере использовать прерывания это моветон, да и незачем, если только у вас нет жесткого требования обновления firmware прямо во время работы программы без прерывания ее функционирования. Хотя в этом случае образец новой firmware предварительно еще где-то сохранить нужно, проверив его на валидность. Работать в бутлоадере с UART можно и без прерываний, по опросу флагов готовности.