EKoshelev
Nov 22 2012, 12:06
Разбираюсь с платой i.MX53. Передо мной поставлено парт. задание принять с камеры, подключенной к CSI, кадр и записать его в память. Решительно не врубаюсь как это сделать.
У меня есть стандартный набор документации:
- IMX53AEC.pdf
- IMX53ATFS.pdf
- IMX53CEC.pdf
- IMX53IEC.pdf
- IMX53QKSTRTFS.pdf
- IMX53QSBRM.pdf
- iMX53RM.pdf
- IMX53RQKSTRTFS.pdf
- IMX53SBRAUTFS.pdf
- IMX53SMDHUG.pdf
- MX53UG.pdf
И ещё вот такое
- i.mx51_linux_vpu_api.pdf (здесь ничего умного для себя пока не нашел)
По-ангийски читаю очень медленно. Поштудировал UG, 20-ю главу (Supporting the i.MX53 Camera Sensor Interface CSI0).
Потом подсказали почитать RM, главу 45 (Image Processing Unit (IPU)). Оттуда узнал, что CSI - это часть IPU, и что надо каким-то образом это IPU сконфигурировать, чтобы данные с CSI шли на AXI (шину данных), т. е. вроде как данные с CSI (через какие-то блоки) должны записываться в оперативку i.MX53.
До этого всю дорогу занимался высокоуровнемым программированием, и, видимо, это обстоятельство стопорит всё дело. Может кто-нибудь подскажет считывал ли он данные с CSI, как это делать, или, на край, что можно почитать на эту тему? Может что-то полезное (вряд ли, конечно) есть на русском языке. Может как-то можно надыбать какие-то примеры (на freescale.com найти ничего не удалось, может опять-таки не умею).
Короче, верю, надеюсь, жду. Заранее спасибо.
Цитата(EKoshelev @ Nov 22 2012, 16:06)

Разбираюсь с платой i.MX53. Передо мной поставлено парт. задание принять с камеры, подключенной к CSI, кадр и записать его в память. Решительно не врубаюсь как это сделать.
Вы что, пытаетесь организовать закат солнца вручную ??? Бросте эту затею срочно - погибнете. Разве что вы работаете непосредственно в freescale и вам дано задание допилить дрова.
Цитата
До этого всю дорогу занимался высокоуровнемым программированием,
Вот и работайте с V4L2 или что там вместо него в WinCE.
SergeyDDD
Nov 22 2012, 19:27
Если пытаетесь CSI запустить без оси, тогда на странице
i.MX535: i.MX535 Multimedia Applications Processor скачайте IMX53_QSB_OBDS. Там должны быть исходники и на CSI и на какой то сенсор.
Если не секрет - с какой платой работаете, чем компилите и отлаживаетесь?
EKoshelev
Nov 23 2012, 05:49
SergeyDDD, Ось стоит, Ubuntu 10.04. До сих пор написал только Hellow-World, компилировал g++'ом, отлаживать не приходилось (т. к. тупо не знаю что (и как) ещё писать). Плата i.MX53, проц на плате MC IMX535 DVV1C.
_3m, оставь телефон диллера.
SergeyDDD
Nov 23 2012, 06:43
Цитата(EKoshelev @ Nov 23 2012, 08:49)

SergeyDDD, Ось стоит, Ubuntu 10.04. До сих пор написал только Hellow-World, компилировал g++'ом, отлаживать не приходилось (т. к. тупо не знаю что (и как) ещё писать). Плата i.MX53, проц на плате MC IMX535 DVV1C.
Тогда действительно в LTIB соберите образ линукса для i.MX53 и пользуйтесь SDK для запуска CSI
Это будет и быстрее и проще
EKoshelev
Nov 26 2012, 10:05
Ну собственно и вопрос весь в том какими именно манипуляциями с CSI можно что-то считать.
На данный момент понял только то, что CSI входит в состав другой сущность (модуля там или я фиг знает) название которой IPU. Кроме прочего это IPU соединено с шиной данных (которая связана с памятью) посредством контроллера IDMAC (входящего в состав всё той же IPU). CSI и IDMAC внутри IPU связаны. Но не непосредственно, а через некоторые узлы. Вот.
Можно предположить, что если сконфигурировать IPU (или, что одно и тоже, узлы внутри IPU), то это IPU при приёме на CSI каких-либо данных будет писать их прямо в память платы i.MX53. А может быть механизм несколько иной.
Короче, когда я создавал топик и спрашивал "как это сделать" я имел в виду как раз то, какими конкретно API-функциями платы нужно воспользоваться, чтобы осуществить чтение. Ну это в идеале. На край можно предложить название документа, в котором об этом можно прочитать.
SergeyDDD
Nov 26 2012, 12:20
Цитата(EKoshelev @ Nov 26 2012, 13:05)

Ну собственно и вопрос весь в том какими именно манипуляциями с CSI можно что-то считать...
Я ведь дал ссылку на IMX53_QSB_OBDS. Там весь исходный код для запуска периферии iMX53 ручками.
Для запуска CSI под линуксом скачайте документы L2.6.35_11.09.01_ER_docs.tar.gz для iMX53.
Из этого архива воспользуйтесь документом mx53_linux.pdf.
Найдите главу Chapter 11 Image Processing Unit (IPU) Drivers
Там найдете описание драйвера и ссылки на исходники в BSP
Думаю что этого более чем достаточно