Несмотря на то, что Cortex-A7 использует архитектуру ARMv7-A, также верно, что Cortex-A7 реализует расширенные функции, которые реализованы не всеми процессорами ARMv7-A; более конкретно, Cortex-A7 реализует вариант ARMv7ve.
Как правило, указание -mcpu и -march в параметрах gcc является излишним, поскольку -mcpu (который указывает компилятору генерировать код, который будет выполняться на конкретном процессоре) подразумевает -march (который указывает компилятору генерировать код, который будет работать на определенной архитектуре или варианте). Если вам важно только то, что ваша программа должна работать на Cortex-A7, вы можете использовать -mcpu = cortex-a7; если ваша программа должна быть в состоянии работать на любом процессоре ARMv7-A, вы должны использовать -march = armv7-a (опционально добавив -tune = cortex-a7, если вы хотите, чтобы код был оптимизирован для Cortex-A7, при этом все еще имея возможность запустить на других процессорах).