Создание Образа Карты Mmc Usb

Создание Образа Карты Mmc Usb

AVR работаем с SDMMC картами памяти. Разбираемся с библиотекой Fat. Fs, пишем программу в AVR Studio, симулируем все в Proteus. Немного о Fat. Fs. Fat. Fs это модуль файловой системы для микропроцессоров. Он написан полностью на Си и поддерживается не только AVR, но и многими другими микропроцессорами PIC, ARM, 8. Вообще говоря, из той горы вариантов что я нашел, альтернатив этой библиотеке нет. По сравнению с другими, у Fat. Fs сплошные плюсы и их много Даже перечислять их лень взгляните на официальную страничку модуля http elm chan. Но он и занимает места немало, поэтому максимум возможностей может быть реализуем на контроллере с flash памятью как у ATmega. Для контроллеров с небольшой памятью порядка mega. Даже для Tiny эта библиотека не стоит в сторонке Для AVR с крохотным flash специально разработан Petit Fat. Fs module урезанный Fat. Fs. Fat. Fs великолепно документирован. Разбираемся, что входит в состав Fat. Fs. На момент написания статьи последняя версия, доступная для загрузки восьмая R0. August 2. 9, 2. 01. Дополнительно, нужно загрузить архив с примерами Fat. Инструкция по созданию образа флешки в программе UltraISO. Метод записи я выбрал USBHDD, еще для флешки есть. А функции для ATAMMCSDUSB нужно искать в примерах FatFs. Первые шаги в создании проекта для работы с SDкартой на основе модуля FatFs. Сложность тут не в подключении карты, а в образе диска,. S7PLC MMC Flash карта памяти password. Программатор карт памяти Siemens Simatic USBPROMMER 6ES7 7920AA00XA0. Создание с помощью мастера проекта в Simatic Manager и вставка папки System Data. Установка карты MMC в любой cardreader и снятие образа карты. Запись образов на USBфлешки и SDкарты. Fs sample projects он нам пригодится. Распаковываем архив модуля, открываем папку scr Файлы diskio. SD картой, жестким диском, usb флешкой. Эти файлы только каркас для будущей программы. Откройте diskio. с внутри только заготовки ATA. Поэтому данный файл нужно модифицировать самому, применительно к своему проекту. А функции для ATAMMCSDUSB нужно искать в примерах Fat. Fs sample projects. Fat. Fs. Эти файлы отвечают за работу с файловой системой FATxx. Настройки этого модуля вынесены в отдельный файл ffconf. UCHAR optioncc. XXXX. Wnk 100 1 Инструкция на этой странице. Модуль поддерживает длинные имена файлов Long file name support in ANSIOEM or Unicode. По дефолту, эта поддержка отключена, так как она требует дополнительное количество кода flash памяти и не малое. Без данной поддержки длинные имена будут преобразованы в т. Чтобы работать с длинными именами, библиотеке нужны специальные таблицы кодировок они находятся в папке scroption. Посмотрите на объемы файлов с китайскими корейскими японскими. Однако, реально, в размере он меньше, т. Таковой ищем в архиве с примерами, скачанный с официального сайта модуля. В папке avr находится большое количество файлов, но все что нужно это файл mmc. MMCSD картой. А, да, еще прихватите rtc. Давайте переименуем mmc. Итого, в папке с проектом должны находится файлы diskio. ВСЕrtc. c и rtc. hccsbcs. Создание Образа Карты Mmc Usb' title='Создание Образа Карты Mmc Usb' />Дополнительно подготовьте ваши любимые библиотеки для работы с UART чтобы выводить отладочные сообщения по каналу TX позже мы будем симулировать наш проект в Proteus. Дело касается функции void disk. По задумке, нам самим нужно реализовывать таймер и вызывать эту функцию каждые 1. Она выполняет роль привычного нам. Если вас смущает disk. Так что можете поглядеть там. Последние штрихи в этом файле нужно внести в функциях void power. SD-Firmware-Tool.png' alt='Создание Образа Карты Mmc Usb' title='Создание Образа Карты Mmc Usb' />В первых двух функциях изменяем инициализацию порта DDRB так, как нам нужно MISO должно быть входом, остальные MOSI, SCK и SS должны быть выходами. Кстати, в качестве SS может сгодиться любая другая ножка контроллера разумеется, относящаяся к порту вводавывода. Саму эту SS мы и указываем в директивах define CS. В комплект входит готовый ycable, cardreader и MicroSDкарта 2. USB Micro SD Card reader или USB SD Card reader. Жмем Load Goldcard. Patch MMC 12. С использованием уже готового образа goldcard. Таким образом, нет программы типа USB to ISO или простого способа создания образа ISO из любой загрузочной флешки и в. В качестве прошиваемого контроллера в проекте укажите ATMEGA3. Проверьте все в симуляторе Proteus нужно точно убедиться что все работает, чтобы потом не искать ошибку там, где ее нет. После, подключаем следующие файлы diskio. ВСЕОстальные файлы пока подключать не будем rtc. Не забудьте void disk. Создание Образа Карты Mmc Usb' title='Создание Образа Карты Mmc Usb' />Создание Образа Карты Mmc UsbВот некоторые из опций. Чем различается 1 и 2 написано у них на сайте. Честно, я непомню. Все равно нам пока это не важно Далее все оставляем по дефолту, про некоторые оставшиеся параметры расскажу по ходу статьи. Все, с первоначальной настройкой ffconf. Теперь заранее создадим проект в симуляторе Proteus, чтобы потом уже не отвлекаться от программы. Симуляция SDMMC карты памяти в Proteus. Сложность тут не в подключении карты, а в образе диска, который нужно указать в настройках SDMMC карты. Странно, но в Proteus е я так и не нашел какого либо упоминания, чем нужно воспользоваться, чтобы создать образ диска. Пришлось перерыть немножко гугл с яндексом. В итоге что то нашел воспользоваться нужно программой Win. Image, увы, не бесплатной. Скачайте е откуда нибудь. Когда скачаете, давайте попробуем создать виртуальный образ диска. Открываем меню File New. В окне Format выбираем Select custom image format. В следующем окне я указал файловую систему FAT1. МБ 4. 09. 6 КБ отображено строкой ниже. Указать можете что то свое, но помните, что в Proteus можно выбрать только целые значения 1,2,4,8. Нажимаем ОК, сохраняем образ в файле sd. Перед нами пустое окно диск пуст. Перетащите любые файлыпапки из проводника Windows в окно Win. Image и сохраните образ. Внизу, в статусной строке указан объем диска 4. КБ и сколько КБ свободно. Посмотрите на файл sd. МБ т. е. Win. Image создал динамический образ, виртуально он занимает 4 МБ, реально 4 МБ минус свободное пространство. Чтобы этот файл sd. Proteus у, переименуйте его в sd. Теперь переходим в сам симулятор, добавляем в проект mega. MMC карту она же SD в нашем случае и терминал из вкладки виртуальные инструменты. В свойствах MMC карты указываем объем 4 МБ и файл sd. Подключаем терминал к mega. UART. Подключаем SD карту к контроллеру DI MOSI, DO MISO, CLK SCK, CS SSили другая, которая указана в директивах CS. Прошивку укажем позже. Схема в Proteus. Итак, начинаем с самого простого I. ТОЛЬКО ЧТЕНИЕ КАРТЫ БЕЗ ПОДДЕРЖКИ ДЛИННЫХ ИМЕН ФАЙЛОВНастройки. Для начала выставляем его в 1, тем самым отгораживая себя пока что от лишних функций и файлов. Модуль выбрасывает функции f. Все доступные функции можно посмотреть на сайте или открываем файл ff. Все функции модуля за исключением дополнительных, включаемых флагом. В случае успешного выполнения функции возвращают FRESULTFR. Для этого вызывается функция. DSTATUS disk. Ну вот давайте мы и попробуем вывести в терминал строку из файла, находящегося на SD карте. Для этого нам потребуются 3 функции f. Если у вас есть опыт работы с Win. API, например, на C, или даже Pascal то вам эти функции покажутся очень знакомыми. Byte. To. Read сколько байт читаем из файла, и, Byte. Read указатель на переменную, в которую запишется, сколько было байт считано в итоге после завершения функции. Это нужно для контроля, если вдруг функция неожиданно. Тогда будет считано только 5, а 1. Я это покажу в примере ниже. Если вы истинный джентельмен, то после использования файла его нужно закрыть. FRESULT f. Теперь открываем наш образ sd диска в Win. Image не поленитесь, и укажите, чтобы файлы. Win. Image по умолчанию и кидаем в него foo. Win. Image, чтобы доступ к образу был свободен для симулятора. Пишем программу. С UART работайте сами. Эту функцию реализуем также сами, т. Запускаем. Демонстрация чтения с SD карты. На фото видно, что удалось считать лишь 1. ЧТЕНИЕ И ЗАПИСЬ НА КАРТУ БЕЗ ПОДДЕРЖКИ ДЛИННЫХ ИМЕН ФАЙЛОВНастройки. Сбрасываем флаг только чтение. Мы хотим создавать и записывать информацию в файлы и папки. Теперь давайте отвлечемся и подумаем, что происходит, когда мы создаем на жестком диске файл или папку. Операционная система вначале записывает аттрибуты файлапапки дата создания, скрытый системный и т. Откуда наш модуль будет знать, скока щас время Правильно, нам нужен таймер к слову   т. Но в системе FATxx время записывается в специальном формате, а не в том как мы привыкли видеть. Поэтому нужна некоторая функция, которая будет преобразовывать время попробуйте откомпилировать проект с. Давайте откроем rtc. Сразу бросается в глаза I2. C да, для получения времени здесь используется внешняя микросхема с интерфейсом I2. C. Часы реального времени, конечно, можно реализовать и самому внутри того же mega. Однако статья не о том, поэтому мы подправим нужную нам функцию DWORD get. Исходную функцию DWORD get. Поэтому файл ccsbcs. Разбираемся с основными WRITE функциями модуля Fat.

Создание Образа Карты Mmc Usb
© 2017