Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FAT для 51-го.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
ALexx
Кто-нибудь встречал исходники файловой системы для 51-х?
Если да, то можно ли их приспособить на контроллер с 1К оперативки?
Спасибо
lamerok
В 1 Кило точно не влезет....
Возьмитеисходники для АВР.. они лекго портируются на любой контроллер...
lamerok
Хотя нет погарячился влезет.. но с трудом, там только 512 байт надо для считывания сегмента.. + еще всякие прибомбасы... и того байт 700 займет...
ALexx
А где взять?
Есть тут у меня файловая система FlashFile от Progressive Resources
(http://www.prllc.com) . Подойдет ли?
Есть идея организовать файловую систему в I2Cшной памяти...
Понятно, что переписать низкий уровень надо (там приемм, передача байта, буфера), просто может попадалось на глаза готовое (или близкое к готовому) решение.
one_man_show
Цитата(ALexx @ Sep 28 2004, 01:59 PM)
Есть тут у меня файловая система FlashFile от Progressive Resources
(http://www.prllc.com) . Подойдет ли?

Скорее всего lamerok это и имел в виду. Посмотрите в исходники, низкий уровень там доступен для модификации.
Yra
Цитата(ALexx @ Sep 28 2004, 12:59 PM)
Есть тут у меня файловая система FlashFile от Progressive Resources (http://www.prllc.com) .

Можете намылить и мне? Ато я тут уже всех затерроризировал насчёт файловой системы для 51-х.
Yra
В общем удалось скомпилить исходники uC*/*FS в кеи*ле для 51-х : 80 килобайт памяти программ smile.gif
Aleks17
FAT-16 исходники лежат на ftp (по-моему в pub/mcs/atmel) - образ диска к демо-боард для at89c51snd. Компилятся килобайт на 20. Оперативки жрут кила 1.5 (считайте 512 байт только под буфер для сектора + разные переменные + надо создавать таблицу кластеров в памяти). Правда исходники достаточно кривоваты - заточены под конкретную задачу.

Я делал свои, тоже правда для конкретной задачи и потому конкретно порезанные - в килобайт или около того оперативки влазят. (не считая того что надо память под стек, прочие переменные и т.п.).

Под килобайт написать - придётся очень постараться.
Charley
Цитата(Aleks17 @ Jan 22 2006, 22:49) *
FAT-16 исходники лежат на ftp (по-моему в pub/mcs/atmel) - образ диска к демо-боард для at89c51snd. Компилятся килобайт на 20. Оперативки жрут кила 1.5 (считайте 512 байт только под буфер для сектора + разные переменные + надо создавать таблицу кластеров в памяти). Правда исходники достаточно кривоваты - заточены под конкретную задачу.

Я делал свои, тоже правда для конкретной задачи и потому конкретно порезанные - в килобайт или около того оперативки влазят. (не считая того что надо память под стек, прочие переменные и т.п.).

Под килобайт написать - придётся очень постараться.


Привет!
А нельзя ли мне исходники намылить??? MCU_Hunter@inbox.ru
Aleks17
Цитата(Charley @ Jan 24 2006, 14:37) *
Привет!
А нельзя ли мне исходники намылить??? MCU_Hunter@inbox.ru




Намылил
diper
Вот такая вещь есть... писал сам... давно... вроде даже работало.
Писалось под MSP430
код 4324 байт
глобальных переменных 48 байт
скока стека жрет - хз
для работы требует только один буффер 512 байт
(для входных данных, выходны данных, и внутренних рассчетов)
Чтоб заработало надо определить несколько define
и реализовать функции доступа непосредственно к носителю данных
возвращающих true если норма и false если что то не так
uchar MMCInit(void);
uchar MMCReadSector(uchar *buf,ulong sector);
uchar MMCWriteSector(uchar *buf,ulong sector);
(кто не в курсе секторы по 512 байт smile.gif
Тестировалось с картой MMC вроде 16 МБ (FAT12)

Если у кого заработает отпишите...
diper
Откомпилил в 8.01 с контроллером 89С5131 с максимальной оптимизацией
Так что ответ на начальный вопрос положительный, главное чтоб заработало biggrin.gif

Код

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   4328    ----
   CONSTANT SIZE    =      2    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     47     181
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.
Polaris
Цитата(ALexx @ Sep 28 2004, 11:59) *
А где взять?
Есть тут у меня файловая система FlashFile от Progressive Resources
(http://www.prllc.com) . Подойдет ли?
Есть идея организовать файловую систему в I2Cшной памяти...
Понятно, что переписать низкий уровень надо (там приемм, передача байта, буфера), просто может попадалось на глаза готовое (или близкое к готовому) решение.

А зачем в I2C запихивать избыточную FAT? Смысл в ней есть только в случае сопряжения с компьютером, а кто будет сопрягать I2C? Можно придумать гораздо более простой и эффективный способ хранения данных
alm_
Если ты используешь Atmel DataFlash - поищи DFSS у дистрибютеров Atmela: вроде свободня библиотека, а попробуй найди
dm_mur
ДФСС есть на местном ФТП. Но FlashFile от Progressive Resources как-то понятнее. И легко портируется. С ее помощью я как раз в И2Ц-ной памяти и организовывал файловую систему
Alex31
Цитата(diper @ Jan 31 2006, 19:35) *
Вот такая вещь есть... писал сам... давно... вроде даже работало.
Писалось под MSP430
код 4324 байт
глобальных переменных 48 байт
скока стека жрет - хз
для работы требует только один буффер 512 байт
(для входных данных, выходны данных, и внутренних рассчетов)
Чтоб заработало надо определить несколько define
и реализовать функции доступа непосредственно к носителю данных
возвращающих true если норма и false если что то не так
uchar MMCInit(void);
uchar MMCReadSector(uchar *buf,ulong sector);
uchar MMCWriteSector(uchar *buf,ulong sector);
(кто не в курсе секторы по 512 байт smile.gif
Тестировалось с картой MMC вроде 16 МБ (FAT12)

Если у кого заработает отпишите...


У меня заработало на Atmege8 с карточкой SD на 2Гб и FAT16big. Причем практически со второго раза! beer.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.