logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATTINY13 w Atmel Studio 6 - Jak zmienić ustawienia stosu w C?

dziechu 01 Maj 2014 14:05 1284 4
REKLAMA
  • #1 13559369
    dziechu
    Poziom 27  
    Do tej pory na AVR pisałem programy w asm. Teraz zaczynam w C, w AtmelStudio 6. Po rozpoczęciu projektu mam plik główny main.c. W jakim pliku i gdzie jest np. ustawiany stos? Widzę po listingu w asm że stos jest ustawiany na adres 159. Gdzie to można zmienić?
  • REKLAMA
  • #2 13559461
    mi14chal
    Poziom 28  
    Takie rzeczy są zaszyte w toolchainie, ale jak chcesz zmienić to masz opcję: http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/AVR-Options.html
    Cytat:
    -minit-stack=N
    Specify the initial stack address, which may be a symbol or numeric value, `__stack' is the default.


    Zresztą pytanie po co chcesz zmieniać tę wartość?
  • REKLAMA
  • #3 13559463
    dziechu
    Poziom 27  
    Czasem program oparty jest głównie na przerwaniach lub wielozagnieżdżonych funkcjach, a używa niewiele zmiennych, więc dobrze wtedy zwiększyć obszar stosu. Poza tym dobry programista powinien mieć nad takimi rzeczami kontrolę:) Powinien być plik typu startup gdzie można to zmienić.

    Dodano po 4 [godziny] 59 [minuty]:

    Ok, trochę źle napisałem, adres to szczyt stosu, ustawia się z reguły na końcu RAM, a gdzie ustawia się wielkość stosu i czy w ogóle ustawia się wielkość stosu? Czy też po prostu stos pracuje do dna i trzeba samemu zadbać żeby nie wszedł w obszar zmiennych?
  • REKLAMA
  • Pomocny post
    #4 13560876
    Eagle
    Poziom 24  
    Trzeba zadbać samemu, w tej klasie uC nie masz detekcji przepełnienia stosu.
REKLAMA