реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Alwinner A13 не стартует с SD-карты, Отладочная плата A13-olinuxino
mantech
сообщение Mar 31 2018, 17:10
Сообщение #31


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Mar 31 2018, 19:46) *
Видимо, производители планшетов на A13 взяли образ из одного источника (что и не удивляет),
а его сборщик почему-то решил "буковки" выключить.

Я просто к тому, что может и тс поэтому их не видит тоже rolleyes.gif
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 31 2018, 17:29
Сообщение #32


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(mantech @ Mar 31 2018, 19:32) *
Кстати, интересное дело как-то было, попалось 2 планшета на А13 и 1 на А10, понятно, что андроид на них, но бут-то все равно похожий на линуксовый, так вот, у А13 буковок не было ни на одном уарте, у а10 все по правилам и загрузка бут0 и бут1... Интерерсно, почему так?

как справедливо сказали выше, черпают с одной бочки и тюнингуют под свои вкусы или корпоративные стандарты. просто заглушили выхлоп либо выключив порт, или переопределили под тот, на каком отлаживались и не факт, что это uart0/1
такая фишка полезна от всяких кулхацкеров, которые потом ломают прошивки
у меня валяется подаренный под разборку сетевой медиаплейер (вроде на броадкоме), припаял консоль и буковки вижу, но остановить не могу - запрещено опцией в юбуте. а т.к. проц защищен цифровой подписью, то ломать бессмысленно

Цитата
По поводу сериального адаптера.. Ну если ТС не проделал все это - ему минус, ибо проверить TX с RX - дело само собой разумеющееся laughing.gif

кому очевидно, кому не очень. у меня нет полной информации о том, что у ТС, вот и приходится тыкать в критичные места..

Цитата
Не буду спорить, но дело такое было, поэтому и написал... К тому же, при отладке незнакомой платформы и непонятному поведению проги вообще, всегда отключаю оптимизацию, после того, как все заработало, можно и включать, ибо уже понятно, что если снова не заработает, то сам накосячил...

ага, я тоже пару раз наступал

Цитата(mantech @ Mar 31 2018, 20:10) *
Я просто к тому, что может и тс поэтому их не видит тоже rolleyes.gif

врядли - это отладочные прошивки, а не коммерческие
Go to the top of the page
 
+Quote Post
__inline__
сообщение Apr 1 2018, 08:36
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Спасибо всем кто хотел помочь и помог! 1111493779.gif
Удалось запустить плату с A13 ! rolleyes.gif

Было 2 ошибки.

Ошибка номер 1.

Начал с проверки COM-порта. Замкнул вывод 2 с выводом 3 на системном блоке компа, убедился как тут писали, что связь есть: получаю то же, что и отправляю.
Значит порт исправен и WinXP дает доступ к нему.

Дальше: подсоединил адаптер, запитал его от 3,3V от платы A13-Olinuxino. Выводы TX и RX адаптера соединил вместе. Вот тут и зарылась собака - в ответ летит не то, что отправляю!
Запитал адаптер отдельно от 5V, протестил: обмен исправен. Понизил питание до 3V - снова пошла лажа на скорости 115200 бит/c!.
Понизил скорость до 2400 бит/c - обмен при питании 3V нормальный.

Сделал вывод, что тот MAX3232, что стоит в адаптере не позволяет при питании 3,3V давать обмен на 115200 бит/c.
Порылся в закромах, нашёл в резерве одну MAX3232, выпаял ту что была на адаптере и впаял новую.

Проверил снова обмен при 5V и при 3.3V на скорости 115200 бит/c - работает исправно! Делаю вывод о бракованной партии микросхем MAX3232, которая попала мне в адаптере.

Фотка фуфела MAX3232, не работающего на 115200 бит/с при 3,3V:
Прикрепленное изображение

Фотка нормальной микросхемы:
Прикрепленное изображение


Ошибка номер 2.

Программа дискового редактора, которую я использовал: HxD Hex-редактор от Maёl Horz, неверно делала запись на 16-й сектор карты!
Позже, скачав win32-disk-imager-0-7-en-win.zip (эта не свежая версия, но идёт под WinXP, что для меня важно!) и записав образ sunxi-spl.bin из папки a13_olinuxino_hwpack, я получил наконец-то запуск программы на A13:
Прикрепленное изображение


Действительно, для отладки используется порт UART1. Образ sunxi-spl.bin для A13 прилагаю:
Прикрепленный файл  sunxi_spl.zip ( 11.61 килобайт ) Кол-во скачиваний: 15


ну и далее попробовал запустить Debian, тот самый, что якобы на карту с 4 ГБ влезает (на самом деле нет, олимексовцы по-мойму забыли, что 4 ГБ это не 4*1024^3 байт, а 4*1000^3 sm.gif ) всё пошло:

Прикрепленное изображение


Качал вот этот архив: A13_debian_34_90_mainline_u-boot_release_11_3.7z, с торрента - файл прикладываю:
Прикрепленный файл  A13_debian_34_90_mainline_u_boot_release_11_3.zip ( 25.23 килобайт ) Кол-во скачиваний: 13


Естественно, перед заливкой образа, архив распаковать. Образ писал программой, что описана выше: win32-disk-imager-0-7-en-win.zip

Потом всё-же решил посмотреть, где же глючит HxD и почему она пишет 16-й сектор не туда, куда надо и не видит там ничего после записи win32-disk-imager-0-7-en-win.zip.

Для этого прочёл образ с карты (1% достаточно) и увидел, что сигнатура eGON.BT0 была на 145-м секторе! Делайте выводы, господа! Вот так софтина может подставить программиста!

---

Шаг 3.

После как разобрался в ошибках, попробовал закатать образ своей программы с мигающим светодиодом.
Так как HxD - оказался на поверку говном, а win32-disk-imager не может писать образы не с начала, пришлось 0x2000 байт с самого начала SD-карты скопировать в отдельный файл.
Затем бинарно клеить эти 0x2000 байт со своей программой (у которой уже есть хедер и посчитана контрольная сумма).

Тоесть алгоритм такой:

1) компилируем и линкуем свою программу (при этом моделируя набросок заголовка: прыжок на main(), заполняя оставшееся место нулями)

2) вычисляем контрольную сумму в получившемся бинарнике (я использую checksumm.exe собственноручно скомпилированную из сорцов Гитхаба)

3) склеиваем 2 файла: первые 0x2000 байт со своим бинарником (я использую свой конкатенатор concat.exe)

4) полученный файл *.img катаем на SD-карту win32-disk-imager-ом.

5) вставляем карту в A13-olinuxino, включаем питание и радуемся результату! sm.gif
Загрузка мгновенна, никаких кнопок Power и Home/U-boot жать не надо!

Прикрепляю рабочий проект целиком - оптимизация по скорости, максимальная. Проект перелопатил из олимексовского говнокода. (+ утилита для контрольной суммы):
Прикрепленный файл  A13_led.zip ( 21.39 килобайт ) Кол-во скачиваний: 13


Использую такие тулчейны:
gcc-arm-none-eabi-6-2017-q2-update-win32.exe
gcc-arm-none-eabi-4_8-2014q3-20140805-win32.exe

Без разницы какой, после инсталляции важно прописать переменные окружения в операционной системе , иначе не будет работать как надо.
Сорцы пишу в Блокноте (с синтаксической подсветкой типа "Bred"), для сборки батники или make-файлы.

По-мойму это лучше, чем искать проприетарное тяжеловесное дерьмо, за которое мудаки требуют деньги (в контексте последних ARM-ов).
И к тому же которое под WinXP идёт либо криво или вообще не пускается.


Ну и вспомогательные вещи: утилита склейки concat.exe и файл первых 0x2000 байт, которые должны быть до программы.
Утилита склеивает 2 файла : "0x2000.bin" и "spl.bin" в один "image.img" - его катать на карту win32-disk-imager-ом!
Прикрепленный файл  concat_util.zip ( 33.44 килобайт ) Кол-во скачиваний: 10


Если достать нормальный дисковый редактор, то можно сразу spl.bin катать на 16-й сектор. Без всяких склеек с 0x2000.bin.
Но пока такой программы не нашёл, все клянчат деньги и не дают работать на запись...

---

В целом я рад - началу освоения Alwinner положено!!! yeah.gif
Надеюсь, что то что написал, поможет начинающим разобраться и не спотыкаться на те грабли, что мне пришлось испытать. smile3046.gif

to mantech:
регистры, порты ввода-вывода, переменные, менющиеся в обработчиках прерываний - должны быть объявлены как volatile, иначе компилятор оставляет за собой право выкинуть часть кода или закешировать эти переменные в регистры (особенно с максимальной оптимизацией, где не учитывается специфика работы с аппаратурой: допускается многократное присваивание в один и тот же регистр) sm.gif

Сообщение отредактировал __inline__ - Apr 1 2018, 09:37
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 1 2018, 10:30
Сообщение #34


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(__inline__ @ Apr 1 2018, 11:36) *
Спасибо всем кто хотел помочь и помог! 1111493779.gif
Удалось запустить плату с A13 ! rolleyes.gif

спасибо, что поделились результатами, кто-нить следующий придет, прочитает и обойдет подобные грабли..

по max3232 - у вас либо перемаркированная max232 или фейк от китайцев
ближайший пост:
https://www.eevblog.com/forum/reviews/fake-...tional-details/

Цитата
(на самом деле нет, олимексовцы по-мойму забыли, что 4 ГБ это не 4*1024^3 байт, а 4*1000^3 sm.gif )

там помимо олимексовцев, д.б. разозленные клиенты, которые заплатили деньги за плату, а "образ на карточку не лезет"
напишите им фидбек - "какого хрена 'ссылка' не лезет на 4ГБ", если это их косяк, то исправят

Цитата
Если достать нормальный дисковый редактор, то можно сразу spl.bin катать на 16-й сектор. Без всяких склеек с 0x2000.bin.

поищите winhex или какой-нить discedit, у того же олимекса были ссылки на дисковые редакторы

формально, можно загрузиться с uSD в дефолтный дебьян и пилить вторую карточку через usb ридер прямо на плате, но это уж как кому удобнее..
Go to the top of the page
 
+Quote Post
Obam
сообщение Apr 1 2018, 10:44
Сообщение #35


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



В маркировке MAX-а смущает "+": вот не помню, это способность большого ESD (1.5кВ)?
А если перемаркированная 232, то можно было бы увеличить ёмкости конденсаторов накопительных. В прочем, на фиг (;
С успехом вас (:


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 1 2018, 11:08
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Jury093 @ Apr 1 2018, 13:30) *
там помимо олимексовцев, д.б. разозленные клиенты, которые заплатили деньги за плату, а "образ на карточку не лезет"
напишите им фидбек - "какого хрена 'ссылка' не лезет на 4ГБ", если это их косяк, то исправят

Просто разные 4GB карты несколько отличаются по размеру. По-хорошему, надо было файловую систему урезать до минимума
и расширять при первом включении, как делает Armbian.
Go to the top of the page
 
+Quote Post
mantech
сообщение Apr 1 2018, 13:43
Сообщение #37


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Jury093 @ Apr 1 2018, 13:30) *
поищите winhex или какой-нить discedit, у того же олимекса были ссылки на дисковые редакторы

формально, можно загрузиться с uSD в дефолтный дебьян и пилить вторую карточку через usb ридер прямо на плате, но это уж как кому удобнее..


Я предлагал ТСу программу cfimager от фриски. Пишет с на сд карту свой бинарь с первого сектора и ничего изобретать не нужно... Причем, что удобно, в ней нет гуя, работает с командной строки без установки драйверов или еще чего-либо.

