STM32: "AN2594 EEPROM emulation" C library топик-ссылка

EEPROM emulation Drivers for STM32F10x microcontroller: "16bit virtual variables" emulator; "2Kb BLOB data" emulator; Low-level Flash access driver; Usage examples...

STM32 + Параллельная NAND Flash + файловая система Yaffs. Часть третья


Обещанный пример порта Yaffs под STM32F429, память NAND128-A, интерфейс FMC, доступ к регистрам через библиотеку SPL. Надеюсь никто не будет против, если я не стану прикреплять архив с исходниками, просто дам ссылку на публичный репозитарий. Схему подключения не стану приводить — не вижу никакого смысла, в документации все есть.


Читать дальше

STM32 + Параллельная NAND Flash + файловая система Yaffs. Часть вторая



Еще несколько слов о принципе работы файловой системы Yaffs, структура каталогов и теория портирования. Основной источник — это исчерпывающая документация на официальном сайте. Начало здесь.



Читать дальше

STM32 + Параллельная NAND Flash + файловая система Yaffs. Часть первая


Как часто приходится жалеть о принятых решениях. Безрассудно прожитые школьные годы, неверно выбранный ВУЗ, разгульная студенческая жизнь, переезд не в тот город, выбор параллельной NAND Flash в качестве вместилища архивных данных.
Вот казалось бы, интерфейс EMC есть, команды у флешки для записи/чтения простые, как угол дома и самое главное — дешево! Кто-то может возразить, сказав, что обычные SD-карты сегодня тоже дешевые и разъемы к ним недорогие, плюс по софту тоже все готово — тут тебе и файловая система FATFs, и примеры. Но иногда в такой разговор может вмешаться слишком «умный» программист, который скажет:
— Нет! Мы делаем промышленный прибор, который будет подвержен тряскам во время транспортировки, кривым рукам наладчиков на объекте, вибрациям в процессе работы. Никаких разъемов для критически важных узлов.
На что вы возможно ответите:
— Тогда может быть использовать память с интерфейсом SPI, там вроде как тоже давно все изведанно.
— Нет, нет! Дорого, да и чем плоха NAND'а? — очень самоуверенно возражает оппонент.
— Ну я не уверен насчет…
— Бла, бла, бла! Поверьте я знаю что предлагаю, нам нужна параллельная NAND flash.
— Ну Вы не сомневаетесь, что по софту не будет проблем?
— Кто сомневается?! Я сомневаюсь?!!!
— Ладно, ладно, дерзайте, — махнете Вы рукой.
Микросхема будет заложена в решение, и пути назад уже не будет…


Читать дальше

Блок питания Atten PPS3005S - лечим отзывчивость интерфейса

pps3005sПроблемы блока питания Atten PPS3005S давно изучены, но на русском информации нигде нет.
Из чисто софтовых проблем реально мешают две:

1) Интерфейс крайне неотзывчив, кнопки опрашиваются очень медленно.
2) При переключении диапазона установки напряжения (на токе пока такого не замечал), может самопроизвольно включиться выход и текущее установленное напряжение пойдет на выход.

Вторая проблема с ходу не решаема и требует доработки прошивки (или написания новой), ну а первая довольно просто излечима. На плате управления блоком (на базе MCU ATMEGA88PA) установлен кварц на 8Mhz, но на заводе чип почему-то всегда прошивают в режим использования внутреннего RC генератора (вполне возможно это такой китайский метод «лечения» багов прошивки).

Чтобы «починить» интерфейс достаточно заменить кварц на 16Mhz и прошить соответствующие fuses, благо на плате выведен ISP интерфейс. Если вам не хочется (или некогда) лезть с паяльником в блок, то имеет смысл прошить fuses на использования внешнего кварца на 8Mhz, интерфейс блока начнет работать намного лучше.

Рекомендуемые (проверенные мной) fuses для кварца 8Mhz:
HFUSE: DC
LFUSE: DE
EFUSE: 01

ISP разъем:
1: GROUND
2: VCC
3: MOSI
4: MISO
5: RESET
6: SCK

Памятка:
1) Перед прошивкой крайне полезно сохранить оригинальную прошивку вашего блока (вдруг вам попадется новая ревизия, возможно не совместимая).
2) Для лечения интерфейса достаточно прошить только fuses, прошивку трогать не нужно.

Бонус:
Заводская прошивка для Atten PPS3005S (220V/RS232) в архиве для тех, кто убил свою :)

Самопрограммирование (STM32)

Иногда находятся нестандартные решения ...


Представим, что имеется большая интерфейсная линия, на которой размещено несколько десятков устройств. Управляет ими один мастер.
И вдруг, понадобилось обновить прошивку.
Ситуация не радостная. Мало того, что они удалены друг от друга, так еще и программатор с ноутбуком подключать к каждому персонально…

Читать дальше

USB Host контроллер VinculumII. Запись на Flash.

Что такое USB Host контроллер?


Связь по USB происходит по принципу Главный-Подчинённый. В качестве подчиненных (USB Slave) обычно выступают периферийные устройства такие ка флешки, принтеры, клавиатуры, разрабатываемые электронщиками устройства и прочее. В качестве Главного (USB Host) обычно выступают компьютеры.

Если нам нужно передать информацию от нашего устройства на компьютер, то для реализации USB протокола подойдут как внешние микросхемы преобразователей, так и собственные средства самого контроллера. Но вот если данные нужно передать на флешку, то тут уже необходимо воспользоваться USB-Host контроллером. Можно воспользоваться контроллерами с внутренним USB-Host (например PIC24), ну или воспользоваться специальной микросхемой. Одну такую микросхему и рассмотрим — FTDI VinculumII.



Читать дальше

Работа с EEPROM и Flash

Все МК STM8 снабжены некоторым количеством EEPROMa. Оно варьируется от жалких 128 байт в младших моделях STM8S, до 2кб в старших моделях STM8L и S. Благодаря единому адресному простанству работа с EEPROM почти ничем не отличается от работы с RAM.

Не только EERPOM, но и flash записывается легко и просто. Поэтому, хоть заметка и посвящена работе с EEPROM, тут будут некоторые комментарии касательно флеша.



Читать дальше
  • +3
  • 10 октября 2011, 03:01
  • dcoder

USB флешка на ATmega8 и V-USB. От идеи к готовому устройству...

AVR
Прочитав пару статей других пользователей, захотелось самому начеркать чего-то полезного для остальных. Как все поняли из названия, речь пойдет о создании USB mass storage device класса на програмной реализации V-USB.



Читать дальше