|
0 / 0 / 0
Регистрация: 09.02.2016
Сообщений: 5
|
|
STM32F429 USB Mass Storage из внутренней flash31.07.2018, 14:56. Показов 18292. Ответов 56
Ребят, можете помочь, нужно реализовать usb Mass Storage на stm32f429, используя внутреннюю флеш память контроллера. Устройство в системе опознается как Mass Storage, при попытке на него зайти, ОС просит его отформатировать, при форматировании выскакивает ошибка. проект прикладываю
0
|
|
| 31.07.2018, 14:56 | |
|
Ответы с готовыми решениями:
56
STM32 USB MASS STORAGE in FLASH memory STM32f429 mass storage device + sdram LPC1788 Mass Storage device на базе SPI Flash |
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 08.08.2018, 21:09 | ||
|
вообще реализация FAT не так уж и сложна. При первом же беглом поиске нашлось вот это. То есть адаптированный FIFO, возвращающий "ленту" файлов и структруры FAT16, клеющий ее на лету, отталкиваясь от смещения читаемых данных - это все что нужно, получается. Не по теме: Ps: давно хотел сделать. Немного для других нужд. Придется вернуться к этому вопросу ). Заодно с gcc еще поковыряю. 20кб лоадер у мне получился в Keil с Peripheral library, но гляда на gcc для avr - он не всегда оптимален.
1
|
||
|
|
||
| 08.08.2018, 21:17 | ||
Я пока по Записки инженера - Описание файловой системы FAT16 не читалку, а писалку сейчас мастерю. Чтобы структуру лучше понять.
0
|
||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 08.08.2018, 22:52 | |
|
...я ссыль дал на прожект в котором фат описан уже в структурах. Там вроде бы три файла хидеров, из которых вполне можно выдернуть то что нужно.
0
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 12.08.2018, 22:25 | |
|
О.. ну круть, выглядит убедительно ). Раз есть хотя бы статичный массив, теперь понятно что куда надо подставлять.
0
|
|
|
|
||
| 15.08.2018, 20:40 | ||
|
Запилил запись.
Просто подставить в тот же код запись не вышло. 1 сектор записывается и всё, флешка отваливается полностью. Переместил прогу в ОЗУ, чтобы выполнялась не со флеша. Не помогло. В ходе копания выяснилось, что сколь-нибудь долгие операции нельзя проводить в обработчике прерывания. Попытка вернуть USBD_BUSY из STORAGE_Read_HS/STORAGE_Write_HS вместо USBD_OK ничего не дала. Как тоже выяснилось, коду, сгенерированному CubeMX, глубоко пофиг на возвращаемый мной результат - OK, Busy или Fail. Код считает что всегда всё OK, о чём рапортует хосту, и хост продолжает слать новые пакеты для записи, которые девайс принять пока не может. И в итоге флешка отваливается.Понадобилось как-то сообщить хосту, чтобы подождал. Для этого разделить методы SCSI_ProcessRead/SCSI_ProcessWrite, чтобы можно было опционально задержать возвращаемый ими результат и отрапортовать о завершении позже.Метод разделения показан в статье Кликните здесь для просмотра всего текста
1
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 15.08.2018, 20:57 | ||
![]() кубик вообще к USB как то фривольно относится вроде куча флагов, проверок, а половину в своем же коде не выполняет ![]() так что для USB нужен не просто напильник, а драчовый
0
|
||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 16.08.2018, 09:31 | ||
|
0
|
||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 18.08.2018, 13:14 | ||
|
0
|
||
|
|
|
| 28.09.2018, 14:11 | |
|
Вылезла неожиданная проблема.
При чтении файла с накопителя, оно , я предполагал, должно было идти по порядку, блок за блоком. Однако, на одной машине оно перескакивает куда-то в конец файла, а потом возвращается обратно:
1
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 01.10.2018, 08:52 | |
|
Нда.. я таки предполагал, что это возможно. Но до этого в принципе все получалось нормально. Скорее всего это происходит из-за функции API 'seek', которая перематывает позицию файла в нужный кусок. Надеюсь, этого нет для записи (хотя, в стриме 'seek' работает и для записи), для чтения придется доделывать, если это критично ).
PS: у меня задачи чтения не стояло, потому что hex был защищен кодированием. Соответственно, защиты прошивки была основным приоритетом.
0
|
|
|
|
||||||
| 01.10.2018, 09:42 | ||||||
|
У меня прошивка тоже не читается. Но есть ещё внешняя data flash, читающаяся в закодированном виде.
seek может поменять позицию в файле, это понятно. Но вот нафига это происходит посреди последовательного чтения?...
0
|
||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 02.10.2018, 08:23 | |
|
Есть подозрение, что FAT16 Ваш может быть не совсем правильно сформирован. В итоге в нем есть какая-то предполагаемая ссылка на теневой FAT (дублирующий), или на какую-то существующую, но не сформированную область. В итоге получается, что файлы пытаются читаться одновременно, но оффсет второго (или может даже нескольких, учитывая рандомные оффсеты) выбирается неправильно.
PS: у себя я такого не видел, ну у меня был FAT12.
1
|
|
|
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 8
|
|
| 02.10.2018, 08:40 | |
|
Rius, извиняюсь за тупой вопрос, но у меня точно такая же плата как из вашего видео, пытаюсь залить ваш проект, но ничего не работает.
Открывал проект через TrueStudio, может ли в этом быть причина? И с какого адреса надо прошивать? Спасибо.
0
|
|
|
|
|
| 02.10.2018, 09:46 | |
|
lenagibe, у меня проект в Eclipse с некоторыми плагинами. В других IDE просто так не откроется.
Загрузчик с адреса 0x08000000, а демки уже он сам прошьёт куда надо, кажется на +128 КБ от своего начала.
1
|
|
|
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 8
|
|
| 02.10.2018, 21:54 | |
|
Rius, спасибо, буду пробовать
0
|
|
| 02.10.2018, 21:54 | |
|
USB mass storage class USB on stm32f107 + mass storage Stm32 USB host Mass Storage Вопрос по USB Mass storage на stm32f103 USB Mass Storage Device на STM32F4 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|