Нет реальной пользы в том, чтобы поместить Linux в ARM7 IMO; ARM7 не имеет MMU, а защита памяти является основной причиной использования ОС, такой как Linux. uClinux будет работать на мишенях без MMU, но вы потеряли одну из наиболее веских причин для использования Linux и по-прежнему нуждаетесь в огромных ресурсах памяти (4M флэш-памяти, 16M RAM - разумный минимум).
Многие устройства ARM7 не имеют шин внешней памяти для подключения такого большого объема памяти, а объем встроенной флэш-памяти и ОЗУ обычно составляет от 32 КБ до 1 МБ, в зависимости от устройства.
Linux по сути не "в реальном времени". Для обеспечения возможности реального времени он часто сочетается с ядром реального времени, где Linux по существу работает в режиме ожидания, или с целями, имеющими возможность в качестве отдельной виртуальной машины. Поэтому, если требуется детерминированный и быстрый ответ на внешние события, вам потребуется ОСРВ, например, eCOS.
eCOS хорош тем, что обладает обширной экосистемой дополнительных функций и поддержкой устройств, которые конкурируют с большинством коммерческих предложений. Однако что-то вроде FreeRTOS, скорее всего, будет легче «вызвать», но обеспечит не более чем планировщик потоков и механизмы межпроцессного взаимодействия. Такие вещи, как файловая система или TCP / IP, должны быть получены от сторонних производителей (хотя для этого также существуют небольшие и бесплатные решения, подходящие для встраиваемых систем).
Если вы используете простое ядро, такое как FreeRTOS или uC / OS-III, вы не будете тратить слишком много времени, поэтому инвестиции не станут препятствием для использования чего-то другого в следующий раз. С другой стороны, Linux вполне может отговорить вас от использования чего-то меньшего и более узконаправленного в следующий раз, и последующие проекты могут стоить значительно дороже, чем просто для поддержки выбранной вами ОС.