|
Бутлодырь на мх6 или любом кортекс А9, загрузка и передача управления проге |
|
|
|
Aug 2 2015, 15:17
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Приветствую. Собственно, решился таки на написание собственного бутлоадера для проектов на мх6 До этого обновление программы делала сама программа, переписывая себя саму, но это не айс, как говорится, при неудачной прошивке получается кирпич и без cifmager-а и плясок с бубном работоспособность не вернуть... Собственно вопрос, бутлодырь я гружу в статическую память, благо он не больше 128кило весом Затем поднимаю ФС, которая загружает в память бинарник прошивки с адреса 0х10000000, и как-бы его и запускать надо, да только не запускается, гад Может кто подскажет, какие нюансы там, у стмок просто прибавлял к адресу загрузки 4 и все норм... ЗЫ. "Запускальщик" позаимствовал из проекта на стм.
Сообщение отредактировал mantech - Aug 2 2015, 15:18
|
|
|
|
|
 |
Ответов
|
Aug 2 2015, 21:34
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(mantech @ Aug 2 2015, 18:17)  Собственно вопрос, бутлодырь я гружу в статическую память, благо он не больше 128кило весом Затем поднимаю ФС, которая загружает в память бинарник прошивки с адреса 0х10000000, и как-бы его и запускать надо, да только не запускается, гад  пройдите по шагам: - загрузили "бутлодырь", выдали в консольный порт "я жив" - загрузили свой бинарник в основную память (надеюсь "бутлодырь" ее проинтил) - вывалили в ту же консоль содержимое первых и последних 16 байт, сравнили с ожидаемым содержимым - бинарник скомпилен для запуска с нужного адреса - бинарник при запуске первым делом пишет в консоль "я запустился" вместо консоли подергать пином АРМа или поморгать доступной лампочкой.. как вариант ошибки - при считывание бинарника в память кладете байтовую или битовую последовательность "наоборот" imx6 шибко наворочен, может где надо взвести разрешение на запуск из этой области памяти или подобный битовый признак (тут могу врать ибо вопрос не изучал) у вас же д.б. система с юбутом - попробуйте на ней запустить свой бинарник вместо ядра, командой "go 0х10000000"
|
|
|
|
|
Aug 3 2015, 13:42
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Jury093 @ Aug 3 2015, 00:34)  пройдите по шагам: Уже прошел Бутлодырь запускается, инициализирует уарт1, ддр, проверяет нужную область ддр на ошибки, мму, кеш,(честно говоря они тут и нафиг не нужны, но до кучи, да и работает быстрее), usdhc, прерывания и 1 таймер. Все это хозяйчтво работает, проверено на более сложных программах. Это раз. Второе, бинарь грузится, в нужную область, тоже проверено. У меня подозрение на 2 вещи: 1) с какого адреса нужно делать запуск и правильность процедуры запуска, и второе, ИАР компилит бинарник либо со встроенной загрузочной записью (IVT, DCD и т.д.) либо без нее. Каким образом можно стартовать оба случая, т.е. точки входа - непонятно. Пытался с 0 адреса(по оффсету, конечно), +4, как в стм, и +20, как в вибриде - ничего. Потом попробовал просто перейти на 0й адрес, по идее, там должен бутром стартануть, но тоже нет, что за магия такая??? Вот тут бы кто разъяснил... Цитата(Jury093 @ Aug 3 2015, 00:34)  у вас же д.б. система с юбутом - попробуйте на ней запустить свой бинарник вместо ядра, командой "go 0х10000000" Ой, про этот убут лучше не говорите, там пробовал, даже интерфейсы сд-карт не работают, усб и подавно, а паять сетевые разъемы, чтоб всякие фтп поднимать... Вообщем не то совсем  Цитата(_3m @ Aug 3 2015, 08:19)  У вас что чип с включенной секурностью и прошиты ключи ? Если так то подписывайте свой код иначе не запустите. Так-то да, но я делаю эксперимент на нелоченом чипе, соотв. и нелоченые бинари. Так бы вообще забил болт на это, но если идут изменения в основной проге, то ее надо переподписывать, а делает это другой чел. и не за даром, вот и решил, что лучше сделать один раз бутлодырь, подписать его, а что он будет грузить, это уже подписывать не надо...
Сообщение отредактировал mantech - Aug 3 2015, 13:43
|
|
|
|
|
Aug 3 2015, 18:04
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(mantech @ Aug 3 2015, 16:42)  Бутлодырь запускается, инициализирует уарт1, ддр, проверяет нужную область ддр на ошибки, мму, кеш,(честно говоря они тут и нафиг не нужны, но до кучи, да и работает быстрее), usdhc, прерывания и 1 таймер. Все это хозяйчтво работает, проверено на более сложных программах. Это раз. Второе, бинарь грузится, в нужную область, тоже проверено. У меня подозрение на 2 вещи: 1) с какого адреса нужно делать запуск и правильность процедуры запуска, и второе, ИАР компилит бинарник либо со встроенной загрузочной записью (IVT, DCD и т.д.) либо без нее. Каким образом можно стартовать оба случая, т.е. точки входа - непонятно. Если у вас стартует бутлодырь DCD уже не нужен. DCD и остальное нужны для HAB. Точки входа ищите в скриптах линкера. Цитата Пытался с 0 адреса(по оффсету, конечно), +4, как в стм, и +20, как в вибриде - ничего. Потом попробовал просто перейти на 0й адрес, по идее, там должен бутром стартануть, но тоже нет, что за магия такая??? Вот тут бы кто разъяснил... MMU накрутили ? Этот ваш бутлодырь откуда взялся, кто его писал ? Цитата Ой, про этот убут лучше не говорите, там пробовал, даже интерфейсы сд-карт не работают, усб и подавно, а паять сетевые разъемы, чтоб всякие фтп поднимать... Вообщем не то совсем  В убуте на imx6 сд карты и сеть работают. Видимо у вас убут собран под другую борду или в конфиге все порезано например чтобы в 1 блок нанд влез. Цитата Так-то да, но я делаю эксперимент на нелоченом чипе, соотв. и нелоченые бинари. Так бы вообще забил болт на это, но если идут изменения в основной проге, то ее надо переподписывать, а делает это другой чел. и не за даром, вот и решил, что лучше сделать один раз бутлодырь, подписать его, а что он будет грузить, это уже подписывать не надо... Если вы через бутлодырь на залоченом чипе запускаете неподписанный бинарник это равносильно отключению защиты. Тогда просто ставьте несекурные чипы - с ними жить проще. Так ничего и не понял. Вы на нелоченом чипе не можете из вашего же бутлодыря запустить на исполнение бинарник ? при попытке старта бинарника что получаете ?
|
|
|
|
Сообщений в этой теме
mantech Бутлодырь на мх6 или любом кортекс А9 Aug 2 2015, 15:17 krux исходники grub же есть, чего вы мучаетесь?
непонят... Aug 2 2015, 15:20 mantech Цитата(krux @ Aug 2 2015, 18:20) исходник... Aug 2 2015, 15:25 krux хз. я вас не понимаю.
у меня в работе система, где... Aug 2 2015, 16:35 mantech Цитата(krux @ Aug 2 2015, 19:35) у меня в... Aug 2 2015, 17:55  _3m Цитата(mantech @ Aug 2 2015, 20:55) Во пе... Aug 3 2015, 05:19  Jury093 Цитата(mantech @ Aug 3 2015, 16:42) Уже п... Aug 3 2015, 17:16 Golikov A. кеши которые у вас включены, вы их инвалидейтите п... Aug 3 2015, 16:41 mantech Цитата(Golikov A. @ Aug 3 2015, 19:41) ке... Aug 3 2015, 19:03  Jury093 Цитата(mantech @ Aug 3 2015, 22:03) А есл... Aug 3 2015, 20:02   mantech Цитата(Jury093 @ Aug 3 2015, 23:02) висне... Aug 4 2015, 06:25 AndrejM Цитата(mantech @ Aug 3 2015, 17:42) У мен... Aug 4 2015, 07:55 mantech Цитата(AndrejM @ Aug 4 2015, 10:55) а к ч... Aug 4 2015, 11:05 AndrejM извиняюсь , наврал я вам . это я так хотел сделать... Aug 4 2015, 11:20 mantech Цитата(AndrejM @ Aug 4 2015, 14:20) там r... Aug 4 2015, 14:09 AndrejM Вам собственный бутлоадер нужно перезапускать? я т... Aug 4 2015, 15:48 mantech Цитата(AndrejM @ Aug 4 2015, 18:48) Вам с... Aug 4 2015, 16:29  Jury093 Цитата(mantech @ Aug 4 2015, 19:29) Нет, ... Aug 4 2015, 18:57   mantech Цитата(Jury093 @ Aug 4 2015, 21:57) берет... Aug 4 2015, 19:07    Jury093 Цитата(mantech @ Aug 4 2015, 22:07) Т.к. ... Aug 4 2015, 19:11     mantech Цитата(Jury093 @ Aug 4 2015, 22:11) пусть... Aug 12 2015, 12:05      _3m Цитата(mantech @ Aug 12 2015, 15:05) К со... Aug 13 2015, 05:50       mantech Цитата(_3m @ Aug 13 2015, 08:50) Если и т... Aug 13 2015, 07:26    _3m Цитата(mantech @ Aug 4 2015, 22:07) Т.к. ... Aug 4 2015, 19:49     mantech Цитата(_3m @ Aug 4 2015, 22:49) Через jta... Aug 5 2015, 06:21      _3m Цитата(mantech @ Aug 5 2015, 09:21) А вы ... Aug 5 2015, 07:27       mantech Цитата(_3m @ Aug 5 2015, 10:27) В первичн... Aug 5 2015, 14:32 AndrejM mantech , а как вы сейчас (ну до того как "бу... Aug 5 2015, 05:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|