Перейти к содержанию
    

Загрузка AM1808

Для 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?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все загружается, содержимое application.bin как надо размещается в памяти,

но когда передаю управление на свое приложение - ничего не работает.

Ничего не работает - это как, какие симптомы? Пробовали, например, просто поморгать GPIO?

Нюансов особых нет, разве что периферия остается частично инициализированной (например,

делитель UART может оказаться установлен в x13).

 

Для AM1808 пытаюсь реализовать такую последовательность загрузки:

- UBL из SPI Flash;

- u-boot из SPI Flash;

- application.bin из SD карты

Никогда не мог понять, зачем нужен UBL. u-boot после небольшой доработки может стартовать из SPI flash самостоятельно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

программка как раз должна мигать светодиодами

бинарник делал утилиткой out2rprc.exe из Starter Ware, может надо чем-то другим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если честно, не очень представляю, как сделать бинарник, который бы работал сам по себе, но не запускался бы после u-boot. Если только специально не стараться.

 

Если загружаю boot.ais + application.bin из SPI Flash то все работает нормально.

А если application.bin окучить aisgen'ом и запустить напрямую?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если application.bin окучить aisgen'ом и запустить напрямую?

 

Наверное запустится, но мне надо чтобы мое приложение лежало на SD карте. Непосредственно с SD грузиться не могу - ревизия чипа не та

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хотите, могу глянуть у себя Ваш бинарник. Только скажите, с какого адреса он загружается, и какой вывод GPIO дергает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хотите, могу глянуть у себя Ваш бинарник. Только скажите, с какого адреса он загружается, и какой вывод GPIO дергает.

 

Буду очень признателен если посмотрите.

 

дергает: GP0_0, GP0_2, GP0_4, GP0_6

и рисует на LCD панели квадратик

application.zip

Изменено пользователем gosh74

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так это не исполняемый файл в чистом виде, а RPRC. Его должен раскидывать по памяти и запускать загрузчик, u-boot этого просто не умеет.

К сожалению, не имел дела со StarterWare, поэтому не скажу, как получить именно исполняемый вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так это не исполняемый файл в чистом виде, а RPRC. Его должен раскидывать по памяти и запускать загрузчик, u-boot этого просто не умеет.

К сожалению, не имел дела со StarterWare, поэтому не скажу, как получить именно исполняемый вариант.

 

А из .out получить бинарник, который можно запускать из u-boot можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно. Например, при помощи objcopy (GNU) или fromelf (ARM). Но у StarterWare какой-то свой тулчейн, как я понимаю.

 

Вот результат работы fromelf. Загружается и работает через u-boot.

app.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно. Например, при помощи objcopy (GNU) или fromelf (ARM). Но у StarterWare какой-то свой тулчейн, как я понимаю.

 

Вот результат работы fromelf. Загружается и работает через u-boot.

app.zip

 

Спасибо, заработало! Правда потом виснет, но уже прогресс есть!

 

А нет! Ничего не работает все-равно, обознался! :(

Сделал бинарник через CCS, содержимое полностью совпадает с тем что в "app.zip"

но ни то ни другое не работает из-под u-boot

 

так, теперь загрузилось, лампочками замигало... но только после того как запретил инициализацию и прерывания для LCD. Если этого не сделать - виснет!

Изменено пользователем gosh74

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема оказалась в размещении таблицы векторов прерываний.

Здесь это описано:

http://support.criticallink.com/redmine/pr...iki/StarterWare

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...