Не думаю, что компилятор так важен. Что более важно, так это ваше точное понимание используемой вами библиотеки или фактического устройства, которое вы вызываете.
Однако я буду рекомендовать GCC и рекомендую использовать самую последнюю версию GCC. Например, GCC 4.6.2 появляется в эти дни, и в последнее время в GCC была проделана большая работа по улучшению его производительности для процессоров ARM. Поэтому, если это возможно, мы используем GCC 4.6, а не 4.3 (некоторые производители оборудования не предоставляют GCC в последнее время с их комплектом разработки ARM; в этом случае вам следует рассмотреть возможность создания GCC (и, возможно, binutils) из их исходного кода.
Я ничего не знаю о самом GPS.