-
Data: 2012-05-06 15:23:06
Temat: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
Od: Zbych <z...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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?
Następne wpisy z tego wątku
- 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
- 06.05.12 17:08 Andrzej Ekiert
- 06.05.12 17:21 mk
- 06.05.12 17:35 Sebastian Biały
- 06.05.12 17:41 marek
Najnowsze wątki z tej grupy
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
Najnowsze wątki
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=