|
Выбор процессора |
|
|
|
Jun 30 2012, 08:33
|
Группа: Участник
Сообщений: 13
Регистрация: 30-06-12
Пользователь №: 72 569

|
Кратко раскажу задачу. Есть библиотека С++ для 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 для параллельного интерфейса с камерой. Как можно будет рулить такой камерой? Т.е. запоминать кадр, делать фокусровку. Наверное должны быть какие-то либы для этого?
Сообщение отредактировал AlexMik1 - Jun 30 2012, 08:25
|
|
|
|
|
Jun 30 2012, 09:28
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(AlexMik1 @ Jun 30 2012, 10:33)  Кратко раскажу задачу. Есть библиотека С++ для Win, Linux, ... Библиотека распознает некую информацию (номера авто) с изображения, т.е. в каждом кадре видео потока ищет номер авто. Сама библиотека платформенно независимая. Сейчас хочется перенести ее на малое железо, и сделать какой-то kit. Как по моему ощущению, типичное приложение для смартфона: нынешние имеют гигагерцовые (+многоядерные) процессоры и дофига памяти, не говоря уже о камерах и пр. Все под Android, то есть Linux. P.S. Идея: сделать backdoor нераспознаваемости номера собственной машины, а за определенную сумму - и тех, кто запошляет  . P.P.S. Я понимаю, что зарабатывать надо, и если не ты, то кто-то другой возмется, но вся эта тема "big brother is watching you" настолько противна, что я из политических соображений не взялся бы... Мое личное мнение.
Сообщение отредактировал KnightIgor - Jun 30 2012, 09:29
|
|
|
|
|
Jun 30 2012, 13:28
|
Группа: Участник
Сообщений: 13
Регистрация: 30-06-12
Пользователь №: 72 569

|
Цитата(KnightIgor @ Jun 30 2012, 12:28)  Как по моему ощущению, типичное приложение для смартфона: нынешние имеют гигагерцовые (+многоядерные) процессоры и дофига памяти, не говоря уже о камерах и пр. Все под Android, то есть Linux. Да телефон, как-то  дорого да и камеры там не всегда подходящие и с интерфейсами может быть проблема Цитата(KnightIgor @ Jun 30 2012, 12:28)  P.S. Идея: сделать backdoor нераспознаваемости номера собственной машины, а за определенную сумму - и тех, кто запошляет  . P.P.S. Я понимаю, что зарабатывать надо, и если не ты, то кто-то другой возмется, но вся эта тема "big brother is watching you" настолько противна, что я из политических соображений не взялся бы... Мое личное мнение.  это не для ГАИ  (хотя почему нет, но к ним не подкатишь, там на откатах сидят, да и не люблю эту всю государственно закупочную грязь) тут совсем другие применения, для предприятий, возможно для пром. линий, для автоматических шлагбаумов ... либа позволяет распознавать не только номера авто  так что тут никаких "политических соображений"
|
|
|
|
|
Jun 30 2012, 18:38
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(AlexMik1 @ Jun 30 2012, 12:33)  Кратко раскажу задачу. Есть библиотека С++ для Win, Linux, ... Короче пока полная каша в голове, т.к. с железом давно не работал. Набросайте идей. думаю не будет рекламой если я предложу для начала проект платы с ARM с открытым исходным кодом - BeagleBoard, это для того чтобы быстро и просто освоиться с системой, стоит недорого относительно в дальнейшем разумеется можно выбрать Cortex-A8 любого другого производителя, будь то FreeScale iMX, Samsung и прочих, даже Atmel насколько я знаю собирается разродиться Cortex-A8, не знаю как сейчас еще есть недорогая платка отечественной разработки, рассылается по России SK-iMX53 - тоже Cortex-A8, но эти кажется в отпуске еще недели две будут  а что касается вопросов защиты - для таких процов как Ti OMAP3/4 применяется технология PoP, так что думаю будет довольно сложно считать логическим анализатором, если только не совсем злые хакеры попадутся    ... далее, а флэшку можно зашифровать и распаковывать ее содержимое своим самодельным загрузчиком разумеется загрузчик-прошивочка лочится от чтения во всех наверное процах что я слышал P.S. материалы по Linux - у меня в подписи - бесплатные слайды под свободной лицензией, я по ним учился
--------------------
|
|
|
|
|
Jul 1 2012, 07:39
|
Группа: Участник
Сообщений: 13
Регистрация: 30-06-12
Пользователь №: 72 569

