eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[OT] Zarządzanie konfiguracją modułów kodu źródłowego › [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: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
    Date: Sun, 06 May 2012 13:09:10 +0200
    Organization: Netia S.A.
    Lines: 92
    Message-ID: <o...@j...jedi>
    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 1336302664 22876 91.192.3.72 (6 May 2012 11:11:04 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sun, 6 May 2012 11:11:04 +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:630662
    [ ukryj nagłówki ]

    Przedstawię najpierw scenariusz oraz problem:

    Mamy bibliotekę modułów kodu źródłowego, które są używane w wielu
    projektach. Każdy z modułów ma swoje parametry konfiguracyjne, którymi
    można go "dostroić" dla potrzeb konkretnej aplikacji i płytki - np. moduł
    będący driverem do scalaka radiowego ma m.in. parametry określające do
    jakich pinów procesora scalak jest podpięty, moduł będący driverem do
    pamięci na I2C ma parametry mówiące którym interfejsem I2C mikrokontrolera
    należy z tą pamięcią rozmawiać, jaki jest rozmiar pamięci i który pin
    procesora to CS, itp.

    Problem:
    W każdym projekcie, który korzysta z danego modułu, ustawiamy odpowiednio
    wszystkie parametry. Następnie, z dowolnej przyczyny, w bibliotece
    zmieniamy zestaw parametrów konfiguracyjnych oferowanych przez moduł. W
    efekcie musimy poprawić pliki konfiguracyjne w każdym z projektów, co przy
    rosnącej liczbie tych projektów po chwili staje się boleśnie pracochłonne.

    Szukam mądrej metody radzenia sobie z tą niepotrzebną pracą. Metody
    aplikowalnej do kodu w C i assemblerze (choć bardzo chętnie usłyszę, jeśli
    w C++ da się to zrobić jakoś lepiej). Ważne, aby metoda nie powodowała
    skutków run-time (np. zamiast ustalać rozmiar pamięci w konfiguracji, mogę
    mieć zmienną ustawianą w funkcji inicjalizującej, do pinów mogę mieć
    callbacki włącz/wyłącz, też ustawiane przez API, a do sprzętowego modułu
    I2C mogę mieć dodatkową warstwę abstrakcji, ale wszystko to kosztuje
    pamięć lub cykle, a w przypadku niektórych parametrów jest praktycznie
    niewykonalne - poza tym tylko to przesuwa problem ze zmian konfiguracji,
    na zmianę API).

    Jestem blisko rozpoczęcia pisania programu, który będzie mi zarządzał tą
    konfiguracją, tzn. za jednym klikiem porówna konfiguracje wszystkich
    zarządzanych projektów, pokaże gdzie są nieustawione parametry, gdzie są
    ustawione już nieistniejące parametry, gdzie wartość parametrów różni się
    od domyślnej, a następnie umożliwi wybranie akcji, ustawienie właściwych
    wartości i uaktualni zarządzane pliki konfiguracyjne. Ale trochę mam
    nadzieję, że istnieje jakiś inteligentny sposób, na który nie wpadłem.

    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: