Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC
Кто может помочь в программировании imx6 без ос?
mantech
Добавлено 08.03.2014 15:50
0
Сообщение: 1
mantech
0

Пункты: 2042
Регистрация: 08.03.2014
Приветствую.

Есть такая задача, нужно создать простенький графический контроллер с выводом видео в hdmi порт на монитор, загрузкой программы с сд-карты и хорошим быстродействием.

Решил обратить внимание на данную плату с процом imx6.
Есть главное требование - "чистое си программирование", желательно использование компилятора IAR.

Вопрос - 1) есть ли какие-либо примеры для первоначальной инициализации периферии и видеоконтроллера (режимы 3д и прочие навороты не нужны), уартов и контроллера сд-карты.
И второе - каким образом скомпилированную программу запускать? И с помощью каких программно-аппаратных средств?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.03.2014 16:37 Редактировалось 08.03.2014 16:38 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
идете на фрискейловский сайт в раздел к приглянувшемуся процу и тащите, что-то типа:
"i.MX 6Series Platform SDK : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license."

если подходит, то покупаете плату, тащите доки и организуете "восход солнца вручную"..

для запуска своей программы можно пойти по простейшему пути - использовать функционал u-boot - загрузка и прошивка в подходящий накопитель или отладка по сети..

в чем писать - не знаю.. вероятно можно в голом gcc - где собственно собираются u-boot и kernel..

Цитата
желательно использование компилятора IAR.

дак почитайте в доке на IAR или на их сайте - поддерживают ли они мотороллу?

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
mantech
Добавлено 08.03.2014 17:37 Сообщение: 3
mantech
0

Пункты: 2042
Регистрация: 08.03.2014
Спасибо. Более-менее понятно.
Посмотрел в иаре есть поддержка imx535, насколько сильно он отличается от 6го? Можно-ли компилить под него и потом залить в 6й, можете вкратце об этом?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.03.2014 19:10 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Спасибо. Более-менее понятно.
Посмотрел в иаре есть поддержка imx535, насколько сильно он отличается от 6го? Можно-ли компилить под него и потом залить в 6й, можете вкратце об этом?

я плотно в архитектуру не лазил и допускаю, что модульная совместимость может быть (на уровне отдельных кор (i2c. espi)), но в хидерах по адресам регистров совпадений не видел..
согласно вики http://en.wikipedia.org/wiki/I.MX#i.MX53_family
imx5 - cortex A8
imx6 - cortex A9

собирал на imx6q ядро для imx53 - собралось и работает..

мое мнение по поводу IAR - врядли, в пределах своего семейства было бы несложно..

кстати, как вариант взять кит на imx535 и плату конвертера rgb24-hdmi, АРМ и знать не будет, что потеет на hdmi выход

упс.. сходил на IAR посмотрел, так поддержка то есть, например:
MCIMX6S5 Yes Yes Yes No No
согласно маркировке это imx6s (solo)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
mantech
Добавлено 08.03.2014 22:54 Сообщение: 5
mantech
0

Пункты: 2042
Регистрация: 08.03.2014
Попробовал скомпилить простенькую прогу - ногодрыг портом - вроде как скомпилилось.
Возник второй вопрос - как все это дело теперь залить в контроллер и запустить? Есть какие-то мысли по этому поводу?

По частям:
1) в каком формате компилить бинарник - есть elf по умолчанию и еще intel hex, binary, motorola и т.д.?

2) как и главное, чем заливать в память?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.03.2014 23:47 Редактировалось 08.03.2014 23:49 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
1. я бы скомпилировал обычный бинарник - там главное понять в каком порядке будут байты, MSB<>LSB (т.н. endian)
2. если есть живая плата, то любым доступным способом, например:
- складываете свой бинарь на uSD
- выкладываете в доступ по tftp
потом останавливаете загрузку u-boot
загружаете бинарь в память, например в область, куда грузится ядро и далее команда go адрес-куда-загрузили-бинарь
после этого юбут не рассуждая, делает туда безусловный переход..

