-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!news.mm.pl!.POSTED!not
-for-mail
From: Zbych <z...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
Date: Sun, 06 May 2012 15:23:06 +0200
Organization: Multimedia Polska SA
Lines: 53
Message-ID: <jo5u0n$810$1@news.mm.pl>
References: <o...@j...jedi> <jo5q8q$5u9$1@news.mm.pl>
<o...@j...jedi>
NNTP-Posting-Host: host-62-141-227-0.tomaszow.mm.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.mm.pl 1336310616 8224 62.141.227.0 (6 May 2012 13:23:36 GMT)
X-Complaints-To: a...@m...pl
NNTP-Posting-Date: Sun, 6 May 2012 13:23:36 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120411 Thunderbird/11.0.1
In-Reply-To: <o...@j...jedi>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:630678
[ ukryj nagłówki ]W dniu 06.05.2012 14:55, Andrzej Ekiert pisze:
> Dnia 06-05-2012 o 14:19:08 Zbych <z...@o...pl> napisał(a):
>
>> A to już zwykłe makra, definy, funkcje inline, specjalizacje szablonów
>> nie wystarczą do ukrycia fizycznego położenia pinów?
>
> Wystarczą, ale dla każdego projektu trzeba te define'y inaczej ustawić -
> ta sama nazwa, inna wartość.
Zgadza się i zakładam, że rzeczy specyficzne dla projektu trzymasz w
osobnym pliku, który leży sobie w katalogu z projektem i jest przez
bibliotekę tylko includowany. Zgadza się?
>> Jeśli do wszystkich modułów I2C z różnych procesorów jesteś w stanie
>> opracować jeden interface to nie ma problemu. Dodajesz do projektu
>> plik ze swoją obsługą I2C od danego procka i już. Moduł radiowy
>> wykorzysta te funkcje, które dołączy linker. Zero narzutu.
>
> Przy wielu architekturach, to akurat nie mam wyjścia i muszę zrobić
> takiego HALa, ale narzut jest. W przypadku jednej architektury, to
> zamiast po prostu się odwołać do rejestru sprzętowego modułu, muszę
> przekazać mojemu driverowi do chipu jakąś strukturę drivera do modułu
> I2C, która będzie mieć np. callbacki do funkcji pośredniczących. Narzut
> jak diabli, choć czasem trzeba się na niego zgodzić (np. wspódzielony
> dostęp kilku "driverów" do jednego sprzętowego I2C).
Ja jak na razie na I2c wieszałem jakieś pamięci, RTC itp. badziewie. Do
jego obsługi wystarczały mi 3 funkcje typu wyślij blok danych, odbierz
blok danych, sprawdź gotowość. Współdzielenie zabezpieczałem mutexami.
Funkcje RTC czy obsługa pamięci wprost wołały te funkcje. W innym procku
dodawałem tylko inną bibliotekę do I2c. Interface zostawał ten sam. Zero
narzutu.
>> Ja raczej unikami używania tej samej kopii biblioteki do różnych
>> projektów. Dasz sobie głowę uciąć, że zmiana w bibliotece pod bieżący
>> projekt x nie spowoduje jakiś anomalii w projekcie x-10, który pisała
>> inna osoba?
>
> Staram się tak modularyzować kod i dawać takie API, żeby zmiany nie
> wywoływały efektów ubocznych. Oczywiście przetestować to zawsze trzeba i
> nie dam sobie uciąć nawet paznokcia.
>
>> Wolę zrobić kopię biblioteki z projektu x-1 i nanieść poprawki.
>
> Wykrywasz błąd albo robisz usprawnienie w x-1 i dopiero masz poprawianie
> wszędzie gdzie ta kopia jest. Brrr...
To jest niewątpliwie wada. Ale powiedzmy sobie szczerze, ile można
spieprzyć w kodzie obsługi I2C, uarta itp?
A teraz weź projekt sprzed kilku lat (bo klient chce drobną poprawkę) i
skompiluj go z nową biblioteką. Jaką masz gwarancję, że nie wyjdą jakieś
wredne bugi związane np. z zależnościami czasowymi?
Następne wpisy z tego wątku
- 06.05.12 15:30 Andrzej Ekiert
- 06.05.12 15:44 Andrzej Ekiert
- 06.05.12 15:49 Sebastian Biały
- 06.05.12 15:54 Michoo
- 06.05.12 15:59 Zbych
- 06.05.12 16:10 Andrzej Ekiert
- 06.05.12 16:24 Jacek Domański
- 06.05.12 16:28 Zbych
- 06.05.12 16:42 Sebastian Biały
- 06.05.12 16:50 Andrzej Ekiert
- 06.05.12 16:55 Michoo
- 06.05.12 17:08 Andrzej Ekiert
- 06.05.12 17:21 mk
- 06.05.12 17:35 Sebastian Biały
- 06.05.12 17:41 marek
Najnowsze wątki z tej grupy
- 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
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
Najnowsze wątki
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-03 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-03 Beztłumikowcy
- 2025-01-03 Lublin => Delphi Programmer <=
- 2025-01-03 Lublin => Programista Delphi <=
- 2025-01-03 [OT] nowe osoby w grupach?
- 2025-01-03 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-03 Warszawa => Developer .NET (mid) <=
- 2025-01-03 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-03 Warszawa => DevOps Engineer <=
- 2025-01-03 Ten adapter nie obsłuży dysków HDD PATA 2.5 cala - producent kłamie czy ja jestem głupi ?