реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Скоростной АРМ - использование в качестве МК
greenie
сообщение Jul 4 2012, 13:37
Сообщение #1





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



Уважаемые форумчане, долго не могу разобраться в вопросе. Периодический поиск на просторах инета и форумах результата не дает, вот даже зарегистрировался, чтобы создать тему.
Исходные данные. Нужно обрабатывать изображения падающего предмета раз 20 в сек. Т.е. за 50мс нужно получить изображение с фотокамеры, провести все алгоритмы обработки и приступить к следующему кадру. Есть опыт работы с АВР и АРМ с встроенной памятью.
Думаю, что можно использовать ARM Cortex-A8 к примеру. Частота 1ГГц должно хватить. Линукс или другие ОС нежелательны, потому что во-первых, их нужно осваивать, во-вторых, нужна реакция на результат обработки изображения (вовремя включить исполнительный механизм, чтобы в полете поймать предмет). Вопрос, который меня мучает, собственно вот в чем. Могу ли я программировать этот ARM Cortex-A8 как обычный МК (вот например, сейчас на работе я использую STM32F103, раньше были атмеги и иксмеги)? Плату можно купить любую отладочную с этим или похожим АРМом, мне важна частота и объем оперативки.
ПРосто не пойму, как программировать контроллеры с внешней флэш. Вот например сейчас все просто - написал в Keil'е программу, скомпилировал, залил ее ST-Link'ом. А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 4 2012, 13:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 4 2012, 14:37
Сообщение #3


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
Go to the top of the page
 
+Quote Post
sharikov
сообщение Jul 5 2012, 03:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 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, реалистичный путь - использовать то что дает производитель.
Без посторонней нагрузки под линуксом время реакции будет зависеть только от вашего алгоритма.
Go to the top of the page
 
+Quote Post
SergeyDDD
сообщение Jul 5 2012, 05:40
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 5 2012, 06:15
Сообщение #6


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 работающий напрямик с железом без виртуализаций.
Go to the top of the page
 
+Quote Post
greenie
сообщение Jul 5 2012, 11:58
Сообщение #7





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



Может, использовать линукс правильнее с данным процессором. Просто я имел дело только с МК, из армов это только stm32f100 и stm32f103. А в этой работе (кстати, это аспирантура в свободное от работы время, а в универах с закупом нужного оборудования у нас дело плохо обстоит, поэтому надо по-минимуму за свой счет и нельзя ошибиться в выборе компонентов)))) мне от проца нужно только управлять ногами, ну и пару уартов иметь - двухстрочный дисплейчик подключить и с компом по компорту общаться. Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового.
Go to the top of the page
 
+Quote Post
greenie
сообщение Jul 5 2012, 12:58
Сообщение #8





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



Кстати, от KEIL придется отказаться, наверное, там бесплатно только до 32КБ, IAR тоже по причине платности не подходит. Сейчас ищу инфу что такое CodeSourcery и с чем его едят)
Go to the top of the page
 
+Quote Post
sharikov
сообщение Jul 5 2012, 19:32
Сообщение #9


Участник
*

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



Цитата(greenie @ Jul 5 2012, 15:58) *
Может, использовать линукс правильнее с данным процессором. Просто я имел дело только с МК, из армов это только stm32f100 и stm32f103.
...
поэтому надо по-минимуму за свой счет и нельзя ошибиться в выборе компонентов)))) мне от проца нужно только управлять ногами, ну и пару уартов иметь - двухстрочный дисплейчик подключить и с компом по компорту общаться. Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового.

у как все запущено...
Ногодрыгом получать изображение скамеры...
Наверно вы думаете что гигагерцовый кортекс и ногами машет на гигагерце...
Увы, это далеко не так.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 5 2012, 20:14
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(greenie @ Jul 5 2012, 15:58) *
Сейчас ищу инфу что такое 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/
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 5 2012, 21:21
Сообщение #11


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



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 там есть много примеров инициализации и т.п. что бы без линукса работать!
Go to the top of the page
 
+Quote Post
dinam
сообщение Jul 6 2012, 01:51
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 415
Регистрация: 10-06-05
Из: Наукоград Кольцово(Новосибирск)
Пользователь №: 5 898



Цитата(greenie @ Jul 5 2012, 18:58) *
Камеру я тоже не выбрал, думаю что-то вроде матрицы LUPA-300. Если на плате порты ввода\вывода выведены, я ее как-нибудь прицеплю... Конечно, вся работа с камерой вручную - кадры считывать с ног, но я не нашел скоростную камеру с каким-нибудь интерфейсом, которым я могу к ней прицепиться и получать изображения так быстро (20 раз в секунду) и еще успевать все обработать до прихода нового.
Насчет матрицы LUPA-300. Я попробовал штук 6 разных матриц разных производителей. Так вот эта оказалась самой паршивой по качеству изображения, может и я что-то где-то накосячил, но с другими такого не было. Плюс был аппаратный глюк в самой матрице, да и её производитель поменялся. Так что с поддержкой, будет наверное совсем плохо.
Рекомендую попробовать MT9V034. Дешевая, легко покупаемая, беспроблемная.
Go to the top of the page
 
+Quote Post
SergeyDDD
сообщение Jul 6 2012, 06:06
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 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 для отладки
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jul 6 2012, 08:48
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Мне кажется или описанную задачу можно с наименьшим геммороем решить на ПК? По-моему, вполне реально обрабатывать видеопоток с указанной скоростью и сервоприводом пошевелить с заданной реакцией.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jul 6 2012, 09:09
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(SergeyDDD @ Jul 5 2012, 09:40) *
И еще...
К этому процессору существует библиотека "On-Board Diagnostics Suite (OBDS) for the Freescale i.MX53 SBRTH LCB platform" с исходниками периферии.


Используя эти примеры максимум что вы сделаете- аналог u-boot, который ни по скорости ни по функционалу рядом не лежит с Linux. Как вы собираетесь использовать 2D,3D графические процессоры, видеопроцессор ? к примеру контроллер dma (sdma - smart dma) это отдельный 16 битный risc-процессор для которого фирмвари пишут специально обученые люди sm.gif с тем же видеозахватом и программированием IPU заплюхаетесь разбираться.

Сообщение отредактировал sasamy - Jul 6 2012, 09:10
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01515 секунд с 7
ELECTRONIX ©2004-2016