Нет, дальше я уже скорость не повышал (насколько я помню, там уже надо в программе делитель таймера на другое число переводить. Сейчас там просто сдвиг задержки в пределах байта). Если хотите, вы можете увеличить скорость ещё больше - исходный текст есть. А значения в ПЗУ, насколько я помню, увеличиваются до 255, поэтому нужно просто ещё в два раза сократить интервал.
Правда, не помню, что там было по адресу 1512 - это надо в дизассемблере вам смотреть.
А выжать можно и больше (в конце-концов, можно до скорости процессора дойти - но тут таймер уже придётся отключать и генерировать сигналы напрямую).
Интересно было бы поэкспериментировать со скоростью загрузки , но к сожалению я с такой задачей не справлюсь, т.к. пока не обладаю необходимыми знаниями
В принципе, я сделал поддержку папок. Но ещё надо тестировать и программу в приличный вид внутри приводить. В FAT16 к сожалению, корневой каталог и любая папка представлены по-разному - в первом случае это область последовательных данных с записями о файлах, а во втором это файл, в котором те же записи о файлах, но хранятся они, естественно, в разных кластерах, а не последовательно, как в корневом каталоге. Отсюда и проблемы. Мне пока не понравилось, как я сделал. Но... работает вроде бы.
Отличная новость
А то я уже думал, что Вы не решитесь делать поддержку папок. Спасибо, что откликнулись на просьбу. Буду с нетерпением ждать финальную прошивку с поддержкой папок.
Ну вот, потестируйте. Имейте в виду - никаких сортировок сделать нельзя - файлы и папки выводятся в том порядке, в каком они хранятся на карте.
Директория с одной точкой - это текущая директория. С двумя - уровень выше. Всё, как обычно.
Файл удалён.
Последний раз редактировалось da-nie Ср фев 26, 2014 18:48:25, всего редактировалось 1 раз.
Немного потестировал прошивку Папки на флешке эмулятор видит. Если захожу в папку, потом из нее обратно выйти не могу, эмулятор магнитофона виснет, никак не реагирует на кнопки. Помогает только перезагрузка девайса.
Странно, у меня не виснет. А попробуйте подождать, может быть, и выйдет на уровень выше. Сколько у вас файлов в папках? Я штук 200 держал и работало. И какой у вас объём карты?
А попробуйте-ка вот эту прошивку. Это более ранний вариант.
Файл удалён.
Последний раз редактировалось da-nie Ср фев 26, 2014 18:48:41, всего редактировалось 1 раз.
Кажется, понял проблему. Почему-то в моём описании FAT не указано, что:
Если в поле номера первого занимаемого кластера для дескриптора с именем ".. " находится нулевое значение, это означает, что данный каталог содержится в корневом каталоге.
Я полагал, что там будет кластер корневой директории. И напрасно полагал. На моей карте он попал в промежуток корневой директории, а на вашей нет. Вот исправленная прошивка:
Файл удалён
Последний раз редактировалось da-nie Ср фев 26, 2014 19:34:42, всего редактировалось 2 раза.
Вот вам немножко другая прошивка. Здесь сделано запоминание до 20 уровней вложенности папок, чтобы вернувшись можно было попасть на выбранную уровнем выше папку. Вложить можно и больше 20 папок, но запоминаются только первые 20.
Просьба модераторам отредактировать первое сообщение этой темы и внести туда новую прошивку, представленную выше. Сам я этого сделать не могу, т.к. редактирование сообщения невозможно.
попробовал поставить память м514400 ,я так понял она в 2 раза менше,тест не проходит,но вроде работает на всех скоростях!?
сколько памяти используется во время работы?
Не более 64 килобайт. Это максимальный размер блока у tap-файла. Поэтому если у вас память не менее 64 КБ, то работать может и будет.
Но у вас м514400 вроде как 1 мегабит. То есть, полный аналог той, что я применил. И следовательно, должна проходить тест.
Добрый день! Начал собирать сей девайс и теперь столкнулся с вопросом - в atmega16 - 16 кбайт флеш памяти для программ. Во вложенных здесь прошивках размер *.hex файла 32-39 кбайт.... Я похоже туплю в чем-то, но для какой программной среды эти прошивки? Как настроить фьюзы? Просветите пожалуйста.
Так в hex-файле шестнадцатиричное представление чисел, плюс пробелы, плюс адрес, потому он и больше раза в 2-3.
Fuse настроить очень просто - нужно выбрать внешний кварцевый генератор и отключить JTAG. Подробнее надо смотреть в вашей программе прошивки контроллера, ибо фьюзы могут быть инвертированы, а могут и нет.
da-nie писал(а):Так в hex-файле шестнадцатиричное представление чисел, плюс пробелы, плюс адрес, потому он и больше раза в 2-3.
Fuse настроить очень просто - нужно выбрать внешний кварцевый генератор и отключить JTAG. Подробнее надо смотреть в вашей программе прошивки контроллера, ибо фьюзы могут быть инвертированы, а могут и нет.
Вот в файле te.hex (последняя прошивка Firmware 2.0), если открыть его Hex Editor Neo, четко видно, что последняя ячейка с информацией имеет шестнадцатиричный адрес 9934, что соответствует 39220 ячейкам памяти или байтам... При 16 кбайт информации последний адрес должен быть 3FFF..... При чем тут пробелы или система исчисления - байт он и в африке байт, как его не пиши - в двоичной, шестнадцатиричной или десятичной системе исчисления.
Вот файл te.c - это файл программы на языке Си, а чем его оттранслировать???....
Можно ли описать, как Вы прошивали, какой программой, какой программатор (у меня USBASP v2.0)? Вообщем для тех кто на бронепоезде... с деталями....))