To forum używa plików cookies
To forum wykorzystuje pliki cookies do przechowywania informacji o Twoim logowaniu, jeśli jesteś zarejestrowany, oraz informacji o Twojej ostatniej wizycie, jeśli nie jesteś zalogowany. Pliki cookies to niewielkie pliki tekstowe zapisywane na Twoim komputerze; cookies ustawiane przez to forum mogą być używane wyłącznie na tej stronie i nie stanowią zagrożenia dla bezpieczeństwa. Cookies na tym forum śledzą również, które tematy zostały przez Ciebie przeczytane oraz kiedy miało to miejsce. Prosimy o potwierdzenie, czy akceptujesz, czy odrzucasz zapisywanie tych plików cookies.

Niezależnie od wyboru w Twojej przeglądarce zostanie zapisany plik cookie, aby zapobiec ponownemu zadawaniu tego pytania. W każdej chwili będziesz mógł zmienić ustawienia cookies, korzystając z linku w stopce strony.

Ankieta: Jaki system operacyjnym preferujesz
Nie posiadasz uprawnień, aby oddać głos w tej ankiecie.
Windows
60.78%
31 60.78%
Linux
31.37%
16 31.37%
MAC/OS
7.84%
4 7.84%
Inny
0%
0 0%
Razem 51 głosów 100%
*) odpowiedź wybrana przez Ciebie [Wyniki ankiety]

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie ARM, nauka, środowiska programistyczne IDE
#5
Stosowanie gotowych funkcji typu SPL czy HAL przy inicjowanie zasobów procesora nie jest aż tak dużym błędem, kod jest czytelny a proces inicjowania wykonuje się najczęściej raz co ma niewielki wpływ na funkcjonowanie całego urządzenia. Niestety kod programu szybko rośnie.

Dramat z tymi funkcjami zaczyna się w wątkach które są bardzo często obsługiwane (przerwania, obsługa ADC, UART, SPI, I2C, TFT, sterownie pinami). Samo wywołanie funkcji, przekazanie parametru a na koniec powrót do miejsca wywołania pochłania kilkanaście razy więcej czasu procesora niż właściwa operacja na rejestrze (np. ustawianie pinu na porcie). Generalnie często wykonywane fragmenty programu należałoby pisać jako funkcje inline, działać bezpośrednio na rejestrach lub robić wstawki w assemblerze. Wszelkie nadmiary kodu ładnie widać na rozwinięciach kodu asm.
73 Adam
Cytuj


Wiadomości w tym wątku

Skocz do:


Użytkownicy przeglądający ten wątek: 3 gości