реклама на сайте
подробности

 
 
> Внутренняя или внешняя Flash?
_Макс
сообщение Jan 6 2011, 15:41
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Никогда ранее не использовал Flash микроконтроллера для хранения настроек. Практически традиция использовать внешнюю AT24.

Как пишется и читается информация со внутренней Flash памяти в STM32?
В стандартной библиотеке нашел функцию записи байта. Нужно ли предварительно стирать? Как прочитать потом?
Как сделать чтобы процедура записи/чтения происходила автоматически при работе со своими переменными или массивами? В CodeVisionAVR есть спецификатор eeprom. Есть ли что-то подобное в STM32?

Сообщение отредактировал _Макс - Jan 6 2011, 15:42
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
scifi
сообщение Jan 6 2011, 15:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Вам нужно почитать Application Note AN2594: EEPROM emulation in STM32F10x microcontrollers.
В двух словах: выделяется 2 сектора флэш и в них эмулируется EEPROM (сектора стираются попеременно). Получается очень неплохо.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Jan 6 2011, 17:52
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



А для LPC1xxx есть что-то подобное? По моим наблюдениям у них куда более бедный софт нежели для STM32, но микроконтроллеры получше. А может я просто искать на ихнем сайте не умею?)
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 6 2011, 18:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(_Макс @ Jan 6 2011, 23:52) *
А для LPC1xxx есть что-то подобное?

Если я правильно понимаю, в микроконтроллерах от NXP флэш-память имеет ограничения, которые делают её практически непригодной для эмуляции EEPROM. Если только не требуется большое число перезаписей, можно что-то придумать. Ключевые слова - IAP (in-application programming).
Go to the top of the page
 
+Quote Post
_Макс
сообщение Jan 6 2011, 18:45
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(scifi @ Jan 6 2011, 23:01) *
Если я правильно понимаю, в микроконтроллерах от NXP флэш-память имеет ограничения, которые делают её практически непригодной для эмуляции EEPROM. Если только не требуется большое число перезаписей, можно что-то придумать. Ключевые слова - IAP (in-application programming).

Кажется IAP (in-application programming) это внутрисхемная прошивка МК.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 6 2011, 18:54
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(_Макс @ Jan 7 2011, 02:45) *
Кажется IAP (in-application programming) это внутрисхемная прошивка МК.
Нет. Внутрисхемная это ISP - In-System Prorgamming (вариант In-Scheme Programming). IAP это именно внутрипрограммное программирование, хотя по-русски звучит несколько тавтологично.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Jan 6 2011, 19:21
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(rezident @ Jan 6 2011, 23:54) *
Нет. Внутрисхемная это ISP - In-System Prorgamming (вариант In-Scheme Programming). IAP это именно внутрипрограммное программирование, хотя по-русски звучит несколько тавтологично.

Ваша правда, но всеравно ничего не нашел.
Go to the top of the page
 
+Quote Post
skripach
сообщение Jan 6 2011, 19:39
Сообщение #8


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
Практически традиция использовать внешнюю AT24.

Неплохая традиция, если нет прессинга по цене конечной, то лучше не отходить от традиций.
Читать флеш просто как и обычную рам - по указателю к примеру. Писать сложнее.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 6 2011, 20:18
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(_Макс @ Jan 7 2011, 03:21) *
Ваша правда, но всеравно ничего не нашел.
Что именно не нашли? И ISP и IAP описаны в User manual. Если взять, например, UM10360 для LPC17xx, то там следует см. главу 32. А точнее 32.8 IAP commands.
Go to the top of the page
 
+Quote Post
_Макс
сообщение Jan 7 2011, 12:36
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Нашел. Первая ссылка по STM32 показалась куда более понятной и информативной. У меня небольшой опыт. Что лучше на практике?
Go to the top of the page
 
+Quote Post
akimych
сообщение Jan 7 2011, 18:13
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073



Flash микроконтроллера - не еепром, потому записывать в нее что-то весьма неудобно. Читать наоборот - очень удобно.
По принципу записи это скорее at25df, чем at24. К примеру у stm32 страницы от 1КБ и более. А ресурс 10к цилов всего. У еепром 1м циклов ресурс.
Так что тут надо определиться, что хранить и как часто надо записывать и как записывать (последовательно или в случайном порядке).
В контроллере удобно хранить данные, которые перезаписывать надо редко, а читать часто.

Вот интересно, в армах почему-то не делают еепром.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jan 8 2011, 02:37
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(akimych @ Jan 8 2011, 00:13) *
Вот интересно, в армах почему-то не делают еепром.

кто это Вам такое сказал?
Go to the top of the page
 
+Quote Post
akimych
сообщение Jan 8 2011, 08:31
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073



Цитата
кто это Вам такое сказал?

Сам догадался biggrin.gif
Может не точно выразился. Утверждать, что вообще нет армов с еепромом я ест-но не буду, я же их не все смотрел (в основном atmel, nxp, stm).
Просто есть некая тендеция. К примеру взять атмел, в 8ми битниках еепром есть, авр32 и армах - уже нету.
Тоже самое и у других (опять же не утверждаю, что у всех).

Цитата
In your opinion why ARM7 microcontrollers (such as LPC2000, AT91SAM7S and STR7) does not have internal EEPROM?

Цитата
It's not supported by the fab process they use.

Скорее всего так и есть, всё дело в технологии.

Go to the top of the page
 
+Quote Post
toweroff
сообщение Jan 8 2011, 09:15
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



А вот ARM9 от NXP в этом плане порадовал (LPC29xx)
Go to the top of the page
 
+Quote Post
akimych
сообщение Jan 8 2011, 17:06
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073



О, и правда в LPC29xx "16 kB true EEPROM, byte-erasable and programmable".
Какие еще есть?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01517 секунд с 7
ELECTRONIX ©2004-2016