-
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
- stara idea nowe hardware
- Dzwonek gong z transformatorem
- espnow przerywa na jeziorze?
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
Najnowsze wątki
- 2024-07-05 eSIM na czym polega
- 2024-07-15 Roaming poza unią
- 2024-07-16 Jak tanio dzwonic do Wielkiej Brytani?
- 2024-07-16 Dzień bez ICE
- 2024-07-15 Spalinówki płoną doszczętnie
- 2024-07-15 Pojemność akumulatora
- 2024-07-15 Elektryk8i dalej płoną.
- 2024-07-15 Motodziennik #284 NOWY MG HS z hybrydą oraz wraca FORD CAPRI (jako SUV)
- 2024-07-14 [FILM] SAMOCHODY ELEKTRYCZNE DO WIELKIE ŚCIEMA? TYLKO FAKTY!
- 2024-07-14 Znieczulica w narodzie
- 2024-07-13 Protect Your PC with IObit Malware Fighter Pro 11.3.0.1346 Multilingual
- 2024-07-13 Advanced SystemCare Pro 17.5.0.255: Complete Performance and Health Optimization
- 2024-07-15 stara idea nowe hardware
- 2024-07-14 Dzwonek gong z transformatorem
- 2024-07-14 espnow przerywa na jeziorze?