gosh 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Для AM1808 пытаюсь реализовать такую последовательность загрузки: - UBL из SPI Flash; - u-boot из SPI Flash; - application.bin из SD карты Все загружается, содержимое application.bin как надо размещается в памяти, но когда передаю управление на свое приложение - ничего не работает. Сравнивал содержимое памяти по адресу Entry Point в случае загрузки через CCS и u-boot, все совпадает. Если загружаю boot.ais + application.bin из SPI Flash то все работает нормально. Вообще, конечная цель - реализовать каким-либо способом загрузку своего приложения из SDMMC. Грузиться сразу с SDMMC не могу, ревизия кристалла 2.0, а поддержка такого варианта загрузки только с 2.1. Может есть какие-то нюансы при загрузке через u-boot? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Все загружается, содержимое application.bin как надо размещается в памяти, но когда передаю управление на свое приложение - ничего не работает. Ничего не работает - это как, какие симптомы? Пробовали, например, просто поморгать GPIO? Нюансов особых нет, разве что периферия остается частично инициализированной (например, делитель UART может оказаться установлен в x13). Для AM1808 пытаюсь реализовать такую последовательность загрузки: - UBL из SPI Flash; - u-boot из SPI Flash; - application.bin из SD карты Никогда не мог понять, зачем нужен UBL. u-boot после небольшой доработки может стартовать из SPI flash самостоятельно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosh 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба программка как раз должна мигать светодиодами бинарник делал утилиткой out2rprc.exe из Starter Ware, может надо чем-то другим? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Если честно, не очень представляю, как сделать бинарник, который бы работал сам по себе, но не запускался бы после u-boot. Если только специально не стараться. Если загружаю boot.ais + application.bin из SPI Flash то все работает нормально. А если application.bin окучить aisgen'ом и запустить напрямую? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosh 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба А если application.bin окучить aisgen'ом и запустить напрямую? Наверное запустится, но мне надо чтобы мое приложение лежало на SD карте. Непосредственно с SD грузиться не могу - ревизия чипа не та Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Если хотите, могу глянуть у себя Ваш бинарник. Только скажите, с какого адреса он загружается, и какой вывод GPIO дергает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosh 0 30 августа, 2013 Опубликовано 30 августа, 2013 (изменено) · Жалоба Если хотите, могу глянуть у себя Ваш бинарник. Только скажите, с какого адреса он загружается, и какой вывод GPIO дергает. Буду очень признателен если посмотрите. дергает: GP0_0, GP0_2, GP0_4, GP0_6 и рисует на LCD панели квадратик application.zip Изменено 30 августа, 2013 пользователем gosh74 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Так это не исполняемый файл в чистом виде, а RPRC. Его должен раскидывать по памяти и запускать загрузчик, u-boot этого просто не умеет. К сожалению, не имел дела со StarterWare, поэтому не скажу, как получить именно исполняемый вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosh 0 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Так это не исполняемый файл в чистом виде, а RPRC. Его должен раскидывать по памяти и запускать загрузчик, u-boot этого просто не умеет. К сожалению, не имел дела со StarterWare, поэтому не скажу, как получить именно исполняемый вариант. А из .out получить бинарник, который можно запускать из u-boot можно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 68 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Можно. Например, при помощи objcopy (GNU) или fromelf (ARM). Но у StarterWare какой-то свой тулчейн, как я понимаю. Вот результат работы fromelf. Загружается и работает через u-boot. app.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosh 0 30 августа, 2013 Опубликовано 30 августа, 2013 (изменено) · Жалоба Можно. Например, при помощи objcopy (GNU) или fromelf (ARM). Но у StarterWare какой-то свой тулчейн, как я понимаю. Вот результат работы fromelf. Загружается и работает через u-boot. app.zip Спасибо, заработало! Правда потом виснет, но уже прогресс есть! А нет! Ничего не работает все-равно, обознался! :( Сделал бинарник через CCS, содержимое полностью совпадает с тем что в "app.zip" но ни то ни другое не работает из-под u-boot так, теперь загрузилось, лампочками замигало... но только после того как запретил инициализацию и прерывания для LCD. Если этого не сделать - виснет! Изменено 30 августа, 2013 пользователем gosh74 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosh 0 4 сентября, 2013 Опубликовано 4 сентября, 2013 · Жалоба Проблема оказалась в размещении таблицы векторов прерываний. Здесь это описано: http://support.criticallink.com/redmine/pr...iki/StarterWare Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться