Флеш-память и EEPROM
У EM500 есть 512KB внутренней флеш-памяти и 208 байт EEPROM (см. Информация для заказа и технические характеристики).
Часть внутренней флеш-памяти занимает прошивка TiOS. При обновлении прошивки двоичный файл прошивки сохраняется именно в эту память.
Остальная часть этой флеш-памяти доступна вашему приложению Tibbo BASIC/C. Внутреннюю флеш-память нельзя использовать как флеш-диск. В EM500 для объекта fd. нужна внешняя флеш-микросхема.
Как показано на схеме ниже, это микросхема ATMEL AT45DB041. После подключения она используется исключительно объектом fd. и даёт 1MB памяти. Подтягивающий резистор 5.1KΩ нужен, чтобы «заострить» тактовый сигнал SPI. Двунаправленные линии GPIO модуля EM500 позволяют соединить линии SI и SO - это экономит одну линию GPIO!

Объект fd. включается в диалоговом окне Project Settings среды Tibbo IDE (TIDE). Чтобы включить его, нажмите кнопку Customize (в диалоговом окне Project Settings) и установите для параметра Flash disk (fd.) object значение Enabled.
НЕ ВКЛЮЧАЙТЕ объект fd., если флеш-микросхема на самом деле не подключена. Когда объект fd. включён, EM500 пытается обнаружить флеш-микросхему, то есть обращается к флеш-памяти по SPI. Это значит, что на GPIO4 (CS), GPIO3 (CLK) и GPIO1 (DI/DO) появятся сигналы. Обнаружение флеш-микросхемы может помешать работе вашего устройства (если к этим линиям GPIO подключено что-то ещё).
EEPROM почти полностью доступна вашему приложению, кроме небольшой области в 28 байт, которая называется «областью специальной конфигурации». Доступ к EEPROM осуществляется через объект stor. Подробности об области специальной конфигурации приведены в документации по платформе EM500.
По совету одного из наших клиентов напоминаем: как и все остальные EEPROM на рынке, микросхемы EEPROM в устройствах Tibbo допускают ограниченное число циклов записи. Как сказано в статье Википедии на эту тему, EEPROM «... имеет ограниченный ресурс стирания и перепрограммирования, который в современных EEPROM достигает миллиона операций. Если EEPROM часто перепрограммируется во время работы компьютера, ресурс EEPROM становится важным фактором при проектировании».
Если вы планируете использовать объект stor., внимательно оцените, позволит ли предполагаемый режим использования EEPROM работать надёжно в течение всего расчётного срока службы вашего изделия. Подробнее см. в разделе Продление и оценка ресурса EEPROM.
Как и все остальные флеш-устройства на рынке, флеш-микросхемы в изделиях Tibbo допускают ограниченное число циклов записи. Как поясняется в статье Википедии на эту тему, у современных флеш-микросхем всё ещё сравнительно низкая износостойкость при записи. В устройствах Tibbo она составляет около 100,000 циклов записи на сектор. Когда флеш-память используется для хранения файлов, объект fd. применяет выравнивание износа секторов, чтобы продлить срок службы микросхемы, но этот срок всё равно ограничен. Если приложение использует прямой доступ к секторам, строить его нужно с учётом ограниченного ресурса флеш-памяти. Для часто меняющихся данных лучше использовать EEPROM - её износостойкость намного выше.