uC ARM i pliki startowe

Jan 04, 2012 2 Replies

Cześć. Z góry przepraszam za glupie pytanie, ale zastanowilo mnie to i nie moge doszukac sie odpowiedzi i moze pomozecie mi.



W uC ARM np STM32 lub LPC11xx kompilator dolacza i kompiluje plik tzw. startowy. Ale dlaczego i po co? Dlaczego robi sie taki wybieg? uC z serii AVR tego nie maja a tez na poczatku nalezy ustawic jego uklady peryferyjne, ustawia sie stos i inne. Czy kompilator niebylby w stanie sobie z tym poradzic bez plikow startowych?


W dniu 04.01.2012 19:50, slawek7 pisze:

Dlatego, że ustawia się tam "środowisko uruchomieniowe":

- mapę pamięci

- stos

- stertę

- inicjalizację sekcji leżących w RAM

- często też częstotliwość pracy i peryferia

To jest normalne podejście dla każdego procesora.

Oczywiście, że mają, tylko ponieważ jest procesory różnią się między sobą w niewielkim stopniu (a do tego programiści AVR niestety często do najsprawniejszych nie należą) twórcy avr-gcc to ukryli i wystarczy podać

-mmcu, żeby kompilator/linker wykonał resztę roboty.

Ustawiasz stos inaczej niż definiując którąś ze stałych?

Kompilator sobie radzi.

Macie racje. Doczyałem że taki wybieg jest dlatego ze ARMow jest duzo i ciezko to upchnac w kompilatorze samym.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required