Pull to refresh
12
0
Владимир @VladimirKuzmin

Разработчик

Send message

Упрощенный доступ к данным внутренней FAT12 для STM32

Reading time3 min
Views4.9K
В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить некие настройки нашей программы.
Для хранения именованных настроек особого усложнения структур формата данных не потребуется. Примем следующий формат — одна настройка = один файл. К примеру, нам необходимо хранить скорость подключения по UART и допустим, задержку в миллисекундах мигания светодиода. Создадим (в любом текстовом редакторе) в нашей файловой системе файлы UART_SPD.SET и DELAY_BL.SET. Запишем в них значения: соответственно 115200 и 1000.
Чтобы получить эти данные, обратившись к нашей внутренней FAT12 потребуется либо взять стандартную библиотеку HAL FatFs и попытаться ее приспособить под внутреннюю flash. Или пойти более простым и удобным способом — написать свою функцию чтения файловых данных FAT12, что мы и сделаем:
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments12

STM32F103C8T6 как накопитель flash с файловой системой FAT12

Reading time3 min
Views15K
При разработках устройств часто бывает необходимым хранить настройки вне рабочей программы. Еще лучше иметь возможность их модификации без использования специальных средств.

Рассмотрим вариант хранения в пожалуй самых распространенных микроконтроллерах STM серии F103. Способствовала распространенности также всем известная макетная плата Blue Pill

image
Имеющаяся в ней flash позволяет не только хранить и модифицировать настройки используя файловую систему FAT12 во внутреннем flash, но и организовать обновление прошивки.

Согласно документации в STM32F103C8T6 имеется 64К flash памяти. Однако практически во всех STM32F103C8T6 установлено 128К. Об этом также упоминается в разных источниках — обычно ставят на 64К больше. Такая «фича» позволяет использовать микроконтроллер как flash накопитель объемом 128К — 20К (системные нужды FAT12) — размер прошивки.

Многие энтузиасты, пытавшиеся использовать данный контроллер как накопитель flash, сталкивались с проблемой его использования в режиме файловой системы FAT12. Использовать для снятия/заливки образа диска получалось. А вот при работе как с файловым накопителем начинались проблемы.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments12

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity