Oleg_IT
Nov 30 2010, 10:13
Есть код Mass Storage в оперативной памяти. Есть код работы с SD/ММС. А как это всё соединить не соображу. Где создание файла, где открытие, закрытие? Помогите разобраться.
toweroff
Nov 30 2010, 10:31
Цитата(Oleg_IT @ Nov 30 2010, 13:13)

Есть код Mass Storage в оперативной памяти. Есть код работы с SD/ММС. А как это всё соединить не соображу. Где создание файла, где открытие, закрытие? Помогите разобраться.
а зачем?
масс сторадж тем и масс, что файловая система логически обрабатывается на писюке
массу главное правильно отправить свои физические характеристики (цилиндры, сектора...)
Oleg_IT
Nov 30 2010, 10:40
А как сказать этому коду Mass, который на ARM работает, что бы он файлы не в оперативной памяти хранил, а работал с карточками SD/ММС?
Если вы пытаетесь объединить две демки в одну, но более функциональную (например из Keil), то просто подмените всего две функции из MSC_MemoryRead и MSC_MemoryWrite (это из Keil). Точнее даже не подменить нужно, а всего лишь вставить в нужное место чтение сектора и запись сектора SD вместо чтения и записи RAM.
Oleg_IT
Nov 30 2010, 13:14
Да, я пытаюсь объединить две демки
C:\Keil\ARM\Boards\Keil\MCB2470\USBMem\
и
C:\Keil\ARM\Boards\Keil\MCB2470\RL\FlashFS\SD_File\
Как я понимаю надо изменить аргумент функции USB_WriteEP(MSC_EP_IN, &Memory[Offset], n); с &Memory[Offset] на что-то прочитанное из файла по смещение Offset?
А как быть с MSC_MemoryWrite (void) с ходу не соображу.
Oleg_IT
Nov 30 2010, 13:44
Спасибо. Вы ответили на мои вопросы, которые я ещё только хотел задать
Oleg_IT
Dec 1 2010, 06:46
Функции mci_read_sect и mci_write_sect в реализации имеют три аргумента, третий аргумент cnt, а в Вашем файле вызов идет с двумя аргументами. Откуда cnt брать?
Ну а чуть-чуть подумать если? Хотя бы комментарии почитать к функциям?
cnt = 1
Oleg_IT
Dec 1 2010, 09:02
Дык в комментариях ''Read one or more..". Откуда мне, новичку в этом вопросе? знать, какое количество читать в данном конкретном случае.
Спасибо!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.