roboforum.ru

Технический форум по робототехнике.

Непонятки с AVR-DOS

Непонятки с AVR-DOS

MiBBiM » 07 янв 2009, 12:20

Итак, в хелпе приводится порой противоречивая информация, кое-где вообще не конкретизировано (кое-что вообще недоступно для моего понимания :) ), поэтому выставляю спорные моменты на общее обсуждение.
  1. [[Список команд AVR-DOS#InitFileSystem]], http://members.aon.at/voegel/Help/InitFileSystem.htm
    bPartitionNumber - это номер раздела. еще кое-где упоминались термины "second FAT, first FAT". Я правильно понимаю, что авр-дос поддерживает два логических диска одновременно? три уже не поддерживает, или просто третий будет игнорироваться? параметр bPartitionNumber может принимать значения 2 1 0? Что будет если сделаем 0 (есть ошибка номер 22, http://members.aon.at/voegel/Help/AVR_DOS_File_System.htm, говорящая о том, что может быть не более двух фатов)?
  2. везде говорится об ограницении на длину имени файла и директории в 8 символов, однако в примерах автор резервирует строки по 11, 12 символов ([[Список команд AVR-DOS#ChDir]], String * 12). таки что верно?
  3. пишется о поддержке фат32, однако описание ошибки 19, http://members.aon.at/voegel/Help/AVR_DOS_File_System.htm говорит об обратном.
  4. команда [[Список команд AVR-DOS#Print]], http://members.aon.at/voegel/Help/PRINT.htm поддерживает только аппаратную реализацию RS-232? Что означает (The AVR-DOS filesystem also supports PRINT. But in that case, only strings can be written to disk)? то, что разрешен только вызов константной строки print "asd" или то что принт выводит переменные в файл в ASCII представлении?
  5. что означает слово wildcards и чем его отличается от unreadable characters? [[Список команд AVR-DOS#Kill]], http://members.aon.at/voegel/Help/Kill.htm
  6. описание ошибки 99, http://members.aon.at/voegel/Help/AVR_DOS_File_System.htm говорит о том что позиция курсора неверна когда она принимает неположительные значения. однако в 4. File handling - FilePosition говорится о том что переменная позиции курсора 0-based. Где правда?
  7. что означают dir entry, root entry, root area - координаты секторов входа в директорию, корневую директорию?
  8. описание ошибок 49, 53, 54, http://members.aon.at/voegel/Help/AVR_DOS_File_System.htm вообще о чем?
  9. что выводят процедуры time, timedate, date - время последнего изменения или время создания файла?
  10. что означает Volume ID, [[Список команд AVR-DOS#GetAttr]]
Последний раз редактировалось MiBBiM 07 янв 2009, 17:00, всего редактировалось 5 раз(а).

Re: Непонятки с AVR-DOS

EdGull » 07 янв 2009, 12:33

а может автору написать?
помоему там кроме него чёрт ногу сломит.

Re: Непонятки с AVR-DOS

MiBBiM » 07 янв 2009, 12:41

ну, большинство "непоняток" относится к фат32 как таковой. остальное как-нибудь уж сам методом научного тыка додумаю :)

Re: Непонятки с AVR-DOS

Vooon » 07 янв 2009, 12:56

MiBBiM писал(а):2. везде говорится об ограницении на длину имени файла и директории в 8 символов, однако в примерах автор резервирует строки по 11, 12 символов ([[Список команд AVR-DOS#ChDir]], String * 12). таки что верно?


Используется старый досовский формат 8.3.

ЕМНИП такая структура:
Код: Выделить всёРазвернуть
struct FileName
{
    BYTE basename[8];
    BYTE extension[3];
};

Re: Непонятки с AVR-DOS

=DeaD= » 07 янв 2009, 13:01

А 12 символов видимо, чтобы еще и "." запихнуть сразу и не париться.

Re: Непонятки с AVR-DOS

Vooon » 07 янв 2009, 13:07

Вообще рекомендую заглянуть в FAT-FS Элм-Чана, там довольно простой и понятный код.
Помню есть еще какая-то проприетарная либа, тогда ее исходники меня отпугнули :)

Re: Непонятки с AVR-DOS

MiBBiM » 07 янв 2009, 13:09

ну, сейчас уже поздно глядеть. осталось процентов 30 перевести)
P.S. кст, внутреннее представление времени в досе это как в юниксах?

Re: Непонятки с AVR-DOS

Vooon » 07 янв 2009, 13:26

Вроде нет. Если совпадает с http://elm-chan.org/fsw/ff/en/sfileinfo.html
То:
Код: Выделить всёРазвернуть
fdate
    Indicates the date that the file was modified or the directory was created.

    bit15:9
        Year from 1980 (0..127)
    bit8:5
        Month (1..12)
    bit4:0
        Day (1..31)

ftime
    Indicates the time that the file was modified or the directory was created.

    bit15:11
        Hour (0..23)
    bit10:5
        Minute (0..59)
    bit4:0
        Second / 2 (0..29)

Re: Непонятки с AVR-DOS

EdGull » 07 янв 2009, 15:21

кстати, катастрофически нехватает команды формат... :oops:

Re: Непонятки с AVR-DOS

MiBBiM » 07 янв 2009, 15:31

ну если добавление этой команды в документацию чем-то поможет... :)
P.S. А чем форматирование на компьютере не устраивает?

Re: Непонятки с AVR-DOS

EdGull » 07 янв 2009, 15:35

не... можно без документации... лишбы сама команда была бы... :wink:

Re: Непонятки с AVR-DOS

Vooon » 07 янв 2009, 15:54

А вот в FatFs есть! :)

Re: Непонятки с AVR-DOS

EdGull » 07 янв 2009, 15:59

и она написана на великом и могучем васике? :wink:

Re: Непонятки с AVR-DOS

Vooon » 07 янв 2009, 16:04

Как ты мог такое подумать?!
Конечно же на глобальном и надежном си! 8)

Re: Непонятки с AVR-DOS

EdGull » 07 янв 2009, 16:16

вот то-то... :P


Rambler\'s Top100 Mail.ru counter