Лучший подход зависит от того, что Вы хотите сделать:
Я создал приложения для терминалов Verifone, Hypercom и Trintech. Verifones, безусловно, самые простые в разработке. У них есть простые файловые системы flash и RAM, приложения загружаются и запускаются как файлы, ОС (Verix) - это POSIX, как с хорошими библиотеками C / C ++ и т. Д. Единственным недостатком является стоимость инструмента, VerixV использует ARM SDT (5 000 евро на рабочее место) и более старые терминалы Verix (на базе Coldfire) используют компилятор SDS. Комплект разработчика поставляется с ключами по умолчанию для подписи ваших приложений (не в большинстве случаев, но вы можете защитить паролем доступ к загрузке на терминале). Я написал множество приложений для этих терминалов, а не только приложение для оплаты. Контроллер нескольких приложений Verifone (VMAC) - это дерьмо, но очень легко запустить несколько приложений самостоятельно, используя каналы для обмена данными между приложениями (хотя ваши приложения не будут работать на сторонних терминалах, которые используют VMAC). Мы использовали подключение к сети Ethernet для FTP для управления загрузкой приложений и конфигурации, а также для пакетной обработки транзакций. Также использовал WIFI на последних терминалах для тех же самых (также использовал терминалы 3G, но я не делал на них никакого кода). Verifone похож на ПК с точки зрения разработки кода, и мы разделили много кода библиотеки / приложения между WIN32 / Verix / VerixV и Linux. Терминалы Verifone хорошо спроектированы и могут выдерживать множество злоупотреблений, но в наши дни большинство серьезных производителей терминалов делают свою работу хорошо.