Кратко раскажу задачу. Есть библиотека С++ для Win, Linux, ...
Библиотека распознает некую информацию (номера авто) с изображения, т.е. в каждом кадре видео потока ищет номер авто. Сама библиотека платформенно независимая.
Сейчас хочется перенести ее на малое железо, и сделать какой-то kit.
На вход библиотеки надо подать картинку в серых тонах (1 пиксел - 1 байт) строка за строкой. Только что собрал ".a" файл в IAR под Cortex-M3. Сделал output файл, получилось ~300 Kb, т.е. с запасом нужно 500Kb (а может и больше) под саму программу.
Еще нужно много ОЗУ
- для хранения изображения, зависит от разрешения, если 640x480, то ~300 Кб
- стек, не знаю сколько, но вроде бы немного
- куча, иногда прилично, думаю до 32Кб, точно не знаю сколько, в коде активно используется опреатор new в самописном классе вектора и т.п.
Желательно проц. с частотой от 400 Мгц, чем выше тем лучше, тестировал либу на телефоне (андроид) с 640 МГц, 320х240 кадр, в принципе шустро, но при больших кадрах время обработки может сильно возрастать.
Нужно, чтобы прогу нельзя было прочитать с чипа. Нужна какая-то связь с внешним миром, еще не знаю что точно, может RS232, Ethernet и т.д.
Я так понимаю, что ни один МК не подходит под эти задачи, я не нашел МК с ОЗУ более 192 Кб и с частотой CPU плоховато.
Может брать что-то более взрослое на ARM8, ARM9 c отдельным ОЗУ флэшем и Линуксом. Тогда возникает вопрос защиты.
Хочется конечно все уместить в один чип, но наверное не получится?
Короче пока полная каша в голове, т.к. с железом давно не работал. Набросайте идей.
Да забыл, нужно подключение к МК видео камеры. Видел что в некоторых МК есть какие то входы CamD0...CamD12 для параллельного интерфейса с камерой. Как можно будет рулить такой камерой? Т.е. запоминать кадр, делать фокусровку. Наверное должны быть какие-то либы для этого?