|
Новый проект на основе прототипа с AM/DM37xx, OMAP-L138, Понимание настроек Linux, uboot, драйверов и всего остального... |
|
|
|
Feb 22 2014, 16:17
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 25-03-08
Пользователь №: 36 216

|
Здравствуйте, уважаемые участники форума!
У меня имеется новый проект, в реализации которого есть большие затруднения. Некая система должна получать на входе видеосигнал по протоколу ВТ.656 (8 bin parallel + clk (27 MHz)). С полученной картинкой необходимо производить различные действия по изменению размеров, регулировкой яркости и т.д. с наложением поверх картинки простой графики. Далее, необходимо передать результирующее изображение на OLED (800х600) либо по тому же протоколу ВТ.656, либо RGB888. Грузиться система должна с FLASH. Это присказка.
На начальном этапе хотелось бы поэкспериментировать на готовом железе, максимально приближенным по архитектуре и возможностям для решения задачи. Речь идёт конечно же об оценочных платах от TI, Embest, LogicPD, CALIXTO, MENTOR. Во всех платах имеются видеовходы, выходы на LCD и кнопки. Но есть проблемы. Эти платы спроектированы под определённую периферию, немного не похожую по интерфейсу с моей. Управление камерой производится по UART, а управление дисплеем по I2C.
В частности, например, чтобы заработал дисплей, необходимо отправить ему серию кодов инициализации по I2C, иначе он не включится. На каком этапе производится инициализация? Я полагаю инициализацией должен заниматься u-boot. Тогда как его настроить?
Прошу знающих людей объяснить мне технологию адаптации нового оборудования в Linux от и до. Что прочитать и т. д. Хочется во всём разобраться самому. Ну и заодно может подскажите на каком конструкторе из выше названных лучше пробовать (с доработками или без).
|
|
|
|
|
 |
Ответов
|
Feb 27 2014, 13:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
В загрузчике это надо сделать отдельно. Фактически надо делать два раза (и по разному) в ядре и в загрузчике. Для того чтобы работало в загрузчике вам надо подключиться к той же шине, к которой подключен PMIC. Я уже писал об этом. Цитата(Jury093 @ Feb 27 2014, 16:16)  после загрузки линукса, можно утилитой i2cdetect убедится, что экран подключен на i2c шину, и утилитами i2cset, i2cget - порулить регистрами вашего экрана через i2c интерфейс без всяких драйверов.. Утилит может не быть, но всегда сработает: ls /sys/bus/i2c/devices/ покажет все устройства на шине и их адреса. Вот как это выглядит в моей системе. 0-0008 1-000a 1-0034 1-0054 2-0041 i2c-1 0-003c 1-0010 1-0039 2-0004 i2c-0 i2c-2 Три шины 0, 1 и 2. К ним подключены устройства. Три шины 0, 1 и 2. К ним подключены устройства. 0-0008 означает , что к шине 0 подключено устройство с 7-битным адресом 0x08, чему соответствуют 8-битные адреса 0x11 и 0x10 для чтения и записи.
|
|
|
|
|
Feb 28 2014, 16:22
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 25-03-08
Пользователь №: 36 216

