|
|
  |
Скоростной АРМ - использование в качестве МК |
|
|
|
Jul 4 2012, 13:37
|
Группа: Участник
Сообщений: 12
Регистрация: 4-07-12
Из: Barnaul
Пользователь №: 72 628

|
Уважаемые форумчане, долго не могу разобраться в вопросе. Периодический поиск на просторах инета и форумах результата не дает, вот даже зарегистрировался, чтобы создать тему. Исходные данные. Нужно обрабатывать изображения падающего предмета раз 20 в сек. Т.е. за 50мс нужно получить изображение с фотокамеры, провести все алгоритмы обработки и приступить к следующему кадру. Есть опыт работы с АВР и АРМ с встроенной памятью. Думаю, что можно использовать ARM Cortex-A8 к примеру. Частота 1ГГц должно хватить. Линукс или другие ОС нежелательны, потому что во-первых, их нужно осваивать, во-вторых, нужна реакция на результат обработки изображения (вовремя включить исполнительный механизм, чтобы в полете поймать предмет). Вопрос, который меня мучает, собственно вот в чем. Могу ли я программировать этот ARM Cortex-A8 как обычный МК (вот например, сейчас на работе я использую STM32F103, раньше были атмеги и иксмеги)? Плату можно купить любую отладочную с этим или похожим АРМом, мне важна частота и объем оперативки. ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК?
|
|
|
|
|
Jul 4 2012, 13:50
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(greenie @ Jul 4 2012, 16:37)  Могу ли я программировать этот 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
|
|
|
|
|
Jul 4 2012, 14:37
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(greenie @ Jul 4 2012, 16:37)  ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК? Не вижу чтобы Keil имел сейчас компилятор для A8. Надо либо переходить на IAR либо прикручивать к uVision компилятор ARM RVCT. У IAR есть очень простые примеры инициализации A8. А чтобы внешнюю флеш программировать и в IAR и в Keil есть шаблоны для разработки модулей программирования подгружаемых в RAM микроконтроллера по JTAG. Чтобы потом инициализировать остальную периферию советую обратиться к примерам для чипов того же производителя, но на ARM9 Если это Freescale, то смотреть примеры для i.MX27
|
|
|
|
|
Jul 5 2012, 03:47
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 27-02-11
Пользователь №: 63 268

|
Цитата(greenie @ Jul 4 2012, 17:37)  Нужно обрабатывать изображения падающего предмета раз 20 в сек. Т.е. за 50мс нужно получить изображение с фотокамеры, провести все алгоритмы обработки и приступить к следующему кадру. Есть опыт работы с АВР и АРМ с встроенной памятью. Думаю, что можно использовать ARM Cortex-A8 к примеру. Частота 1ГГц должно хватить. Линукс или другие ОС нежелательны, потому что во-первых, их нужно осваивать, ... ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК? Вы пытаетесь идти по неправильному пути. Для камней класса Cortex-A8 работать без linux/winCE можно, но глупо. Камни зело тяжелы. На программировании аппаратных блоков видеопрецессинга ввода с камеры вы закопаетесь. В операционках программированием аппратных интерфейсов занимался вендор при создании bsp, реалистичный путь - использовать то что дает производитель. Без посторонней нагрузки под линуксом время реакции будет зависеть только от вашего алгоритма.
|
|
|
|
|
Jul 5 2012, 05:40
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Цитата(sharikov @ Jul 5 2012, 06:47)  Вы пытаетесь идти по неправильному пути. Для камней класса 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
|
|
|
|
|
Jul 5 2012, 06:15
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(sharikov @ Jul 5 2012, 06:47)  Вы пытаетесь идти по неправильному пути. Для камней класса 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 работающий напрямик с железом без виртуализаций.
|
|
|
|
|
Jul 5 2012, 11:58
|
Группа: Участник
Сообщений: 12
Регистрация: 4-07-12
Из: Barnaul
Пользователь №: 72 628

|
Может, использовать линукс правильнее с данным процессором. Просто я имел дело только с МК, из армов это только stm32f100 и stm32f103. А в этой работе (кстати, это аспирантура в свободное от работы время, а в универах с закупом нужного оборудования у нас дело плохо обстоит, поэтому надо по-минимуму за свой счет и нельзя ошибиться в выборе компонентов)))) мне от проца нужно только управлять ногами, ну и пару уартов иметь - двухстрочный дисплейчик подключить и с компом по компорту общаться. Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового.
|
|
|
|
|
Jul 5 2012, 12:58
|
Группа: Участник
Сообщений: 12
Регистрация: 4-07-12
Из: Barnaul
Пользователь №: 72 628

|
Кстати, от KEIL придется отказаться, наверное, там бесплатно только до 32КБ, IAR тоже по причине платности не подходит. Сейчас ищу инфу что такое CodeSourcery и с чем его едят)
|
|
|
|
|
Jul 5 2012, 19:32
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 27-02-11
Пользователь №: 63 268

|
Цитата(greenie @ Jul 5 2012, 15:58)  Может, использовать линукс правильнее с данным процессором. Просто я имел дело только с МК, из армов это только stm32f100 и stm32f103. ... поэтому надо по-минимуму за свой счет и нельзя ошибиться в выборе компонентов)))) мне от проца нужно только управлять ногами, ну и пару уартов иметь - двухстрочный дисплейчик подключить и с компом по компорту общаться. Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового. у как все запущено... Ногодрыгом получать изображение скамеры... Наверно вы думаете что гигагерцовый кортекс и ногами машет на гигагерце... Увы, это далеко не так.
|
|
|
|
|
Jul 6 2012, 01:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 415
Регистрация: 10-06-05
Из: Наукоград Кольцово(Новосибирск)
Пользователь №: 5 898

|
Цитата(greenie @ Jul 5 2012, 18:58)  Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового. Насчет матрицы LUPA-300. Я попробовал штук 6 разных матриц разных производителей. Так вот эта оказалась самой паршивой по качеству изображения, может и я что-то где-то накосячил, но с другими такого не было. Плюс был аппаратный глюк в самой матрице, да и её производитель поменялся. Так что с поддержкой, будет наверное совсем плохо. Рекомендую попробовать MT9V034. Дешевая, легко покупаемая, беспроблемная.
|
|
|
|
|
Jul 6 2012, 06:06
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Цитата(greenie @ Jul 5 2012, 15:58)  Кстати, от 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 для отладки
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|