Цитата(Obam @ Apr 1 2018, 13:44) *
В маркировке MAX-а смущает "+": вот не помню, это способность большого ESD (1.5кВ)?
А если перемаркированная 232, то можно было бы увеличить ёмкости конденсаторов накопительных. В прочем, на фиг (;
С успехом вас (:


Неа, тут это не поможет, проверял.

Цитата(__inline__ @ Apr 1 2018, 11:36) *
Сорцы пишу в Блокноте (с синтаксической подсветкой типа "Bred"), для сборки батники или make-файлы.

По-мойму это лучше, чем искать проприетарное тяжеловесное дерьмо, за которое мудаки требуют деньги (в контексте последних ARM-ов).
И к тому же которое под WinXP идёт либо криво или вообще не пускается.


Т.е. ИДЕ не используете. А если ошибка в программе, как она отображается? В ИДЕ можно сразу на строчку с ошибкой кликнуть, ИМХО удобнее будет...

Сообщение отредактировал mantech - Apr 1 2018, 13:37
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 1 2018, 14:12
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(mantech @ Apr 1 2018, 16:43) *
Т.е. ИДЕ не используете. А если ошибка в программе, как она отображается? В ИДЕ можно сразу на строчку с ошибкой кликнуть, ИМХО удобнее будет...

В консоли, естественно. Перейти на нужную строку в нужном файле можно и без ИДЕ - обычно все и так перед глазами.
Go to the top of the page
 
+Quote Post
mantech
сообщение Apr 1 2018, 14:49
Сообщение #39


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Apr 1 2018, 17:12) *
В консоли, естественно. Перейти на нужную строку в нужном файле можно и без ИДЕ - обычно все и так перед глазами.

Не говорю, что нельзя, просто в иде удобнее, особенно, когда файлов больше сотни, а у ТСа, если он реально будет камень осваивать, будет и больше...
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 1 2018, 15:39
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(aaarrr @ Apr 1 2018, 14:08) *
Просто разные 4GB карты несколько отличаются по размеру.

карточки разного размера могут быть в двух случаях - производитель-параноик откусил часть флеша под сейв-блоки и второй - производитель-халтурщик поставил в карточку флеш с большим кол-вом бед-блоков. других вариантов как-то в голову не приходит..
для ленивых олимекс продает готовые карточки с нарезанной осью:
https://www.olimex.com/Products/OLinuXino/A...source-hardware

Цитата
По-хорошему, надо было файловую систему урезать до минимума

не каждый сможет из комплекта бинарников сплодить рабочую систему, там обычно масса тонкостей и олимекс правильно делает, что выкладывает образы (не он первый такое практикует и это правильно), тем самым отсекает отрицательный фидбек по продукту.. опять же всегда можно взять 8ГБ карточку и на нее накатить предоставленный образ

а если "по-хорошему", то рутовая генерится стандартными средствами, хошь debian armel/hf, хошь ubuntu, чистые дистрибутивы 60-100МБ, впрочем это уже не для ветки "Микроконтроллеры (MCs)"..
ок, пожелаю ТС успехов в пилёжке..
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 1 2018, 15:51
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Jury093 @ Apr 1 2018, 18:39) *
карточки разного размера могут быть в двух случаях - производитель-параноик откусил часть флеша под сейв-блоки и второй - производитель-халтурщик поставил в карточку флеш с большим кол-вом бед-блоков. других вариантов как-то в голову не приходит..

Да мало ли причин. В любом случае нельзя считать, что на карту с надписью "4GB" уместится 4 * 10^9 байт.

Цитата(Jury093 @ Apr 1 2018, 18:39) *
не каждый сможет из комплекта бинарников сплодить рабочую систему, там обычно масса тонкостей и олимекс правильно делает, что выкладывает образы (не он первый такое практикует и это правильно), тем самым отсекает отрицательный фидбек по продукту.. опять же всегда можно взять 8ГБ карточку и на нее накатить предоставленный образ

Под "урезать" имелось в виду убрать свободное место, а не лить тупо содержимое карты через dd.
Go to the top of the page
 
+Quote Post
__inline__
сообщение Apr 1 2018, 16:22
Сообщение #42


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Всем спасибо за помощь! a14.gif

