Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

STM32F769 DISCO - Karta SD nie mogę zapisać nic na kartę.

masterix07 03 Oct 2016 09:59 1371 17
  • #1
    masterix07
    Level 6  
    Witam wszystkich,

    mam stm32f7 disco. Chciałbym ogarnąć temat Karty uSD. I męczę się z tym któryś już dzień i mi nie wychodzi... Używam cuba doi generowania kodu. Karta jest po SDMMC. Używam FATFs. I ciągle nie mogę nic na kartę zapisać.. W plikach wygenerowanych z Cuba nic nie zmieniam, dopisuje tylko w main.c wydaje mi się poprawną obsługe. Jakieś pomysły?

    Tu wklejam kod:
    Code: c
    Log in, to see the code
  • #2
    User removed account
    Level 1  
  • #3
    masterix07
    Level 6  
    Nie nic takiego nie mam chyba. Zauważyłem że jak odpalam debbuger to to nie wykonuje sie nic z main.. a jak przerywam to wbija mi w hardfault_handlera.. wiesz może dlaczego ?
  • #4
    User removed account
    Level 1  
  • #6
    User removed account
    Level 1  
  • #7
    masterix07
    Level 6  
    tym tzn? ja nic nie widzie u ciebie w poście.
    Wydaje mi się że STM karty nie widzi bo jak użyłem poniższej funkcji wyskoczył mi FR_DISK_ERR


    Code: c
    Log in, to see the code


    A wyskakuje ci warning
    Code: csharp
    Log in, to see the code
  • #8
    User removed account
    Level 1  
  • #9
    masterix07
    Level 6  
    Możesz mi powiedzieć co to za funkcja ta disk_timerproc? Ją generuje cube? Bo ja jej nie mam..


    Próbuje to zrobić na rejestrach. Ktoś ma jakieś materiały które pozwolą mi zrozumieć jak to działa na rejestrach itd? Oprócz RM Bo nad nim aktualnie siedzę.

    Dużo rejestrów jest tylko do odczytu i tak się zastanawiam które z nich muszą się znaleźć w konfiguracji początkowej.
    moja konfiguracja na razie wygląda tak.
    Code: c
    Log in, to see the code


    No i pytanie takie. czy moge coś wysłać na karte bez FATFs? Chodzi mi o to że do tej pory widziałem tylko jak ktoś coś zapisywał na karcie w .txt dzięki FatFs własnie. A jak to zrobić bez tego ?
  • #10
    User removed account
    Level 1  
  • #11
    masterix07
    Level 6  
    A jaka masz wersje? Bo ja mam 1.3.0 i nie mam w disko tego.. ani podobnego..

    poniżej masz listing tego pliku

    Code: c
    Log in, to see the code
  • #12
    User removed account
    Level 1  
  • #13
    masterix07
    Level 6  
    A mogłbyś podesłać swoje pliki od FatFs? Bo może na tych zadziała.
  • #14
    User removed account
    Level 1  
  • #15
    masterix07
    Level 6  
    a no widzisz... a ja po SDMMC i kurde nie moge ogarnąć.,.
  • #16
    rb401
    Level 38  
    masterix07 wrote:
    a ja po SDMMC i kurde nie moge ogarnąć.,.


    Na Twoje DISCO jest jakiś przykład (JPEG) w repozytorium CubeMX. Użycie SD + FatFS.
    Co prawda użyty tylko odczyt ale może tam upewnisz się czy dobrze konfigurujesz Fatfs.
  • #17
    masterix07
    Level 6  
    Możesz coś więcej powiedzieć bo jestem początkujący w CubeMX? Bo nie wiem w sumie o jakich przykładach mówisz :)
  • #18
    rb401
    Level 38  
    masterix07 wrote:
    Możesz coś więcej powiedzieć bo jestem początkujący w CubeMX? Bo nie wiem w sumie o jakich przykładach mówisz


    Wejdź na chwilę do CubeMX, do Help->Updater Settings i podglądnij gdzie u Ciebie jest Repository Folder. Odszukaj ten folder i prawdopodobnie (jeśli robiłeś projekt na Twój DISCO) jest tam folder(y) z nazwą z F7. Tam znajdziesz aktualną wersję HAL i CMIS oraz Middleware (w tym np. Fatfs). Oraz dużo przykładowych programów przejrzyście pogrupowanych i gotowych do kompilacji pod różne IDE.

    Tam np. pod nazwą Twojego DISCO są Examples i w nich przykład "JPEG" gdzie masz FatFs plus karta SD w trybie SDMMC.

    Jeśli nie masz tego folderu to uruchom w CubeMX Updater zrób Check i każ mu ściągnąć najnowszą wersję pod F7.
    Te zasoby, alternatywnie można sobie ściągnąć zupełnie osobno od STM ale z CubeMX jest dużo wygodniej (logowanie na STM, odzipowanie itd.) a poza tym CubeMX i tak potrzebuje mieć te zasoby w momencie generacji źródeł. Tzn. driverów i middleware.