|
т.е. если я правильно понял, то у проца есть небольшая область флэш памяти, в которой сидит загрузчик, который запускается сразу после старта и считывает программу из флэша в ОЗУ? затем исполняет прогу из ОЗУ Этот загрузчик лочится самим производителем процев злые хакеры вешают на ОЗУ какого-то паука и дампят саму прогу? Т.е. при размещении проги в отдельной флэш памяти получить нормальную защиту кода невозможно? А как дела обстоят если флэш встроена в микроконтроллер? Надцать лет назад работал с МК philips, типа 8051 там с защитой было все просто.
Так никто и не сказал есть ли МК, которые могут подойти под мои задачи?
|
|
|
|
|
Jul 1 2012, 08:05
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(AlexMik1 @ Jul 1 2012, 11:39)  Т.е. при размещении проги в отдельной флэш памяти получить нормальную защиту кода невозможно? Можно, если код зашифрован и не копируется во внешнее ОЗУ. Но при этом поддержка шифрования должна быть у первичного загрузчика, а её обычно или нет совсем, или же она сильно засекречена. Вообще, стоит ли так переживать из-за защиты? Максимум, что Вы можете сделать - усложнить путь клонирования изделия, но пресечь его совершенно все равно не получится. Цитата(AlexMik1 @ Jul 1 2012, 11:39)  А как дела обстоят если флэш встроена в микроконтроллер? Надцать лет назад работал с МК philips, типа 8051 там с защитой было все просто. В этом случае все более-менее в порядке. Правда, серьезных процессоров со встроенной флеш нет. В голову приходит разве что SAM9XE, но они по нынешним временам слабоваты - 200MHz ARM926.
|
|
|
|
|
Jul 1 2012, 08:24
|
Группа: Участник
Сообщений: 13
Регистрация: 30-06-12
Пользователь №: 72 569

|
Цитата(aaarrr @ Jul 1 2012, 11:05)  Можно, если код зашифрован и не копируется во внешнее ОЗУ. Но при этом поддержка шифрования должна быть у первичного загрузчика, а её обычно или нет совсем, или же она сильно засекречена. ну т.е. реально невозможно Цитата(aaarrr @ Jul 1 2012, 11:05)  Вообще, стоит ли так переживать из-за защиты? Максимум, что Вы можете сделать - усложнить путь клонирования изделия, но пресечь его совершенно все равно не получится. приходится, это многолетний труд, не хочется вот так просто отдавать его китайцам Цитата(aaarrr @ Jul 1 2012, 11:05)  В этом случае все более-менее в порядке. Правда, серьезных процессоров со встроенной флеш нет. В голову приходит разве что SAM9XE, но они по нынешним временам слабоваты - 200MHz ARM926. понял, печально, т.е. пока МК точно не подходит т.е. сейчас выбор только один - делать все под linux?
|
|
|
|
|
Jul 1 2012, 10:52
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(aaarrr @ Jul 1 2012, 00:32)  Если уж прямо-таки во всех, то один пример можно озвучить для процессора класса Cortex-A8? Обычно такие функции как минимум не доступны для простых смертных. Скажу честно... я в глубоком шоке. Признаю свою ошибку, заблуждался. Залез сейчас посмотреть мануал на OMAP4430 (его использую в виде PandaBoard), и на SAM9G45 и с величайшим удивлением обнаружил полное отсутствие какого-либо упоминания как залочить встроенную флэш! Вероятно она есть в обоих процах, ведь оба умеют грузиться с SD-флэшки и понимают разделы и ФС FAT32 (по крайней мере на том железе что есть у меня так, как PandaBoard так и SAM9G45), по всей видимости есть некая прошивка во встроенной флэшке. И ее кажется модифицировать низзя - или можно? Что качается защиты, то я думаю что китайцы могут получить бинарники, работающие бинарники, как-то скопировать железо, но они не получат исходный код и не смогут развивать эту разработку - скопировать запросто, а развивать и совершенствовать никак, что немаловажно. Присоединяюсь к поиску решения по защите прошивки на OMAP4 и AT91SAM9, хотя если не получится защитить то я не буду сильно переживать. Цитата А как дела обстоят если флэш встроена в микроконтроллер? Надцать лет назад работал с МК philips, типа 8051 там с защитой было все просто. Вот я тоже по опыту работы с 8-битниками и некоторыми простыми 32-битниками, всегда помнил что залочить чтение прошивки там легко и просто. Думал в старших процах это и подавно есть, а оказалось строго наоборот. А ведь можно было бы выделить часть встроенной флэши для небольшого пользовательского загрузчика, наряду с штатной загрузкой с USB/SD/FAT32...
--------------------
|
|
|
|
|
Jul 1 2012, 11:55
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(AVR @ Jul 1 2012, 14:52)  И ее кажется модифицировать низзя - или можно? Обычно там масочная ROM, бывают блоки OTP. В общем случае никакого пользовательского кода не предполагается, если только пользователь не является лепшим корешем производителя. Цитата(AVR @ Jul 1 2012, 14:52)  Думал в старших процах это и подавно есть, а оказалось строго наоборот. Когда память висит снаружи, защититься значительно труднее. Да и какой смысл защищать, например, планшетник на Андроиде?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|