yuragv
Aug 30 2015, 18:22
Пытаюсь загружать в BF прошивку по SPI из w25q128.
Использую аналогдевайсовский драйвер bf609_w25q32bv_dpia.dxe.
Немного подправил ID в нем чтоб соотвествовал 128-ой.
После нескольких загрузок w25q128 умирает.
Перестает отвечать. Ножка HOLD подтянута к питанию.
Может кто сталкивался?
Вторая микруха уже себя так ведет.
Я попытался разобраться в возникшей проблеме.
Получаеться, что глючит на первой же команде чтения статуса.
Не происходит передача команды.
Включен простейший режим работы SPI, без управления потоком,
без прерываний и DMA.
Состояние регистров:
SPI_CTL=0x03, (MSTR,EN) - включен, мастер
SPI_TXCTL=0x0D, (TEN,TTI,TWCEN), передача включена, стар передачи, счетчик включен
SPI_CLK=0x04
SPI_TWC=0x01, один байт в фифо
SPI_STAT=0x00430401 - (75% empty TFIFO, SPI finished)
Ожидается флаг TF (transmit finish) - флаг не устанавливаеться.
То есть SPI включен на передачу, в FIFO есть байт, но передача не происходит,
CLK не наблюдаеться.
Ревизия ядра 0.2. На старой плате с ревизией 0.1 данная проблема не наблюдалась.
вопрос решен
загрузчик модифицировал регистры спиай.
надо чистить все регистры принудительно.