Доброе время суток!) Продолжаем тему stm32f4, сегодня в нашем вооружении stm32f429i –disco и в качестве лабораторного зверька встроенная flash память, а точнее EEPROM. И что тут сказать «Надо высказать ФЕ-ФЕ-ФЕ st. Ребята, что вы делаете!!!». Так, а чем я…
1) Время стирания сектора от 1 до 3 сек.
2) Один байт в память(ПЗУ) будет записываться 30 мкс до 237.25 мс.
3) Читаем один байт 0.68мкс до 251мкс.
4) Как только вы падаете в момент стирания сектора или банка памяти, например, из MDK Keil, нам ПО говорит (режим отладки): «Друг обломись…»
5) AND память, то есть если повторно пишу в тут же область памяти значение, то запишется меньшое их 2-х значений и так до 0.
Ладно, пару строк кода и мы свами и убедимся в перечисленном.


Отладка микроконтроллера

А сейчас немного поизвращаемся, сделаем цикл который будет стирать память 10 раз и перед началом стирания включим светодиод, а после стирания памяти его выключим. И тут нас ждет костыль, если мы напишем так:

Все будет работать, а если так:

Так микроконтроллер просто подвиснет, вот же…
Еще пару слов на счет как можно стирать память. Есть хорошая утилита STM32 ST-LINK Utility, которая позволяет работать с памятью микроконтроллера. Так же таблица организации память, что бы быстро посмотреть и заюзать нужную область(stm32f429xx, stm32f439xx).
БАНК 1
Сектор 0 – 0x08000000, 16К
Сектор 1 – 0x08004000, 16К
Сектор 2 – 0x08008000, 16К
Сектор 3 – 0x0800С000, 16К
Сектор 4 — 0x08010000, 64 K
Сектор 5 — 0x08020000, 128 К
Сектор 6 — 0x08040000, 128 К
Сектор 7 — 0x08060000, 128 К
Сектор 8 — 0x08080000, 128 К
Сектор 9 — 0x080A0000, 128 К
Сектор 10 — 0x080C0000, 128 К
Сектор 11 — 0x080E0000, 128 К
БАНК 2
Сектор 12 – 0x08100000, 16К
Сектор 13 – 0x08104000, 16К
Сектор 14 – 0x08108000, 16К
Сектор 15 – 0x0810С000, 16К
Сектор 16 — 0x08110000, 64 K
Сектор 17 — 0x08120000, 128 К
Сектор 18 — 0x08140000, 128 К
Сектор 19 — 0x08160000, 128 К
Сектор 20 — 0x08180000, 128 К
Сектор 21 — 0x081A0000, 128 К
Сектор 22 — 0x081C0000, 128 К
Сектор 23 — 0x081E0000, 128 К


утилита STM32 ST-LINK Utility

Жаль, что Atmel не выпускает Cortex M4. Память, например at91sam3u(cortex M3) быстрая и там настоящая flash, все происходит на лету. На сегодня все! Всем пока!
Проект flash_stm32f429zi

2
Отправить ответ

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
adminАлексей Recent comment authors

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Самый новый Самый старый Наиболее проголосовали
Уведомлять о
Алексей
Гость
Алексей

Atmel делает MCU на ядре Cortex M4 — SAM4
Макетки тоже есть