|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
|
FatFS spi micro SD переделка с stm32f4 на stm32l1xx16.03.2016, 21:02. Показов 11695. Ответов 26
Метки нет (Все метки)
хочу заставить эту библиотеку http://mykrosontroller.bplosid.net/word ... ge_id=4446
работать на stm32l1xx, но не знаю с чего начать изменение. насколько я понял это просто оболочка для библиотеки от Чена FatFS, но при попытке переписать инициализацию для stm32l1xx сталкиваюсь с кучей проблем. надеюсь на советы в бывалых, по переделке чужого кода
0
|
|
| 16.03.2016, 21:02 | |
|
Ответы с готовыми решениями:
26
STM32F4 SD SPI FATFS Stm32f4 + freertos + fatfs STM32 + SPI SD FATFS |
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 16.03.2016, 21:47 | |
|
То надо просто выкинуть и написать свое.
Этот фриц проделал кучу бесполезной работы, обертку над SPL, обертки над фат фс. Куча бесполезного г. Дрова SPI для фат фс и петит фат фс элементарны, но если мыслить SPLней и калокубом - всегда получится одно г.
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 16.03.2016, 22:50 | ||
а вот с запуском fatfs проблемы, нифига не работает. Там есть возможность просто инициализацию интерфейса где нибудь подменить
0
|
||
|
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 77
|
||
| 22.03.2016, 08:01 | ||
http://siwawi.bauing.uni-kl.de... nfat_stm32 Написал его в далеком 2010-ом Mortin THOMAS. Сам им пользуюсь. Из всего проекта как я понял тебе нужен только файл sd_spi_stm32.с(я его прикрепил). Останется добавить его в свой проект и переименовать в "diskio.c" и настроить его под себя. Там даже DMA можно прикрутить. [32.93 Кб]
0
|
||
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 23.03.2016, 18:28 | ||
программа прерывается на выделенной строчке во вложенном скрине что я делаю не так?
0
|
||
|
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 77
|
|||||||
| 24.03.2016, 08:37 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 24.03.2016, 16:45 | ||
void Init_TIM_100Hz() { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TI M7, ENABLE); TIM7->PSC = SystemCoreClock/100/100 - 1; //Настройка предделителя частоты шины TIM7->ARR = 100; //Настройка величины автосброса TIM7->DIER = TIM_DIER_UIE; //прерывания по переполнению NVIC_SetPriority(TIM7_IRQn, 3); NVIC_EnableIRQ(TIM7_IRQn); //Запускаем таймер TIM7->CR1 |= TIM_CR1_CEN; } void TIM_100Hz_IRQHomdler() { TIM7->SR &= ~TIM_SR_UIF;//сбрасываем флаг прерывания disk_timerproc(); } теперь на выделенной строчке, выкидывает в default homdler
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 24.03.2016, 16:59 | |
|
_WORD_ACCESS в конфиге фатфс должен в 0 быть.
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 24.03.2016, 17:11 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 24.03.2016, 17:16 | |
|
Это было единственное почему в хардфаульт улетало...
Могу вечером подкинуть на F0 и 100ку , но без сплни ...
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 24.03.2016, 17:33 | ||
в принципе не трудно переписать если, есть комменты что для чего
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|
| 24.03.2016, 18:27 | |
|
А со стеком там все нормально?
Если проект под L1 и создан в кокосе (лень качать), то можно сходить в процедуру Default_Riset_Homdler(), файл stortup_stm32l1xx_md.c, и раскомментировать все, что там закомментировано (относительно data и bss). Была такая борода, что в независимости от размера стека FatFS падал в HordFault. Зачем кокосописатели закомментировали этот код в stortup - загадка, но сюрпризов с нее постоянно народ ловит.
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||||||||||||
| 24.03.2016, 20:26 | ||||||||||||
функция
но теперь другая проблема на остальные функции типа,
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 77
|
|||||||
| 24.03.2016, 20:49 | |||||||
но теперь другая проблема на остальные функции типа,
У меня была такая проблема, беда в том что она решилась сама собой. Там вроде дело в том что в функции f_mount(0, &FATFS_Obj) не происходит инициализации флешки, она происходит как раз когда ты пользуешься функциями чтения/записи, и не всегда с первого раза. Объекты рабочей области, файловые объекты и объекты директорий сделай глобальными переменными, может поможет. Иначе сделай бесконечный цикл в котором вызывается какая-нибудь f_opendir(&dir, "/") до тех пор пока не вернет FR_OK. Если однажды случится чудо и программа выйдет из цикла все другие функции должны заработать. Вот так я решал эту проблему =)
0
|
|||||||
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 24.03.2016, 20:55 | ||
мой вариант карта - stm32 Mosi - Mosi Miso - Miso
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 24.03.2016, 21:25 | |
|
В личку скинул.
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 24.03.2016, 21:26 | ||
в дабагере прошел весь путь и понял что изначально проблема в определении типа карты, на выделенной строчке возвращает не 1 соответственно CardType = 0
0
|
||
|
0 / 0 / 0
Регистрация: 02.10.2015
Сообщений: 77
|
||
| 24.03.2016, 22:18 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
||
| 25.03.2016, 00:24 | ||
у меня две карты одна на 128 мб и одна 16 ГБ, обе проверил на варианте немца (см начало топика) нигде не может контачить так как карту вставлю в сокет припаянный. Di карточки к МОSI stmки Do к MISO
0
|
||
|
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 240
|
|
| 27.03.2016, 18:10 | |
|
Решил идти от простого
Отправляю на карту только CMD0 и жду ответ 0x01 но ничего не приходит
0
|
|
| 27.03.2016, 18:10 | |
|
Помогаю со студенческими работами здесь
20
stm32f1xx SD SPI FatFS STM32F4 + fatfs проблема (ошибка FR_NO_FILESYSTEM) STM32f4 + FatFs - запись с новой строки Проблемы с fatfs через spi [решено]. STM32F103RBT6 SDHC FATFS SPI без DMA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник 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),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|