а по-подробней ?
Вид для печати
Поподробней не будет, плата ещё официально не выпущена ;)
Практически закончил работу над первой предверсией программы работы с образом CF. Ещё много чего из задуманного не реализовано, но на определённом круге сценариев программу уже можно использовать. Некоторое количество времени погоняю сам в реальной работе, потом выложу. Дальнейшее доведение программы до ума - по мере того, как будет нужно отдохнуть от разборок с драйверами :)
Программу выложил.
Принцип работы.
Принцип деления пока один - в начале образа идёт 32 раздела по 32 Мб под RT-11, которые в принципе могут рассматриваться и как нулевой раздел под RSX, затем разделы по 1 Гб под RSX. В зависимости от размера карты может быть и меньше разделов под RT (карта 1 Гб или меньше) с отсутствующими разделами RSX (кроме нулевого). Размер последнего раздела (как под RT - если карта меньше 1 Гб, так и под RSX) может быть меньше 32 Мб или 1 Гб. Мб и Гб - правильные - то есть основанные на 1024. Есть кнопки создания, переименования и удаления конфигурации, а так же кнопки, позволяющие менять конфигурации в списке местами. Есть кнопка сохранения списка конфигураций без выхода и кнопка выхода без сохранения списка конфигураций
Файл образа CF и связанные с разделами на нём файлы разделов в терминах программы - конфигурация. Совсем не обязательно связывать все разделы в образе карты с файлами - всё зависит от потребностей. Конфигураций может быть несколько - даже связанных с одним и тем же файлом образа. Конфигурация может быть не связанной с образом и/или с файлами разделов. При выходе из программы она сохраняет список текущих конфигураций. При первом запуске автоматически создаст пустую конфигурацию. Положение в списке раздела определит - в какое место будет загружено содержимое файла или из какого место информация будет сохранена в файл, скажет, первый в списке 32-ух Мб-ных разделов файл попадёт в первые 32 Мб карты, второй - во вторые и т.д.
Заполнять список файлов разделов можно как руками (осторожно с относительными путями - программа никак не контролирует их), так и сбрасывая ДрагЭндДропом файлы в ячейки файлов разделов. Можно выделить несколько файлов - они будет последовательно распределяться по ячейкам пока не будут исчерпаны или файлы или ячейки. Если сброс был на разделы 32 Гб - лишние файлы не будут заполнять ячейки 1 Гб и наоборот.
Есть кнопки выгрузки из образа всех разделов, для которых указаны файлы и загрузки во все разделы, для которых указаны файлы.
Из нереализованного
- Нет возможности выборочной выгрузки/загрузки файлов из конфигурации. Обойти можно - удалив из конфигурации всё, кроме нужных файлов разделов, а для того, что бы не потерять конфигурацию - выйти после этого без сохранения. Будет реализовано.
- Нет кнопок перестановки описаний разделов местами. Ну, пока простого способа обхода этого нет. Будет реализовано.
- Нет кнопки копирования конфигурации. Пока простого способа сделать этого нет (непростой - отредактировать файл конфигураций руками). Будет реализовано.
- Нет кнопки Browse для выбора файлов. Способ обхода - драгЭндДроп. В планах реализации нет.
- Есть заклада Сообщения, на которой можно увидеть статусные и отладочные сообщения. Отладочные со временем уберу, а статусные смотреть так немного неудобно. Будет изменено.
- Размеры элементов пользовательского интерфейса меняются в зависимости от размера окна программы - не всегда к приемлемым размерам, особенно при уменьшении. Постепенно будет исправлено.
- В голове крутятся ещё мысли по поводу того, что бы ещё добавить в программу. Что то будет реализовано :)
- Серая унылая тема оформления. В планах менять нет :)
- САМАЯ ГЛАВНАЯ НЕРЕАЛИЗОВАННОСТЬ - работа напрямую с картой CF с запоминанием её по серийному номеру. Постараюсь реализовать, так как будет СИЛЬНО удобней, но... не знаю, получится ли - знаний не хватает. Постараюсь.
- Со временем напишу документацию. Может быть. Пока вот так, как щас.
- В программе точно есть ещё необнаруженные ошибки и код, не обрабатывающий ожидаемые ошибки (типа ошибок в/в). Будет фикситься.
- При выгрузке и загрузке (особенно если файлов не один) программа как бы замерзает. При этом никаких сигналов типа - не мешать - думаю - не подаёт. Не обойти. Будет исправлено.
Когда в программе будет реализована большая часть моих хотелок и почищены ошибки - выложу исходники.
С заявками типа - а вот если в программу добавить/в программе поменять - будут поступать по простому - если какая то идея понравится - могу и реализовать, если нет - дискуссий, почему нет - не будет.
Особо хотящим - ждите исходники и пилите сами :)
Добавил забытое ночью :)
- - - Добавлено - - -
Выложил обновление. Немного улучшена юзабилити (странно, что с самого начала в голову идея не пришла) и исправлена... хм.. ошибка(?), с которой не понятно как, но программа работала :) Или это теперь ошибка? Но программа продолжает работать :)
- - - Добавлено - - -
Изменил максимальное количество разделов для RT на максимально возможное - 64 (или 100(8)). Драйвер поддерживает, так что теперь не будет проблем с образом карты, где использовался ZF77: :)
Теперь пересечение разделов RT и RSX - (RT ZF00 - ZF37) <-> (RSX ZF0) и (RT ZF40 - ZF77) <-> (RSX ZF1)
Новый вариант пока не выкладываю - когда накопятся ещё изменения или кому то срочно понадобится что то из не выложенных пока изменений.
В силу несложности реализации следующим некосметическим изменением скорее всего будет возможность выгрузки группы разделов.
С одной стороны слегка продвинулся понимания работы с прерываниями в варианте реализации на полуплате (мысли в правильном направлении пришли уже когда засыпал, с утра только частично проверил), вечером, в зависимости от свободного времени продолжу...
С другой стороны после игр с программой, образом и самой CF картой понял, что надо работать напрямую с картой, а не посредником образом - с образом шибко неудобно и долго. Здесь тоже есть подвижки - и скорее всего, в следующем релизе, будет как добавка из предыдущего сообщения, так и прямая работа с картой. Когда - опять же зависит от свободного времени
Уф.... сдвинулся с мёртвой точки. Посадил тупейшую ошибку (аж трижды!!) типа MOV 340,@#177776 (в коде немножко не так выглядит, но смысл тот же)..
Завтра ещё немного поиграюсь с прерываниями и буду играться с драйверами
:):):):):)
Косметические улучшения драйвера под RT. Завтра попробую переключить на работу по прерываниям и начну пробовать сделать под XM
Нашёл свой косяк в загрузчике с CF в ПЗУ. Мелочь, но неприятно :) Поправимо элементарно, на выходных, наверное, соберу новое содержимое ПЗУ и прошью :)
Сегодня вечером играюсь со второй платой. Перепрошил CPLD новой прошивкой, проверил работу. Претензий нет :)
Продолжаю играться с драйвером под RT. Вот блин, думал первым сделаю под RSX :)
Чистка и выпрямление драйвера продолжается.
С прицелом на прерывания, работу под XM, настройку адреса RKC и настройку отображения номеров устройств в разделы на карте.