|
bfrokk
|
|||||||
STM32F429I-DISCO+USB Host Library+FATFS Помогите разобраться08.10.2014, 18:01. Показов 19797. Ответов 25
Метки нет (Все метки)
Возникла задача использовать STM32 как хост для USB Ftosh и записывать информацию с USB-флешки (музыка, картинки) на флеш память устройства. Для меня задача пока неподъемная, так как до этого писал программки для STM только с использованием CMSIS. Пока что требуется просто считать хоть что-то с флешки и убедиться что двигаюсь в правильном направлении.
Как мне кажется, самый простой вариант - это использование STM32CubeMX, где уже можно сгенерировать код иниацилизации USB-host и FATSF. Разъясните, пожалуйста следующие моменты и поправьте если бред: 1 - Нужно работать с USB mass-storage ctoss. У данного класса есть набор API (USBH_MSC_Read, USBH_MSC_Write и т.д.). Не понимаю как ими пользоваться. Допустим:
2 - Процитирую руководство:
В общем-то вопрос можно поставить проще: - Как считать что-либо с флешки? |
|||||||
| 08.10.2014, 18:01 | |
|
Ответы с готовыми решениями:
25
STM32F429I-DISCO+USB MSC STM32F429I-DISCO + EB-500 EVK, Надо разобраться! Помогите разобраться с файловой системой fatfs usb |
|
Oxford
|
|
| 08.10.2014, 18:28 | |
|
ну программу написать и считать.
|
|
|
bfrokk
|
|
| 08.10.2014, 18:34 | |
|
С чего начать?
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
| 08.10.2014, 19:03 | |
|
https://github.com/x893/CNC-STM32
здесь читает с флэшки файлы
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 08.10.2014, 20:00 | |
|
Я могу Вам дать полный комплект, но под F439. 429 у меня нет.
Кубом не пользовался. И без него хорошо.
0
|
|
|
Oxford
|
||
| 09.10.2014, 06:18 | ||
1. Поискать готовые примеры реализаций и попробывать завести. 2. Искать готовые библиотеки, разобраться в них и связать в кучу все, попробывать завести. 3. Изучать все с нуля, программировать свои либы, и работать спокойно. 4. Попросить кого-то за денежку состряпать готовый код. 5. Забить вообще на это дело и закончить не начав, пойти уепаться на диван с попкорном и включить ящик)) |
||
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
||
| 09.10.2014, 10:36 | ||
Если у Вас есть опыт, тогда вот ссылка на сайт http://mykrosontroller.bplosid... ge_id=2736 с большим количеством проектов (как примеры) для STM32F429 включая USB HOST MSC + FATFS.
0
|
||
|
bfrokk
|
|
| 09.10.2014, 11:26 | |
|
Это сложная задача для меня. Опыт работы с STM32 имеется, но в основном все делал на регистрах, без SPL и прочих наворотов. Тут сложность именно разобраться с библиотеками - какое взаимодействие между FATFS и USB-host, diskio и SCSI - все это превратилось в кашу для меня. Тем не менее, начинаю ковырять примеры, может разберусь.
|
|
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 09.10.2014, 13:20 | ||
1) Верхний уровень, пользовательское приложение: хочу нарисовать битмапную картинку из файла на флэшке. Вызываю FatFs для чтения файла по известному пути на флэш-диске. 2) Уровень FatFs: для чтения файла надо также прочитать запись о нём в директории, потом FAT-таблицу, потом уже собственно секторы с данными файла. Вызываю diskio для операций с секторами. 3) Уровень diskio: ба, а диск-то - USB-шный! Без помощи USB-hostа не обойтись, вызываю его. 4) Уровень USB-host: работаю с флэшкой - устройством класса mass-storage. Чтобы не изобретать велосипед, воспользуюсь SCSI-командами для работы с таким устройством. Каждый уровень делает свою работу и возвращает результат предыдущему уровню наверх.
0
|
||
|
bfrokk
|
||
| 09.10.2014, 16:35 | ||
|
||
|
Oxford
|
|
| 09.10.2014, 18:43 | |
|
Читайте тут http://itm-chan.org/fsw/ff/en/appnote.html
У него подробно там в картинках нарисованы взаимосвязи модулей. Как организована система FAT_FS Вообще эта либа очень корявая. У меня даже на телефоне FAT с косяками работает. Например косяки с длинными именами, не все корректно отрабатывает. Когда моя FAT отображает все корректно. |
|
|
bfrokk
|
|||||||||||
| 13.10.2014, 16:12 | |||||||||||
|
Расковыриваю пример http://mykrosontroller.bplosid... ge_id=2957
USBH_Process все время крутится в этой части кода и никак не войдет в условие if(UB_USB_MSC_HOST_Do()==USB_MSC_DEV_CON NECTED) в main.c:
|
|||||||||||
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
||
| 13.10.2014, 22:02 | ||
0
|
||
|
bfrokk
|
|
| 14.10.2014, 12:42 | |
|
Проблема в тактировании USB; пропустил, что должно быть на частоте 48 МГц
|
|
|
bfrokk
|
|
| 20.10.2014, 14:11 | |
|
При использовании USB Full-Speed, функциональные выводы USB обозначены не как альтернативные функции, а как дополнительные (additional). Как провести инициализацию USB-FS?
|
|
|
bfrokk
|
|||||||||||
| 26.11.2014, 17:14 | |||||||||||
|
С иниацилизацией разобрался. Возникла другая проблема. При попытке выполнить f_getfree("0:", &fre_clust, &fs);, программа застревает в данном цикле (stm32_ub_usbdisk.c):
|
|||||||||||
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
||
| 26.11.2014, 18:39 | ||
0
|
||
|
Otix_Vz
|
|
| 05.01.2017, 15:23 | |
|
При работе с USB-Ftosh на F429i-disco возникла проблема: когда создаю/открываю файл, функция f_open возвращает ошибку FR_DYSK_ERR. Начал копаться отладчиком в коде, наткнулся, что функция USBH_MSC_GetLUNInfo возвращает USBH_FAIL. Но когда вызываю сам USBH_MSC_GetLUNInfo в коде - возвращает USBH_OK.
В чем может быть проблема? |
|
|
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 35
|
||||||
| 04.06.2017, 07:21 | ||||||
|
Возникла очень похожая проблема, виснет через какое то время(2минуты) в функции записи
status из USBH_MSC_Write10 возвращаться USBH_MSC_BUSY Есть прерывания думаю может они сбивают запись и она конкретно сбиваеться В чем может быть ещё проблема ?
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 04.06.2017, 08:55 | |
|
Я не знаю, в чём у Вас проблема, но могу дать рабочий код из F429Dyscovery. Если что - некубовый. Для куба нету.
0
|
|
| 04.06.2017, 08:55 | |
|
Помогаю со студенческими работами здесь
20
Завоз STM32F429I-DISCO STM32: FatFS & USB Host & Flash - проблемы с чтением/записью STM32F429I-DISCO поставочная прошивка Какие то не понятки с stm32f429i-disco Вопрос по GUI stm32f429i-disco Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|