Цитата(mantech)
Я предлагал ТСу программу cfimager от фриски. Пишет с на сд карту свой бинарь с первого сектора и ничего изобретать не нужно... Причем, что удобно, в ней нет гуя, работает с командной строки без установки драйверов или еще чего-либо.


Я вначале подумал, что она заточена только под I.MX. Теперь вижу, что она универсальна!
Нашёл её здесь: ftp://125.7.130.110/imx/5/Mfgtools-Rel-1....Utils/cfimager/

Теперь действительно стало проще лить образ без всяких дополнительных файлов и склеиваний - в батник её прописал после билда и чек-суммы, получилась сборка в 1 клик:
Код
cfimager.exe -raw -offset 0x2000 -f spl.bin -d F

где F - буква диска SD-карты

Цитата(mantech)
Т.е. ИДЕ не используете. А если ошибка в программе, как она отображается? В ИДЕ можно сразу на строчку с ошибкой кликнуть, ИМХО удобнее будет...

Когда писал под STM32, то открывал Keil исключительно для сборки проекта.
Код писал в блокноте.
В GCC ошибки выдаются в консоли: номер строки + тип ошибки = достаточно чтобы найти и исправить, не забыть в конце батника pause добавить, а то закроется.
Или можно из под MSYS работать (или как там его - желтого цвета в винде mingw32 ...)
Если сорцов много, то мейк-файл.

Цитата(aaarrr @ Apr 1 2018, 16:51) *
Да мало ли причин. В любом случае нельзя считать, что на карту с надписью "4GB" уместится 4 * 10^9 байт.

Под "урезать" имелось в виду убрать свободное место, а не лить тупо содержимое карты через dd.

Я ради этого купил карту 16 ГБ UHS-I , пригодится в хозяйстве.
Хотя и на старой карте 2 ГБ без класса скорости работают мои программы

---
2 вопроса:

1) Какими командами с помощью U-Boot загрузить по UART1 программу и дать ей управление? И по какому адресу должен быть слинкован код для A13 ?

С AT91RM9200 было так: был DFU Downloader, 2 команды: Load и Go

2) spl-sunxi.bin - инитит всё железо(тактовую частоту, SDRAM, MMU) или нет? Или это уже U-boot делает?

Просто если spl-sunxi.bin всё инитит, что с ним проще, особенно, если он может что-то загрузить

Сообщение отредактировал __inline__ - Apr 1 2018, 16:25
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 1 2018, 16:33
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(__inline__ @ Apr 1 2018, 19:22) *
Какими командами с помощью U-Boot загрузить по UART1 программу и дать ей управление? И по какому адресу должен быть слинкован код для A13 ?

Например, loady и go

Линковать с любого адреса SDRAM, не занятого самим u-boot.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 1 2018, 17:34
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(__inline__ @ Apr 1 2018, 19:22) *
2) spl-sunxi.bin - инитит всё железо(тактовую частоту, SDRAM, MMU) или нет? Или это уже U-boot делает?

Да, SPL проводит минимальную инициализацию. Насчет MMU не помню, скорее всего, кэш данных и MMU остаются отключены.

Для полной автоматизации загрузки рекомендую посмотреть USBBoot
Go to the top of the page
 
+Quote Post
mantech
сообщение Jul 23 2018, 11:55
Сообщение #45


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(__inline__ @ Apr 1 2018, 11:36) *
Качал вот этот архив: A13_debian_34_90_mainline_u-boot_release_11_3.7z, с торрента - файл прикладываю:
Прикрепленный файл A13_debian_34_90_mainline_u_boot_release_11_3.zip ( 25.23 килобайт ) Кол-во скачиваний: 10


Если не сложно, можете сюда выложить первый мегабайт этого файла, с их торрентов не скачивается, а у них (олимекса) на форуме даже не скачать файлы для их плат, дурдом какой-то, все ссылаются на торренты, на которых нет раздачи...
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 20:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01522 секунд с 7
ELECTRONIX ©2004-2016