Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SDIO+FatFS+STM32F4 CMSIS
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
TmYAG
Здравствуйте! Изучаю SDIO и хочу прикрутить FS для работы с SD. Генерил кубовый проект, вполне работоспособно. Но я не очень любл HAL и SPL, да и изучение я построил на регистрах, поэтому вопрос: никто не делал проект со связкой FatFA+SDIO с использованием CMSIS?
Может кто поделиться? Хочу поразбираться.
Заранее спасибо!
Genadi Zawidowski
На регистрах...
Живой проект:

https://188.134.5.254/browser/trunk
https://188.134.5.254/browser/hfreceiver/trunk/sdcard.c

FatFS работает, причём последняя версия - с поддержкой exFAT.
AVI-crak
Очень странный проект, выглядит как огромная куча всего и вся. Там и fpga, и атмел, и кучка st, и даже россыпь периферийных чипов - всё в месте. Просто не верится что в один КВ приёмник можно столько деталей установить. sdcard придётся обрезать и частично переписывать.
Genadi Zawidowski
Обрезать разумеется. А КВ трансивер существует в нескольких вариантах, на разных процессорах (включая Renesas-овский Cortex-A9). В некоторые проекты не относящиеся к радио эти файлы тоже идут.
Переписывать аккуратнее, кстати - что первым кандидатом на перписывание в sdcard?

Цитата
Очень странный проект, выглядит как огромная куча всего и вся.

О, похоже Вы знаете, как устроены Makefile для проектов с иерархическим расположением файлов (чтобы не валить всё в корень). Если возмётесь переделать как образец хоть один из arm-овских Makefile и структуру проекта (например, вынести FatFS) - было бы здорово... А то добавление крупного куска (freeDV, более полусотни файлов) пока невозможно именно по причине "кучи".
AVI-crak
Проблема не только кучности, но и в размазывании зависимостей.
По мне так любой код поддержки сложной периферии должен делиться на три уровня.
Уровень конкретного железа - уникальный для каждого камня, в некоторых случаях это даже ногодрыг.
Уровень внешней периферии, конкретно здесь - несколько типов распространённых sd карт. У каждой разные возможности, а так-же скорости доступа.
И уровень пользователя - банальные и очень простые функции чтения/записи.

Здесь, как и в хавоских проектах, как и в сотнях себе подобным - всё свалено в кучу. Какова чёрта я должен вручную запускать карточку? Это должен делать отдельный процесс, полностью автоматически.

Переписать можно, это более удобно чем с примерами хала.
Genadi Zawidowski
Цитата
Это должен делать отдельный процесс, полностью автоматически.

Это Вы всё конечно правильно говорите... В Ваших проектах всё совсем правильно? Показали бы... Или поучавствовали в этом.
Но, думаю, топикстартеру все-таки даже такое может помочь.
mantech
Цитата(Genadi Zawidowski @ Oct 15 2016, 13:06) *
FatFS работает, причём последняя версия - с поддержкой exFAT.


Несколько не в тему, но хочу спросить - с карточками SDXC кто-нибудь работал? В чем разница с обычными?
Genadi Zawidowski
Не помню какая была - XC или HC - 32 гига у меня работала...
AVI-crak
Цитата(mantech @ Oct 16 2016, 17:09) *
В чем разница с обычными?

Есть стандартный протокол общения с чипом в карточке sd, для разных типов он немного отличается. Но стандартный протокол не даёт максимальной скорости. Работать будет, но радости не принесёт.

Показать... мой код не слишком причёсан, и даже сбоит в некоторых местах, всё нет времени поймать глюк. Так и кочует из проекта в проект с этим глюком, sm.gif вот когда поймаю - тогда и можно.
mantech
Цитата(Genadi Zawidowski @ Oct 16 2016, 14:33) *
Не помню какая была - XC или HC - 32 гига у меня работала...


32 это обычная SDHC. ХС начинаются от 64гигов.
Genadi Zawidowski
Специально купил в Юлмарте уценённую XC карту
TransFlash 64ГБ MicroSDXC Class 10 UHS-I Transcend Premium, TS64GUSDU1
В устройстве с моей библиотекой работает.
ps: кто-нибудь из Германии тут есть? Всоре после публикации линка на SVN кто-то начал рекурсивно его выкачивать...
Коллеги! Там же есть ссылка на странице "скачать всё одним архивом"! Компютер под сервером слабый, не выдерживает.
Откликнитеь, пока IP забанен.
AVI-crak
Цитата(Genadi Zawidowski @ Oct 21 2016, 04:00) *
Откликнитеь, пока IP забанен.


Офигеть, так это ваш личный проект...
Тогда проще делится через сторонние сервисы, например bitbucket.org . Только ссылку давать не на колонирование, а на готовое скачивание, например так https://bitbucket.org/AVI-crak/rtos-cortex-m3-gcc/downloads . А то они и тот сервак уронят.

И конкретно по проекту - как так получилось??? (смотрим фото)Нажмите для просмотра прикрепленного файла
Genadi Zawidowski
Цитата
И конкретно по проекту - как так получилось

Там не совсем так.
В обсуждаемом файле наружу торчат интерфейсные функции для FatFS от Chan.

При внимательном рассмотрении видно контроллеро-зависимую часть (отличия по выдаче команд в SD и прёму ответов) - в STM32 интерфейс более "прозрачен", в renesas он имеет некоторый интеллект.

Следующий уровень "наверх" уже работает только с "послать команду - проконтролировать ответ" и не зависит от контроллера. Ну и выполнение функций записи/чтения/получения информации тем более о типе транспорта не догадывается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.