Мне летом какой-то крутой ARM-перец на форуме Альтеры советовал хитрый метод отладки всего стартапа HPS в DS-5, начиная с 1 команды BootROM, только я забросил всё это болото Альтерное после неисчислимых мучений ёжика в тумане... Сырость неописуемая, и эти ребята во главе с Об. запрещают нам ковыряться пальцем в носу !..

...Там примерно надо было нажать резетную кнопку на плате и держать, в DS-5 как-то подключиться "на будущее", отпустить кнопку -- и отладчик становится на самое начало по адресу 0, потом можно по дизассемблеру степать и видеть место, где висяк -- это глядя из самого проца. Но исходников С-ных нет в принципе, логику и названия функций надо соображать по asm.
Ну и из ПЛИС можно в Тапок вывести чтение того куска ОЗУ, в котором Прелоадер сидит. Хотя бы из окна Memory видна она или висяк моментальный.
Только у Альтеры, как повелось издревле, трудно отлаживать стартовые процессы -- прошивка должна уже сидеть и ждать, только тогда можно пускать Тапка вручную, нет автоматизации с его автостартом, как только прошивка загрузится.
Но проца можно держать в резете и отпускать, только когда Тапок включится.
По идее, увидев BSEL для загрузки из ПЛИС, BootROM должен проинитить мост проц-ПЛИС самостоятельно, у него же незря 60 К кодов заложено на всё про всё в неисчислимых вариантах. И передать управление на содержимое C0000000, которое должно стать видимым.
Вообще, зря они намудрили с этими BSEL-ами и BootROM-ами накристалльными... Самое надёжное и удобное нам решение -- отдать загрузку на откуп системному архитектору (обычно никому не нужны несколько src) и 1-стадийное ПО. Проц стартует с 0, и что ему там подставили на шине по этому адресу на чтение, то пусть и запускается, мудрствование обычно всегда бывает лукавым. Плохой носитель -- можно повторять попытки загрузки с адреса 4М, 8М...
В 4М флэши можно уже уместить нормальное приложение, которое и полный функционал обеспечит, и при необходимости DDR подымет и скопирует свой кусок туда, но только при нормальном отладчике и надёжности.