-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
STED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: książka o programowniu AVR w C
Date: Mon, 31 Jan 2011 21:04:26 +0100
Organization: http://onet.pl
Lines: 53
Message-ID: <ii74kc$sig$1@news.onet.pl>
References: <ihpvpu$mvg$1@mx1.internetia.pl> <4...@i...pl>
<4d467cd6$1@news.home.net.pl> <ii61g5$af2$1@news.task.gda.pl>
<ii6612$1o6$1@news.onet.pl> <ii6fuk$3re$1@news.task.gda.pl>
<ii6h1t$djb$1@news.onet.pl> <ii734d$kr$1@news.task.gda.pl>
NNTP-Posting-Host: 89-74-40-231.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1296504268 29264 89.74.40.231 (31 Jan 2011 20:04:28 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Mon, 31 Jan 2011 20:04:28 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)
Gecko/20101125 Thunderbird/3.0.11
In-Reply-To: <ii734d$kr$1@news.task.gda.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:603909
[ ukryj 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
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
Najnowsze wątki
- 2025-01-06 Jeździ, skręca, hamuje
- 2025-01-06 Białystok => System Architect (Java background) <=
- 2025-01-06 Gliwice => Specjalista ds. public relations <=
- 2025-01-06 Białystok => Solution Architect (Java background) <=
- 2025-01-06 Zielona GĂłra => Konsultant WdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg