Цитата(_4afc_ @ Jan 18 2017, 18:37)

не работают примеры USB из ASF332, а ещё в ASF331 они рабочие
Всё дело в файле compiler.h там какой-то чудак улучшил
clz(u) и в итоге в USB всё неправильно настраивалось...
Код
//#define clz(u) ((u) ? __builtin_ctz(u) : 32) //BAD from 332
#define clz(u) __builtin_clz(u) //Good from 331
После замены этой строки, примеры USB из ASF332 тоже заработали!
Рано я радовался. Мой код написанный под ASF не работает на HiSpeed.
Ситуация не очень понятная:
Есть две платы
1 с резонатором с измеренной частотой 11.9465 производящим UPLLCK = 477.858MHz
2 с генератором с измеренной частотой 11.9999 производящего UPLLCK = 479.998MHz
на плате с генератором работает мой код ASF и AtmelStart в режиме HS
на плате с резонатором работает только AtmelStart в режиме HS.
в режиме FS работает любой код на любой плате.
Причем плата с резонатором в режиме ASF HS определяется системой, но при чтении секторов правильо успевает считать только около 200 байт.
Код на AtmelStart ведёт себя похожим образом, если при конфигурации PLLA не установить ONE (MCK=24MHz).
Сложность в том, что весь проект написан под ASF и встроить туда кусок из AtmelStart тяжело... и на плате нет ни места под генератор, ни тока питания.
Скопировал инициализацию (MCK=150MHz) из AtmelStart в ASF - непомогло.
Не могу понять: допустим проблема аппаратная, но код из AtmelStart её обходит как-то.