eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[OT] Zarządzanie konfiguracją modułów kodu źródłowegoRe: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.internetia.pl!not-for-mail
    From: "Andrzej Ekiert" <d...@t...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
    Date: Sun, 06 May 2012 15:44:02 +0200
    Organization: Netia S.A.
    Lines: 96
    Message-ID: <o...@j...jedi>
    References: <o...@j...jedi> <jo5q8q$5u9$1@news.mm.pl>
    <o...@j...jedi> <jo5u0n$810$1@news.mm.pl>
    NNTP-Posting-Host: ip-91-192-3-72.techmedia.com.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
    Content-Transfer-Encoding: Quoted-Printable
    X-Trace: mx1.internetia.pl 1336311956 9954 91.192.3.72 (6 May 2012 13:45:56 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sun, 6 May 2012 13:45:56 +0000 (UTC)
    X-Tech-Contact: u...@i...pl
    User-Agent: Opera Mail/10.10 (MacIntel)
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:630681
    [ ukryj nagłówki ]

    Dnia 06-05-2012 o 15:23:06 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ę?
    >

    Tak.

    > 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.

    Masz driver do RTC w bibliotece. Procesor ma 2 moduły sprzętowe I2C1 i
    I2C2. Musisz przekazać driverowi RTC informację, funkcje dotyczące którego
    modułu ma wywołać: odbierz_blok_danych_z_I2C1() czy
    odbierz_blok_danych_z_I2C2(). Albo to robisz na poziomie #define, albo
    definiując "driver" do I2C i przekazując modułowi I2C handle do tego
    drivera (jest narzut). Ja chcę na poziomie #define, ale pragnę sobie
    usprawnić zarządzanie takimi #define.

    >>> 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?

    Spieprzyć zawsze można. Poza tym moduł może być czymś bardziej złożonym.
    Np. implementacją protokołu sieciowego.

    > 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?

    Gwarancji nie mam, choć moja ciągła dbałość o to, by kawałek kodu, w
    którym zależności czasowe występują, nie mógł być zakłócony przez inne
    niezwiązane z nim moduły wykonywane równolegle, daje mi spore szanse.
    Generalnie uważam, że zysk ze współdzielonych bibliotek znacznie
    przewyższa koszty.

    ae

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: