[an error occurred while processing this directive]
|
Вроде с адресацией разобрался.
Собираю в Кейл rvds3 проект мигания светодиодом из примера.
Загружаю самбой во флеш.
Запускаю из самбы комадой go 0x0100000 - ура работает!
Выключаю устройство.
Включаю по новой.
Болт! Глухо как в танке. Ничего не работает!
Слепил за праздники виглер.
Запускаю OCD Comander.
Подключаюсь к утройству и вижу что прога крутится по адресу 0x010004c.
Смотрю стартап а там:
225: DAbt_Handler B DAbt_Handler
0x0010004C EAFFFFFE B 0x010004C
хотя судя по коду должен перейти по адресу 0x0100058 - то есть на старт.
Выполняю в ОСД командере команду сброс и шаг.
Переходит на нужный адрес то-есть 0x0100058(Reset_Handler) и прога стартует.(Начинает нормально работать.)
После включения и выключения сравниваю программу залитую во флеш с исходником все верно.
То есть если после включения я через ОСД командер сделал сброс и один шаг то дальше прога стартует, если же я выключаю и включаю устройство или просто делаю внешний сброс кнопкой то ничего не работает!
Беру в Кейле исправляю стартап чтобы по адресу 0x010004C был тупо переход на 0x0100058 - Reset_Handler.
Пересобираю проект.
Заливаю самбой.
Все работает! По всякому хоть включаю, хоть выключаю, хоть сбрасываю все работает - всегда.
Теперь собственно вопрос как он попадает на этот долбаный адрес 0x010004C и почему?
Или с камнем чего-то, или я опять чего-то не понимаю?
E-mail: info@telesys.ru