-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!not-f
or-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: [OT] [Zlecę] wykonanie interface'u Ethernetowego do architektury Z80
Date: Sun, 06 May 2012 14:28:03 +0200
Organization: Netia S.A.
Lines: 74
Message-ID: <jo5qt6$gmp$1@mx1.internetia.pl>
References: <4f9d25af$1$1209$65785112@news.neostrada.pl>
<jnkhcv$9v6$1@news.dialog.net.pl> <jnldta$e37$1@mx1.internetia.pl>
<o...@j...jedi> <jnmqll$dqi$2@inews.gazeta.pl>
<o...@j...jedi> <jnmvba$pbl$1@inews.gazeta.pl>
<o...@j...jedi> <jnn0o5$ssr$1@inews.gazeta.pl>
<o...@j...jedi> <jnn2ld$3ti$1@inews.gazeta.pl>
<o...@j...jedi> <jnomqu$stm$1@inews.gazeta.pl>
<o...@j...jedi> <jnprj1$oao$1@inews.gazeta.pl>
<jns5kg$f21$1@inews.gazeta.pl> <jnsacs$rph$1@inews.gazeta.pl>
<jnuqev$11e$1@inews.gazeta.pl> <jnuugj$ada$1@inews.gazeta.pl>
<jo17h0$rvv$1@inews.gazeta.pl> <jo2i12$8ms$1@inews.gazeta.pl>
<jo37cn$io3$1@inews.gazeta.pl> <jo3crt$1k1$1@inews.gazeta.pl>
<jo3p45$rtv$1@inews.gazeta.pl> <jo3rdh$4bc$1@inews.gazeta.pl>
<jo3vlt$fc7$1@inews.gazeta.pl> <jo44bm$r0r$1@inews.gazeta.pl>
<jo49mh$b31$1@inews.gazeta.pl> <jo4cm0$gfd$1@inews.gazeta.pl>
<jo5edt$62l$1@inews.gazeta.pl> <jo5isa$fon$1@inews.gazeta.pl>
NNTP-Posting-Host: 83.238.197.12
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1336307430 17113 83.238.197.12 (6 May 2012 12:30:30 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Sun, 6 May 2012 12:30:30 +0000 (UTC)
In-Reply-To: <jo5isa$fon$1@inews.gazeta.pl>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20120216
Icedove/8.0
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:630671
[ ukryj nagłówki ]On 06.05.2012 12:13, Sebastian Biały wrote:
> G. prawda. Nic takego nie generalizuje. C++ jeśli jest przynosi
> korzyści. W różnych zakresach. Na małych procesorach pozwala używać
> częsci technik RTTI do polepszania jakości, na duzych pozwala tworzyć
> abstrakcje znane z wiekszych systemów. Od poczatku mówie, że możesz
> sobie z niego wziąśc kawałek i użyć tam gdzie polepszy jakość. Możesz
> sobie wziąśc CriticalSection i polepszyć jakość bez uzywania
> czegokolwiek innego. Świat nie jest czarno-biały. Nikt nie zmusza do
> uzywania C++, natomias jak go masz - masz darmowe ciastko.
G. prawda. C++ jest świetny, ale potrzebujesz programisty który:
- zna go na dobrym poziomie
- zna się na programowaniu uC
- zna się na programowaniu uC w C++
inaczej będzie produkował kod na niskim lub bardzo niskim poziomie.
Prosty przykład - boost::mpl działa na uC, ale np konkatenacja stringów
jeżeli nie jest robiona na variadic template to daje rezultat stałej
wielkości. Fajnie, że zrobisz generowanie napisów w czasie kompilacji,
ale przy okazji stracisz ~20 bajtów na każdym. Programista musi to
zauważyć, zrozumieć i obejść. Nie może używać c++ na zasadzie "magia:
takie zaklęcie działa, nie zmieniać"
> Zakładam że jesli ktoś wali gownianym kodem to trzeba to naprawić bo
> inaczej twoja ekonomia robije się o szybki czas pisania ale długi
> debugowania. Mam wrażenie że pracujesz w typowej firmie do odwalania
> kodu byle jak (co nie znaczy że nie działającego). Być może taka
> specyfika rynku, ale to nie jest powod do dumy i slaby background
> rozmowy o polepszaniu jakości.
Czy ty na pewno robisz w embedded?
Cytaty z przykładowego kodu od NXP:
>> Descriptions: Set the I2C stop condition, if the routine
>> never exit, it's a fatal bus error.
To się nazywa obsługa błędów.
>> Returned value: true or false, return false if the I2C
>> interrupt handler was not installed correctly
[...]
>> return( TRUE );
To się nazywa dobra dokumentacja.
>> #define I2C_IDLE 0
>> [...]
>> #define I2C_TIME_OUT 11
[...]
>> Returned value: true or false, return false only if the
>> start condition can never be generated and
>> timed out.
[...]
>> if ( timeout >= MAX_TIMEOUT )
>> {
>> I2CMasterState = I2C_TIME_OUT;
[...]
>> return ( I2CMasterState );
To nie wiem nawet jak nazwać. Sabotaż?
To wszystko w 400 liniach kodu - i potem ludzie wzorujący się na takim
kodzie otrzymanym OD PRODUCENTA mają pisać dobry soft?
> Świetnie. Zakladamy że za 2 lata ten twój klient powie - no, nadszedł
> czas na nowy ficzer.
Gorzej - potem się okazuje, że w kodzie jest dość poważny bug
logiczny[1] a flash i cykle są tak wyżyłowane do granic że buga się nie
da naprawić w sensownym czasie. Kończy się na odpaleniu watchdoga na
sztywno i resetowaniu układu co 5 sekund. ;)
[1] z powodu buga w specyfikacji wymagań, nawet nie wina programisty
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 06.05.12 15:04 Sebastian Biały
- 06.05.12 15:19 Jerry1111
- 06.05.12 15:37 Sebastian Biały
- 06.05.12 16:05 Michoo
- 06.05.12 16:12 Sebastian Biały
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 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
Najnowsze wątki
- 2025-03-08 Cięcie wysokich tui
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS