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

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: