Цитата(SasaVitebsk @ Apr 25 2016, 14:33)

Вроде как под отладчиком IAR, если у кристалла неверный ID прога не загрузится, и IAR выдаёт сообщение, что неверный ID кристалла. То есть что не тот кристалл.
Причём это фича отладчика. Так что что-то непонятно...
Для меня в этой ситуации далеко не всё ясно.
Например, STM32 ST-LINK Utility - подключается и говорит, что это STM32F2xx. Но *.hex - спокойно заливает (понятно, она не знает, что за hex).
А ST Visual Programmer при подключении требует, что был установлен тип процессора из серии STM32F2xx.
А IAR спокойно загружает код и подключается в режиме отладчика. Причём по логу видно , что в процессе все макросы загружаются в соответствии с STM32F4xx.
На картинках сравнение регистров для нормального контроллера и для подозрительного.
Цитата(ViKo @ Apr 25 2016, 14:53)

В Reference manual в разделе MCU device ID code коды описаны. Их можно прочитать своей программой. У самом начале, даже PLL не программируя, шоб ничего не вышло...
Честно говоря в документе RM0090 Reference manual STM32F405/415, STM32F407/417, STM32F427/437 and STM32F429/439 advanced ARM®-based 32-bit MCUs я не нашёл ID кодов. Даже раздела такого не обнаружил. Может и пропустил, всё же более 20Мб.
Сами коды мне удалось найти в другом документе: AN2606 Application note STM32 microcontroller system memory boot mode на страницах 213 - 215.
И в соответствии с этими кодами контроллер относится к семейству STM32F2xx, а на крыше написано STM32F407VET6. В этом собственно и проблема, если не считать того, что код, написанный для 407 контроллера в этом контроллере не работает.