Содержание
Интернет-магазин
Пакет программ 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?
И откуда взялся текстовый файл? Спасибо)