Не можу, здається, написати на спалах спалаху


9

Ну, я затримався на цьому деякий час, можливо, 2-3 тижні на цьому етапі. Я просто не впевнений, що я роблю не так. Я намагаюся записати цю частину спі-флеш , і тепер я просто виконую підпрограми, щоб стерти, записати та прочитати, щоб спробувати ізолювати її, але поки що не пощастило. Звичайно, я вирішив купу помилок по дорозі ...

У будь-якому випадку, у мене на WD-лінійці високо прив’язана лінія WP, і я сповільнив годинний шлях до 200 кГц, потім запускаю процедуру стирання, і це виглядає приблизно так:

введіть тут опис зображення Спочатку я перевіряю ідентифікатор лише для налагодження, це команда 9F, потім я встановлюю WREN з командою 06, C7 - це ціле стирання мікросхеми, а потім перевіряю біт статусу з 05 і це зрозуміло. Час стирання мікросхем цієї речі становить лише 35 мс.

Тепер я перезавантажую свій код і спробую написати:

введіть тут опис зображення Спочатку я встановив WREN з 06, перевірте стан, щоб побачити, що WREN встановлено з 05, це, потім надішліть команду сторінки програми 02 на адресу 0x000000. Ви можете бачити, що я пишу мертвий кафе як перші кілька біт. Також не зображений тут після завершення запису (одна сторінка або 256 байт), я надсилаю команду 0x04, щоб відключити WREN. Я помітив це, і я встановив останні чотири байти буфера сторінки на 0xAA, 0x55, 0xAA, 0x55, і я побачив їх перед тим, як CS підвищиться.

Тепер зупиніть код перезавантаження та спробуйте запустити цикл читання: введіть тут опис зображення надішліть 0x03 як команду читання та 0x000000 як адресу, а ... всі 0xFF назад з пристрою.

Я бачу, як пристрій реагує на мій читання і встановлює команди WREN, тому я знаю, що він мене чує, і можу відповісти. Я не знаю, що я роблю неправильно на даний момент. Я думаю, я повернусь до читання даних та спробую деякі речі, але якщо хтось матиме уявлення, я вдячний за допомогу. Це буде ще один розчаровуючий вихідний, який працює над цією справою.


10
І ... я зрозумів це. Якби у мене був долар кожен раз, я щось розгадував, нарешті, змусившись відчайдушно відправитись десь за допомогою. Виявляється, є ще одна команда 0x98 під назвою Global Unlock, яка не згадується в розділах про ввімкнення чи програмування запису ... Як би там не було, додавши, що попереду моєї команди WREN і вона спрацювала. вибачте за мороку.
плутати

10
Додайте свій коментар як відповідь і прийміть його.
геометрик

Погодившись з @geometrikal, що ви повинні відповісти на власне запитання. У мене не було нічого, крім проблем з інтерфейсом PIC SPI; з точно таких же причин: документація.
Користувач.1,

2
Привіт! Ви розмістили гарне запитання близько року тому, а потім розмістили хорошу відповідь у коментарях. Але питання все ще з’являється у верхній частині списку "Без відповіді"! Скопіюйте свої коментарі у відповідь та позначте її "Прийнято". Таким чином, ним буде керовано правильно, і ми можемо підтвердити вашу відповідь :)
бітмак

1
@confused, будь ласка, опублікуйте свою відповідь та позначте її як відповідь, щоб ми могли закрити питання, спасибі
напруга Спайк

Відповіді:


3

Я просто ненавиджу, що це все ще вгорі списку "без відповіді", тому я збираюся відповісти.

Як зазначено в коментарях «плутати», існує команда під назвою «Глобальне розблокування», яку необхідно виконати перед записом у флеш-частину.


1
Ви повинні прийняти свою відповідь, інакше це питання все ще буде позначено як "без відповіді".
Етьєнн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.