Содержание
Интернет-магазин
Пакет программ MCHPFS USB Framework 2.3 содержит пример реализации устройства хранения данных. Данный пример может быть сконфигурирован и запущен с хранением данных как во внешней памяти (в SD-карте памяти), так и во внутренней памяти программ микроконтроллера.
Рассмотрим как модифицировать программу для хранения файлов внутри микроконтроллера - в памяти программ контроллера PICkit 2.
плюс в файле HardwareProfile - PK2.h нужно задать размер блока записи и стирания
/*******************************************************************/ /******** MDD File System selection options ************************/ /*******************************************************************/ #define USE_PIC18 #define ERASE_BLOCK_SIZE 64 #define WRITE_BLOCK_SIZE 32
DATABANK NAME=myMSD START=0x600 END=0x7FF PROTECTED
//The size (in number of sectors) of the desired data portion drive #define MDD_INTERNAL_FLASH_DRIVE_CAPACITY 8 //MDD_INTERNAL_FLASH_MAX_NUM_FILES_IN_ROOT must be a multiple of 16 #define MDD_INTERNAL_FLASH_MAX_NUM_FILES_IN_ROOT 16 #if defined(__C30__) #define FILES_ADDRESS 0x8000 #else #define FILES_ADDRESS 0x6000 #endif
Не забудьте выбрать целевой контроллер PIC18F2550
Можно скомпилировать проект и загрузить его в PICkit 2.
После успешной загрузки вы должны увидеть что нашелся новый дисковый накопитель и в нем записан файл FILE.txt
С файлом можно осуществлять все привычные манипуляции: редактировать, сохранять, переименовывать, удалять, создавать новые файлы.
Пользовательская программа так же может сохраниять данные в файлы, читать, удалять и тд.
Следует отметить, что размер памяти микроконтроллера не бесконечен.
Исходные коды примера хранения данных (Mass Storage Device) в PICkit 2.
Дискуссия
Интересный проект. У меня вопрос к тому кто работал с ним. Где прошит бутлоадер? Это отдельная область? Как перенести этот проект на другой PIC микроконтроллер без бутлоадера?
Насколько я понял, используется последовательная память программатора на микросхемах 24с512? Другая периферия программатора при этом не задействована, т.е. не нужна для устройства хранения MSD?
как понимаю Вы хотите запустить этот проект не на pickit2 а на своем железе. скачайте Microchip Application Library (http://www.microchip.com/mal) и смотрите примеры USB Device - Mass Storage. Хранить файлы можете как в памяти программ микроконтроллера, так и во внешней памяти. В данном конкретном примере файлы лежат в памяти программ (естественно размер сильно ограничен).
И откуда взялся текстовый файл? Спасибо)