если юбута нет, то разбирайтесь с фирменной утилитой от фрискейла, которая работает с голым камнем по юсб протоколу..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
mantech
Добавлено 09.03.2014 08:50 Сообщение: 7
mantech
0

Пункты: 2042
Регистрация: 08.03.2014
Цитата

если юбута нет, то разбирайтесь с фирменной утилитой от фрискейла, которая работает с голым камнем по юсб протоколу..


по ходу так и будет. Только тогда каким образом грузится убут? Наверно с той-же сд-карты... Может как-то можно мой бинарник вместо него "подкинуть"?
Может глупые вопросы задаю конечно, но до сих пор работал только с флешовыми контроллерами, так что больно не пинайте
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.03.2014 10:41 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
по ходу так и будет. Только тогда каким образом грузится убут? Наверно с той-же сд-карты... Может как-то можно мой бинарник вместо него "подкинуть"?

по первой части - в толстом мане на камень есть раздел посвященный стратегии загрузки АРМа, там описаны способы, устройства и форматы..
по второй - конечно можно, только ваш бинарник должен выполнить все необходимые функции (настройка pll, инит DDR памяти и etc).. рассматривайте бинарник юбута, как специализированный стендалон..

Цитата
Может глупые вопросы задаю конечно, но до сих пор работал только с флешовыми контроллерами, так что больно не пинайте

здесь не принято пинать просто так, хотя особо упертых или агрессивным надо бы..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.03.2014 12:34 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
по поводу загрузки - я не зря упомянул об SDK, внутри помимо примеров работы с отдельными узлами, есть еще каталог с доками..
и там есть вводная типа:

This document’s purpose is to help software engineers create board bring up and test
code for their own custom boards based on the i.MX 6 series of application processors. It
provides example driver code that demonstrates the proper initialization, boot up and
basic I/O operation of i.MX 6 peripherals and controllers. This code can be implemented
into test suites or boot code to help ensure proper board functionality.


а в разделах написано, например для EIM:

7.8 Testing the driver
Build the SDK with the following command:
./tools/build_sdk -target mx6dq -board sabre_ai -board_rev a -test eim
This generates an ELF and binary file into the following locations:
• output/mx6dq/sabre_ai_rev_a/bin/mx6dq_sabre_ai_rev_a-eim-sdk.elf
• output/mx6dq/sabre_ai_rev_a/bin/mx6dq_sabre_ai_rev_a-eim-sdk.bin
Download mx6dq_sabre_ai_rev_a using RV-ICE or Lauterbach Trace32. Alternately, burn
mx6dq_sabre_ai_rev_a to an SD card with the following command (entered in Windows's
"Command Prompt" window):
cfimager-imx -o 0 -f mx6dq_sabre_ai_rev_a-eim-sdk.bin -d g:(SD drive name in your PC)
Finally, power-up the board to run the test.


видите знакомые слова "bin" и "SD"?

я все же посоветую сначала поработать из-под линукса - с комфортом посмотреть на работу интересующих узлов, сделать дампы регистров и настройки PLL, потом отладить свои бинарники запуская из u-boot.. и только потом пробовать полностью отойти от поддержки u-boot и все настройки делать самостоятельно..

абстрактно: в чем то АРМ похож на очень большую и быструю однокристалку, но на тонкости изучения и настройки вы можете убить очень много времени - проще использовать чьи-то результаты и сосредоточиться на решение своих задач..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
mantech
Добавлено 09.03.2014 13:50 Редактировалось 09.03.2014 13:52 Сообщение: 10
mantech
0

Пункты: 2042
Регистрация: 08.03.2014
Спасибо за советы. Ситуация начинает прояснятся потихоньку...

Посмотрел в своем примере, там есть минимальная инициализация камня, в части pll, gpio и еще чего-то там...

Буду ждать плату и пробовать.

А если есть jtag-отладчик, можно-ли для тестов, заливать прогу прямо в память и запускать? Чтоб не писать каждый раз сд-карту и т.п.
В стм32 для этого я менял параметры линкера и в программе базовый адрес векторов nvic, тут есть что-то подобное?

PS. Случаем, не в курсе, по поводу энергопотребления данного камешка? Где-то слышал, что больно сильно греется...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC