Добрый день!
При попытке использовать SPI-бутлоадер в контроллере STM32F401 столкнулся с проблемой - контроллер ведет себя не так как описано в документации. Для опытов использую отладочную плату NUCLEO F401RE и аппликейшены AN4286+AN2606. Использую SPI2 в следующей конфигурации: Slave mode, Full Duplex, 8-bit MSB, speed 1MHz, Polarity: CPOL Low, CPHA Low. Выводы портов: NSS=0, boot0=1, boot1=0. Сразу скажу что бутлоадер по UART1 работает нормально, т.е. ситуацию с тем что контроллер не переходит в boot-режим я отбрасываю. После сброса я посылаю контроллеру байт синхронизации 0x5A и ожидаю в ответ получить 0xA5 (согласно документации), однако получаю 0x08. Попытку послать синхробайт делаю несколько раз и только после третьего 0x5A я получаю в ответ 0xA5. Дальше судя по документации я должен послать 0x00 и ожидать ACK(0x79) или NACK(0x1F), но я сразу получаю 0x83. Я продолжаю "долбить" контроллер этим байтом 0x83 и спустя посылок так 200 получаю всетаки 0x79. Считаю вроде как что синхронизация закончена, однако посылая команду 0x5A 0x00 0xFF я должен получить ACK иkи NACK однако контроллер возвращает мне чепуху какую-то.
Подскажите пожалуйста что я делаю не так?
Спасибо!
|