-
Data: 2012-05-06 13:09:10
Temat: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
Od: "Andrzej Ekiert" <d...@t...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 06.05.12 14:19 Zbych
- 06.05.12 14:21 Jacek Domański
- 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
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-19 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-19 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-07-19 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-19 China => Production Coordinator / Representant Product Dev <=
- 2025-07-19 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-19 Warszawa => Strategic Account Manager <=
- 2025-07-19 Warszawa => Key Account Manager IT <=
- 2025-07-19 Skazany za zabójstwo a ofiara żyje
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=