Skocz do zawartości

Kiedy? Po co i dlaczego? Czyli użycie atrybutów/makr do umieszczenia danych w odpowiedniej pamięci...


farmaceuta

Pomocna odpowiedź

Witam...tak sobie czytam o pamięciach na ESP32 i kilku rzeczy nie jestem pewien...np. mamy funkcję która ma działać w przerwaniu, czyli 

void IRAM_ATTR fun()

Czy wszystkie stałe znajdujące się w tej funkcji muszą być umieszczone w ram'ie? Za pomocą np. 

DRAM_ATTR

______________________________________

Mamy dane które chcemy zachować po głębokim śnie, więc używamy 

RTC_DATA_ATTR

a jest też inny atrybut który robi to samo (tak mi się wydaje po lekturze) czyli 

RTC_NOINIT_ATTR

czy można to stosować zamiennie? I czy napewno obie wersje robią to samo? 

Chętnie też poczytam o innych atrybutach często stosowanych i wręcz koniecznych do prawidłowego działania, jeśli się wam cos nasuwa😉

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)

Niech ktoś tylko mi przytaknie lub zaprzeczy😜 

void RTC_IRAM_ATTR fun()

Powyższego używam wtedy jeśli jestem w deep_sleep (wyłączony flash/ram/peryferia etc), a powodem jest to żeby po przebudzeniu wykonać natychmiast kod bez czekania na uruchomienie wszystkiego tak? 

_____________________________________

void IRAM_ATTR fun()

Powyższego używam w przypadku przerwań żeby funkcja wykonała się natychmiast po wyzwoleniu (z ram), żeby nie czekać na załadowanie jej z flash co jest dużo wolniejsze niż ram tak?

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

(edytowany)

No i widziałem właśnie funkcję która ma się wykonać po deep_sleep, i została umieszczona normalnie w flash...to już nie rozumiem czy jest to konieczne czy nie?🤔 (Upychanie do ram'u)

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.