Недавно закупили партию STM32F407VET6 не у обычного поставщика, а где то в Китае. Тоже вроде по проверенному каналу, но:
1. На корпусе маркировка правильная, по крайней мере придраться не смог.
При проверке уже в изделиях выяснилось, что контроллеры имеют Device ID = 0x411. Это вроде бы соответствует семейству STM32F2xx. Revision ID - Y.
Сначала у меня была версия, что это баг с идентификацией, описанный в Errata, хотя он вроде только для ревизии А, а здесь Y.
Но регистр CPUID из SCB содержит значение 0x412FC230, а для CortexM4 вроде бы должно быть 0x412FC241(но тут у меня уверенности нет).
Если предположить, что кристалл правильный, просто ошибка в маркировке, то он должен нормально работать.
Программа (для 407) записывается и читается нормально. Но не работает, виснет наглухо.
Под отладчиком (из под IAR) можно увидеть, что сразу попадаем в обработчик HardFault и доступна только кнопка "Stop". После нажатия которой и видим, где находимся.
Если нажать "Вернуться к MAIN", то опять зависаем там же.
Вероятно, что я стал жертвой типичной китайской махинации, когда более дешевые кристаллы продаются под видом более дорогих.
Или может кому то знакома подобная ситуация, и известно, как эти кристаллы заставить работать в качестве STM32F407VET6?
P.S.: Хорошо, что партия небольшая, для теста, всего 50шт.