-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Jacek Domański <j...@N...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
Date: Sun, 06 May 2012 14:21:22 +0200
Organization: ICM, Uniwersytet Warszawski
Lines: 67
Message-ID: <jo5qc3$peu$1@news.icm.edu.pl>
References: <o...@j...jedi>
NNTP-Posting-Host: 89-78-246-104.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1336306883 26078 89.78.246.104 (6 May 2012 12:21:23 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Sun, 6 May 2012 12:21:23 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120319 Thunderbird/11.0
In-Reply-To: <o...@j...jedi>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:630670
[ ukryj nagłówki ]Ja osobiście jestem na początku drogi - tj. jeszcze nie powstały te
dziesiatki modulow do dziesiatek aplikacji, ale zaczynam już dostrzegać
problem, stąd moje zainteresowanie tą problematyką - tak, aby zawczasu
coś ustalić i pisać dalej w/g ustalonej, optymalnej metody.
Jednym z pomysłów jest wykorzystanie programów do zarządzania wersjami
typu: SVN, GIT, Mercurial.
Innym pomysłem, który mnie zainteresował, jest wykorzystanie linków do
plików zamiast kopii plików (pod Linuxem) - w ten sposób mamy tylko
jeden plik, widziany przez dowolnie wiele projektow i zmiana w nim
przenosi się automatycznie na wszystkie projekty.
Najprosciej byłoby nie zmieniać parametrow konfiguracyjnych w bibliotece
;-)
A może zostawić stare jako 'deprecated', a dodac do nich nowe?
--
Jado
W dniu 06.05.2012 13:09, Andrzej Ekiert pisze:
> 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
Następne wpisy z tego wątku
- 06.05.12 14:44 Andrzej Ekiert
- 06.05.12 14:55 Andrzej Ekiert
- 06.05.12 15:15 Sebastian Biały
- 06.05.12 15:23 Zbych
- 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
Najnowsze wątki z tej grupy
- Przednia lampka rowerowa Basta / AXA pod dynamo w piaście
- Boję siię capa...
- Efekt gitarowy koda kd-30 trash metal
- Re: Efekt gitarowy koda kd-30 trash metal
- Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- PT500
- supercap
- Procesor NMOS i karta CF
- Jak sprawdzic uC
- radyjko znalazłem
- Telewizor przestał widzieć sygnał z anteny
- LED
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
Najnowsze wątki
- 2024-05-28 Co dalej z Izerą...
- 2024-05-28 Nowe samochody są RAKOTWÓRCZE tylko nikt tego nie chce głośno powiedzieć
- 2024-05-28 czy zabioro mu auto?
- 2024-05-27 Chińczyki mają dość czekania na tuska i te jego UROJONE audyty
- 2024-05-27 coraz trudniejsze rozmowy o OC
- 2024-05-28 Przednia lampka rowerowa Basta / AXA pod dynamo w piaście
- 2024-05-28 Boję siię capa...
- 2024-05-24 Efekt gitarowy koda kd-30 trash metal
- 2024-05-27 Re: Efekt gitarowy koda kd-30 trash metal
- 2024-05-27 Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- 2024-05-27 PT500
- 2024-05-28 Łódź => SAP CO Consultant <=
- 2024-05-28 Białystok => Senior Developer React Native <=
- 2024-05-28 Kraków => Mid/Senior QA Engineer <=
- 2024-05-28 Wrocław => Key Account Manager <=