-
Data: 2011-01-31 20:04:26
Temat: Re: książka o programowniu AVR w C
Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 2011-01-31 20:39, Marcin Wasilewski wrote:
> Takie, że jak się pisze w C na scalaki typu Tiny13, które mają "aż" 64
> bajty RAMu to się można zdziwić, jaką sieczkę odwala (a raczej odkłada
> na stos) kompilator C wchodząc w przerwanie.
To bug w kompilatorze jeśli wrzuca za dużo. Nikt nie twierdzi ze avr-gcc
jest doskonały bo sam wiem że *za* dużo rejestrów używa w przerwaniach.
> a nie wszystko co się da
> na zapas jak robi to kompilator C.
Kompilator C tak nie robi. Tak robi tylko *zły* kompilator C.
> Tak, szczególnie jak masz np. 1K Flash-a i 64B ramu :)
> Ale wtedy co robi programista w C? Zamiast ATtiny13, ładuje się
> ATtiny2313 i problem rozwiązany.
I ma wiele racji. Dla $0.50 oszczędności per sztuka może sie okazać że
nie ma co robić rekodzieła w kodzie asm przez 4 miesiące aż się
*zmieścisz* co do bajta tylko od razu wziąść na zapas i program napisać
w dwa wieczory.
> Po pierwsze zajmuje 2 takty samo mnożenie
Jesli kompilator nie potrafi zamienić a *= 2; na operacje shift bitów to
jest marnym kompilatorem.
>> I wiele, wiele innych rzeczy o których programista C _nie musi_ pamiętać.
> Do momentu jak mu się program "zesra", bo stos wlezie na zmienne.
Zapewne asm jest tak magiczny że to się nie ma prawa popsuć w ten
sposób, nie?
> Podsumowując - pisanie w C wymaga sporo mniej czasu, jednak pewne rzeczy
> dostępne w asm od ręki C ma wyjątkowo upierdliwie rozwiązane (np. dostęp
> do zmiennych w pamięci FLASH).
To raczej brak supportu ze strony kompilatora. C nie ma nic do tego że
są jakieś rózne pamięci, choć było by miło gdyby miał.
> Poza tym, jak ktoś zna assembler, to
> sobie ze wstawkami w newralgicznych miejscach poradzi.
Rzecz w tym że:
a) niektórzy programisci starej daty w C piszą dokładnie tak samo jak w
asm (wlacznie z uzywaniem goto). Dla nich nie ma różnicy bo i tak nie
potrafia w gruncie rzeczy wykorzystać C.
b) niektórzy uważają że wstawką może być cały program.
Wiec jest kwestią zdrowego rozsądku sensownie to podzielić. Osobiście
jestem zdania że najlepszy jest podział 100% C++ i 0% asm.
Następne wpisy z tego wątku
- 31.01.11 20:13 kk
- 31.01.11 20:54 Sebastian Biały
- 31.01.11 21:20 kk
- 31.01.11 21:27 JDX
- 31.01.11 21:34 Marcin Wasilewski
- 31.01.11 21:40 JDX
- 31.01.11 23:17 RoMan Mandziejewicz
- 01.02.11 07:21 ohouapss
- 01.02.11 07:35 4CX250
- 01.02.11 08:42 J.F.
- 01.02.11 08:45 J.F.
- 01.02.11 08:51 J.F.
- 01.02.11 08:53 Piotr Gałka
- 01.02.11 08:53 ohouapss
- 01.02.11 09:01 J.F.
Najnowsze wątki z tej grupy
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
Najnowsze wątki
- 2025-02-14 e-paper
- 2025-02-14 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-14 Warszawa => International Freight Forwarder <=
- 2025-02-14 Olsztyn => Sales Specialist <=
- 2025-02-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-14 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-02-14 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-14 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-02-14 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-02-14 Ściemniacze na parkingach
- 2025-02-13 kilka pytań o klimę
- 2025-02-13 genialny pomysł
- 2025-02-12 diesel z otwartą komorą
- 2025-02-14 60 mA dużo czy spoko?
- 2025-02-13 Jaka moc wi-fi ?