Кое-какие вещи могущие быть неочевидными при инициализации периферии и программировании Kinetis
1. Инициализация осциллятора от кварца.
В целом кварцы у Kinetis запускаются очень надежнов в отличие от того же STM32.
Но если установить в регистре MCG_C2 бит HGO0 в 1 (чтобы увеличить усиление генератора) для высокочастотных уварцев (> 10 МГц),
то может не включится PLL0. Хотя осциллограф покажет очень хорошую осцилляцию с высокой амплитудой.
2. Ватчдог (WDOG) надо выключать сразу в первых командах инициализации. Иначе можете не успеть завершить даже саму инициализацию. Потом можно включить снова.
3. Чтобы USB могла передавать строки прямо из FLASH памяти надо отдельно разрешить мастеру DMA USB доступ к чтению FLASH памяти в регистре FMC_PFAPR
В демо примерах от NXP это не делают.
Также не забываем и про основной DMA и других мастеров на шине которым тоже надо открыть доступ к FLASH памяти.
4. Чтобы нормально работал модуль измерения скорости на 3-х фазных датчиках Холла мало включить бит 22 в регистре SIM_SOPT4,
но надо еще и инициализировать все три канала таймеров FTM1 (канал 1) и FTM2 (канал 0 и 1) на захват по фронту и спаду.