|
Цитата(SM @ Feb 28 2014, 18:25)  В загрузчике это вообще не надо никак делать, загрузчику дисплей не нужен, как и его инициализация.
А порулить I2C-устройством можно и из юзерспейса для начала, используя i2c /dev interface (соотв. докуменатция живет в i2c/dev-interface), писать kernel driver можно уже потом, когда понимание придет, что именно писать. Если можно - поподробнее пожалуйста об этом. А вообще давайте представим, что имеется BeagleBone (как прототип конечного устройства), подключенный к хосту через USB и Ethernet. С хоста мы можем увидеть процесс загрузки ВВ и наверное порулить I2C, и остановить загрузку после u-boot и ещё много чего, Но мы НИЧЕГО не увидим на OLED-е пока не отправим на него по I2C набор кодов настройки отображения. Что же тогда делать если хоста не было бы?! На целевой системе он мне не нужен!!! Тогда на каком этапе "прикручивать" драйвер и как его писать? На этапе отладки ПО наверное как можно раньше, а на целевой системе пользователю точно не нужно видеть процесс загрузки, ему и заставки хватит!
|
|
|
|
Сообщений в этой теме
Petrovitch Новый проект на основе прототипа с AM/DM37xx, OMAP-L138 Feb 22 2014, 16:17 HardJoker Цитата(Petrovitch @ Feb 22 2014, 19:17) В... Feb 22 2014, 16:47 Tarbal u-boot настраивает много чего. Однако в той верси... Feb 22 2014, 21:16 sasamy Цитата(Petrovitch @ Feb 22 2014, 20:17) В... Feb 23 2014, 07:43 Petrovitch Как промежуточный этап для решения задачи хотелось... Feb 23 2014, 11:17 sasamy Цитата(Petrovitch @ Feb 23 2014, 15:17) К... Feb 23 2014, 11:36  aaarrr Цитата(sasamy @ Feb 23 2014, 15:36) ядро ... Feb 23 2014, 11:54   sasamy Цитата(aaarrr @ Feb 23 2014, 15:54) Есть ... Feb 23 2014, 12:11    aaarrr Цитата(sasamy @ Feb 23 2014, 16:11) Врвнь... Feb 23 2014, 13:08     sasamy Цитата(aaarrr @ Feb 23 2014, 17:08) Потру... Feb 23 2014, 13:16      aaarrr Цитата(sasamy @ Feb 23 2014, 17:16) тради... Feb 23 2014, 13:19       sasamy Цитата(aaarrr @ Feb 23 2014, 17:19) Все л... Feb 23 2014, 13:23        aaarrr Цитата(sasamy @ Feb 23 2014, 17:23) Нет, ... Feb 23 2014, 13:26         sasamy [quote name='aaarrr' date='Feb 23 2014... Feb 23 2014, 13:36          aaarrr Цитата(sasamy @ Feb 23 2014, 17:36) Как н... Feb 23 2014, 13:38          Tarbal Цитата(sasamy @ Feb 23 2014, 16:36) Как н... Feb 23 2014, 21:00 Petrovitch Прошу Вас по возможности вернуться к решению конкр... Feb 23 2014, 14:44 aaarrr Цитата(Petrovitch @ Feb 23 2014, 18:44) П... Feb 23 2014, 15:27 SAURIS GmbH Посмотрите на наше готовое железо - http://sauris.... Feb 23 2014, 19:14 Petrovitch Для SAURIS GmbH.
Платы интересные. Только вот в... Feb 24 2014, 08:18 SAURIS GmbH Цитата(Petrovitch @ Feb 24 2014, 12:18) П... Feb 24 2014, 08:35 Tarbal Цитата(Petrovitch @ Feb 24 2014, 11:18) К... Feb 25 2014, 03:14  SM Цитата(Tarbal @ Feb 25 2014, 07:14) Он пр... Feb 25 2014, 06:13   Tarbal Цитата(SM @ Feb 25 2014, 09:13) Не исполь... Feb 25 2014, 18:11 Petrovitch Давайте рассмотрим пример с платой BeagleBone. На... Feb 27 2014, 11:45 Tarbal Цитата(Petrovitch @ Feb 27 2014, 14:45) Д... Feb 27 2014, 13:15 Jury093 Цитата(Petrovitch @ Feb 27 2014, 15:45) В... Feb 27 2014, 13:16 AndrejM Цитата(Petrovitch @ Feb 27 2014, 14:45) Д... Feb 28 2014, 04:13  Petrovitch Цитата(AndrejM @ Feb 28 2014, 08:13) раз ... Feb 28 2014, 13:34 Dron_Gus Цитата(Tarbal @ Feb 27 2014, 17:30) Утили... Feb 27 2014, 13:36  Jury093 Цитата(Dron_Gus @ Feb 27 2014, 17:36) i2c... Feb 27 2014, 14:05  Tarbal Цитата(Dron_Gus @ Feb 27 2014, 16:36) Нас... Feb 28 2014, 13:14   Dron_Gus Цитата(Tarbal @ Feb 28 2014, 17:14) Я доп... Mar 1 2014, 17:02    Tarbal Цитата(Dron_Gus @ Mar 1 2014, 20:02) прои... Mar 1 2014, 21:32     Jury093 Цитата(Tarbal @ Mar 2 2014, 01:32) А имен... Mar 1 2014, 22:19  Tarbal Цитата(SM @ Feb 28 2014, 17:25) В загрузч... Feb 28 2014, 15:45 SM драйвер пишется и прикручивается при помощи кросс-... Feb 28 2014, 17:09 Tarbal Как без регистарции устройства иметь к нему доступ... Feb 28 2014, 17:21 Tarbal просто и без затей:
ls /sys/bus/i2c/devices/
0-000... Mar 2 2014, 15:59 Tarbal Сравниваем что проще и незатейливее
The program ... Mar 2 2014, 17:41 Dron_Gus Как можно сравнивать "что проще", если д... Mar 3 2014, 10:36 Tarbal Цитата(Dron_Gus @ Mar 3 2014, 14:36) Как ... Mar 5 2014, 14:49
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|