Сделал проект на базе примера usbmsd
Перестал запускаться кварц - висит на ожидании
Код
/* Wait for clock to stabilize if requested */
if (wait)
{
while (!(CMU->STATUS & status))
;
}
Мог бы предположить, что сломал что-то, но код от начала main до места зависания не менялся:
Код
/* Chip errata */
CHIP_Init();
/* If first word of user data page is non-zero, enable eA Profiler trace */
BSP_TraceProfilerSetup();
CMU_ClockSelectSet( cmuClock_HF, cmuSelect_HFXO );
CMU_OscillatorEnable(cmuOsc_LFXO, true, false);
CMU_ClockEnable(cmuClock_GPIO, true);
Что это такое может быть?
Начало программы не поменялось, но результат драматичный.
Причем эта версия работала, отмотал в svn.
Загружаю родной пример - эту точку проходит.
Загружаю чвой проект с неизменной начальной частью - в этой точке виснет.
Бредятина какая-то

Разницу нашел, но легче не стало - кварц все равно не запускается
Код
bool BSP_TraceProfilerSetup(void)
{
volatile uint32_t *userData = (uint32_t *) USER_PAGE; // Ссукии!
/* Check magic "trace" word in user page */
if (*userData == 0x00000000UL)
{
return false;
}
else
{
BSP_TraceSwoSetup();
return true;
}
}
Ну и последние новости с фронта - в двух проектах, работающих на одном и том же стартките, считывается разная ревизия чипа.
Уходя, оставьте свет...