greenie 0 4 июля, 2012 Опубликовано 4 июля, 2012 · Жалоба Уважаемые форумчане, долго не могу разобраться в вопросе. Периодический поиск на просторах инета и форумах результата не дает, вот даже зарегистрировался, чтобы создать тему. Исходные данные. Нужно обрабатывать изображения падающего предмета раз 20 в сек. Т.е. за 50мс нужно получить изображение с фотокамеры, провести все алгоритмы обработки и приступить к следующему кадру. Есть опыт работы с АВР и АРМ с встроенной памятью. Думаю, что можно использовать ARM Cortex-A8 к примеру. Частота 1ГГц должно хватить. Линукс или другие ОС нежелательны, потому что во-первых, их нужно осваивать, во-вторых, нужна реакция на результат обработки изображения (вовремя включить исполнительный механизм, чтобы в полете поймать предмет). Вопрос, который меня мучает, собственно вот в чем. Могу ли я программировать этот ARM Cortex-A8 как обычный МК (вот например, сейчас на работе я использую STM32F103, раньше были атмеги и иксмеги)? Плату можно купить любую отладочную с этим или похожим АРМом, мне важна частота и объем оперативки. ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 4 июля, 2012 Опубликовано 4 июля, 2012 · Жалоба Могу ли я программировать этот ARM Cortex-A8 как обычный МК (вот например, сейчас на работе я использую STM32F103, раньше были атмеги и иксмеги)? Плату можно купить любую отладочную с этим или похожим АРМом, мне важна частота и объем оперативки. ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК? Да, можете. Если не нужен Linux, можете пойти двумя путями. Первый - писать всю инициализацию с нуля, но это сложно и долго. Второй - не грузить Linux, а грузить только U-Boot, который сам сделает за вас всю необходимую инициализацию. И свои программы запускать из-под U-Boot'а, предварительно скомпилировав их тем же CodeSourcery и загрузив в ОЗУ платы по TFTP (последнее можно сделать из командной строки U-Boot'а). отладочная плата от Freescale на i.MX53 (Cortex-A8) стоит $149. Вот ее и можно приобрести. U-Boot и Linux там уже предустановлены: http://www.freescale.com/webapp/sps/site/t...X53_FAMILY#nogo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 4 июля, 2012 Опубликовано 4 июля, 2012 · Жалоба ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК? Не вижу чтобы Keil имел сейчас компилятор для A8. Надо либо переходить на IAR либо прикручивать к uVision компилятор ARM RVCT. У IAR есть очень простые примеры инициализации A8. А чтобы внешнюю флеш программировать и в IAR и в Keil есть шаблоны для разработки модулей программирования подгружаемых в RAM микроконтроллера по JTAG. Чтобы потом инициализировать остальную периферию советую обратиться к примерам для чипов того же производителя, но на ARM9 Если это Freescale, то смотреть примеры для i.MX27 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sharikov 0 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Нужно обрабатывать изображения падающего предмета раз 20 в сек. Т.е. за 50мс нужно получить изображение с фотокамеры, провести все алгоритмы обработки и приступить к следующему кадру. Есть опыт работы с АВР и АРМ с встроенной памятью. Думаю, что можно использовать ARM Cortex-A8 к примеру. Частота 1ГГц должно хватить. Линукс или другие ОС нежелательны, потому что во-первых, их нужно осваивать, ... ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК? Вы пытаетесь идти по неправильному пути. Для камней класса Cortex-A8 работать без linux/winCE можно, но глупо. Камни зело тяжелы. На программировании аппаратных блоков видеопрецессинга ввода с камеры вы закопаетесь. В операционках программированием аппратных интерфейсов занимался вендор при создании bsp, реалистичный путь - использовать то что дает производитель. Без посторонней нагрузки под линуксом время реакции будет зависеть только от вашего алгоритма. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyDDD 0 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Вы пытаетесь идти по неправильному пути. Для камней класса Cortex-A8 работать без linux/winCE можно, но глупо. Камни зело тяжелы. На программировании аппаратных блоков видеопрецессинга ввода с камеры вы закопаетесь. В операционках программированием аппратных интерфейсов занимался вендор при создании bsp, реалистичный путь - использовать то что дает производитель. Глупости. Все зависит от того, какая периферия нужна, так как с ней больше всего работы. А по объему работы Cortex-A8 это или Cortex-M3 разница не особо большая. Kovigor посоветовал отладочную плату Freescale MCIMX53-START-R за $149 (реальная цена будет несколько больше). Действительно очень хороший вариант, правда есть два но... - Пересмотрите схему платы и документацию процессора, так как интерфейс CMOS сенсора выведен не полностью на плате. - На плате используется не очень доставаемый низкопрофильный разъем для вывода периферии. Для решения проблемы я вынужден был докупить плату HDMI с ответником этого разъема. У Freescale довольно неплохая поддержка своей продукции. Для быстрого запуска документации достаточно. Я бы наверное сначала посоветовал бы ознакомится с Linux SDK этой платы и запуститься под Линуксом. Думаю с этим вариантом сэкономите массу времени. А потом будет виднее - нужна ОС или нет. И еще... К этому процессору существует библиотека "On-Board Diagnostics Suite (OBDS) for the Freescale i.MX53 SBRTH LCB platform" с исходниками периферии. * Debug UART (used for communication with the host PC), transmit and receive test * DDR test * Audio out only test * IPU TFT (Chunwa WVGA), LVDS and VGA display test * I2C peripheral connectivity test * MMC/SD test for SD Slot 2, where SD Slot 1 implicitly tested as OBDS boots from SD * LED test – test for the on board GPIO controlled LED * Ethernet FEC loopback test (requires loopback cable) * USBH1 Device enumeration test (requires USB device, like USB-mouse connected to top USB port of J2) * SRTC test * SATA test * DA9053 PMIC device ID check test * HDMI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Вы пытаетесь идти по неправильному пути. Для камней класса Cortex-A8 работать без linux/winCE можно, но глупо. Камни зело тяжелы. На программировании аппаратных блоков видеопрецессинга ввода с камеры вы закопаетесь. В операционках программированием аппратных интерфейсов занимался вендор при создании bsp, реалистичный путь - использовать то что дает производитель. Без посторонней нагрузки под линуксом время реакции будет зависеть только от вашего алгоритма. Забавная логика. Все знают, что нормальный, безглючный и полнофункциональный BSP под линукс стоит диких денег особенно если под заказную платформу. В данном случае речь видимо идет о оригинальной камере. Но даже получив BSP придется платить дальше поскольку драйверы для графических ускорителей будут в бинарном виде и самим их поддерживать никак не возможно будет. Уже не говорю о цене инструментов, того же JTAG который мог бы отлаживать под линуксом. Еще три года назад Segger портировал свою RTOS на Cortex-A8, раньше чем чипы вообще на доступном рынке появились. Т.е. для серьезных, корпоративных клиентов. А embOS от Segger-а это по сути работа с голым железом без всяких MMU и прочих виртуализаций. Уже не говорю о том что такие серьезные конторы как Mentor Graphics вообще свою RTOS портируют на все новые чипы с Cortex-A8. А Nucleus OS от Mentor Graphics это в сущности тот-же старый добрый uc/OS-II работающий напрямик с железом без виртуализаций. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
greenie 0 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Может, использовать линукс правильнее с данным процессором. Просто я имел дело только с МК, из армов это только stm32f100 и stm32f103. А в этой работе (кстати, это аспирантура в свободное от работы время, а в универах с закупом нужного оборудования у нас дело плохо обстоит, поэтому надо по-минимуму за свой счет и нельзя ошибиться в выборе компонентов)))) мне от проца нужно только управлять ногами, ну и пару уартов иметь - двухстрочный дисплейчик подключить и с компом по компорту общаться. Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
greenie 0 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Кстати, от KEIL придется отказаться, наверное, там бесплатно только до 32КБ, IAR тоже по причине платности не подходит. Сейчас ищу инфу что такое CodeSourcery и с чем его едят) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sharikov 0 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Может, использовать линукс правильнее с данным процессором. Просто я имел дело только с МК, из армов это только stm32f100 и stm32f103. ... поэтому надо по-минимуму за свой счет и нельзя ошибиться в выборе компонентов)))) мне от проца нужно только управлять ногами, ну и пару уартов иметь - двухстрочный дисплейчик подключить и с компом по компорту общаться. Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового. у как все запущено... Ногодрыгом получать изображение скамеры... Наверно вы думаете что гигагерцовый кортекс и ногами машет на гигагерце... Увы, это далеко не так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба Сейчас ищу инфу что такое CodeSourcery и с чем его едят) Компилятор такой. Для i.MX53 качайте виртуальную машину (Ubuntu) с сайта FreeScale, ставьте в ней CodeSourcery, собирайте библиотеку NewLib и пробуйте писать простейшие программки: Ubuntu: http://www.freescale.com/webapp/sps/site/p...esign_Tools_Tab Выберите: "Board Support Packages" CodeSourcery: https://sourcery.mentor.com/GNUToolchain/su...757fcaeae081292 Выберите: "Download Sourcery CodeBench Lite 2012.03-56" Вот статья, по которой я разбирался с newlib: https://balau82.wordpress.com/2010/12/16/us...metal-programs/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 5 июля, 2012 Опубликовано 5 июля, 2012 · Жалоба greenie, посмотрите ARM DS-5, там есть все необходимое и для bare-metal и если есть beagleboard (а освоение Cortex-A8 IMHO проще всего начать с нее или beaglebon), то там все есть для быстрого старта т.е. за 5 мин можно Hello World! написать и отладить через gdb server прямо на плате (образы angstrom тоже есть) еще есть среда от TI - Code Composer Studio, тоже сейчас на эклипсе, там все есть для быстрого старта с beaglebone, в отличии от DS-5 поддерживает, например XDS100 (просто FTDI) в качестве железного отладчика. Для beaglebon там есть много примеров инициализации и т.п. что бы без линукса работать! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dinam 1 6 июля, 2012 Опубликовано 6 июля, 2012 · Жалоба Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового.Насчет матрицы LUPA-300. Я попробовал штук 6 разных матриц разных производителей. Так вот эта оказалась самой паршивой по качеству изображения, может и я что-то где-то накосячил, но с другими такого не было. Плюс был аппаратный глюк в самой матрице, да и её производитель поменялся. Так что с поддержкой, будет наверное совсем плохо. Рекомендую попробовать MT9V034. Дешевая, легко покупаемая, беспроблемная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyDDD 0 6 июля, 2012 Опубликовано 6 июля, 2012 · Жалоба Кстати, от KEIL придется отказаться, наверное, там бесплатно только до 32КБ, IAR тоже по причине платности не подходит. Сейчас ищу инфу что такое CodeSourcery и с чем его едят) Читайте доки Фрискейла. Там все вполне доступно разжевано На семинаре по iMX53 работали под виндой в Eclipse (Win32), а компилятор был на виртульной машине, работающей под Linux Ubuntu. С такой связкой примеры собирались как для Linux так и для Android. Теоретически можно воспользоваться компилятором и тулчейном Yagarto Win32 (Known ARM CPUs (for use with the -mcpu= and -mtune= options): ... cortex-a9, cortex-a8, cortex-a5, ...) + Eclipse. Если iMX53 без ОС, то и jLink для отладки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 6 июля, 2012 Опубликовано 6 июля, 2012 · Жалоба Мне кажется или описанную задачу можно с наименьшим геммороем решить на ПК? По-моему, вполне реально обрабатывать видеопоток с указанной скоростью и сервоприводом пошевелить с заданной реакцией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 11 6 июля, 2012 Опубликовано 6 июля, 2012 (изменено) · Жалоба И еще... К этому процессору существует библиотека "On-Board Diagnostics Suite (OBDS) for the Freescale i.MX53 SBRTH LCB platform" с исходниками периферии. Используя эти примеры максимум что вы сделаете- аналог u-boot, который ни по скорости ни по функционалу рядом не лежит с Linux. Как вы собираетесь использовать 2D,3D графические процессоры, видеопроцессор ? к примеру контроллер dma (sdma - smart dma) это отдельный 16 битный risc-процессор для которого фирмвари пишут специально обученые люди :) с тем же видеозахватом и программированием IPU заплюхаетесь разбираться. Изменено 6 июля, 2012 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться