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.

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Dzielenie ASM Atmega32 (lub inna Atmega)
#5
Marcin, domyślam się, że chodzi Ci o łączenie kodu ASM z kodem C w wersji GCC. Niestety maja znajomość tego środowiska jest pobieżna. Moim zdaniem przekazywanie danych pomiędzy GCC a wstawkami w assemblerze jest dość zawiłe i mało czytelne dlatego ja zdecydowałem się na komercyjne środowisko CodeVision.

Tak naprawdę biegłe łączenie C z assemblerem to najskuteczniejsza metoda pisania optymalnego oprogramowania dla mikroprocesorów, wygoda języka C oraz zwartość i szybkość kodu assemblera. Niestety ta metoda wymaga sporej wiedzy oraz dużego doświadczenia w tworzeniu oprogramowania. Łączenie różnych języków jest dość trudne ponieważ wymaga biegłej znajomości używanego kompilatora. Musisz wiedzieć jakich rejestrów procesora używa kompilator, jak przekazuje parametry na stos danych aby w procedurach assemblerowych wiedzieć co ci wolno a co nie. Naruszenie ważnych dla kompilatora rejestrów, wskaźników może spowodować niekontrolowane "wysypanie" całego programu. Możemy oczywiście chronić wszystko czego używamy ale takie wstawki wcale nie będą optymalne.

Wstawki assemblerowe w GCC
Łączenie assemblera i GCC

73 Adam
Cytuj


Wiadomości w tym wątku

Skocz do:


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