Хехе, процесс изучения армов может затянуться и отложить сборку синта
на неопределенный срок :-)
Принципиальных отличий нет, и то и это микроконтроллеры. А в частностях - сколько угодно. Придется пару страниц написать и на ассемблере (стартап).
И забыть и 8-битных привычках - вроде повсеместного использования unsigned char.
Компилятор - любой доступный. Я пользую GCC по разным причинам
(в том числе и религиозным :-), шаблоны для настройки периферии
и генерации стартапа можешь поискать в uVision от Keil.
Sam7 от Lpc отличается почти всем, то-есть периферией и контроллером прерываний :-) Lpc пошустрее за счет хорошего memory accelerator модуля.
USB-стек стоит взять готовый и заточить под свою задачу. Я использую
основательно перепаханный lpcusb.
Для освоения самый простой вариант это купить стартер на
www.starterkit.ruи накопать книжку "Микроконтроллеры ARM7. Семейство LPC2000 компании Philips Вводный курс" Тревора Мартина.