Нужна помощь ESP32 : fatfs in partition on dataflash

salara1960

New member
День добрый.
Получил отладочную плату Espressif ESP32-DevKitC.
Вроде все нормально завелось. SDK использовал оф-ый, от Espressif (ver 2.1.1 на гитхабе).
Собственно вопрос к знатокам такой - как можно (и можно ли вообще) на одном из разделов dataflash (4MB)
получить fatfs ? CSV файл в моем проекте выглядит так :
# Name, Type, SubType, Offset, Size, Flags
# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 1M,
disk, data, 0x81, 0x110000, 2M

Вот именно на разделе 'disk' и хотелось бы создать fatfs.
Судя по исходникам SDK components/fatfs , складывается впечатление что тут fatfs реализован для SDMMC - для сд-карт только !
Может кто-то уже имеет такой опыт ? подскажите пожалуйста.
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума
скорее всего можно, нужно написать реализацию нескольких функций, в свою очередь описания для них есть здесь
 

salara1960

New member
скорее всего можно, нужно написать реализацию нескольких функций, в свою очередь описания для них есть здесь
Собственно эти функции присутствуют в SDK (f_mkfs, f_mount, ....), уже реализованы.
Только непонятно что именно, ну скажем в функции f_mkfs("", FM_FAT, 0, work, sizeof work), нужно указать в качестве первого параметра (Logical drive number) если я хочу отформатировать
под fatfs раздел номер 3 (нумерация с нуля) на dataflash ? Может надо сначала получить этот "Logical drive number" для третьего раздела с помощью какой-то функции SDK ?
 

pvvx

Активный участник сообщества
Опять же надо копнуть и вуа-ля!
А FAT без дополнительного мапинга секторов Flash не убьет ли Flash (протрет дырку)?
И как запись/стирание в Flash будет согласовываться с работой из неё основных процедур? "Всем лежать полчаса" при записи?
Для диска на Flash у ESP есть SPIFFS :)
 

pvvx

Активный участник сообщества
может и протрет, может и повесит чип на полчаса, тут надо ведь технически. Может у топикстартера только чтение файла csv, а если нет то надо читать апноты
А что, FATfs ещё не портирована на ESP-32S? :eek:
Ну пусть переписывает esp-idf/diskio.c at master · espressif/esp-idf · GitHub
 
Последнее редактирование:
Сверху Снизу