Android: Wprowadzenie do programowania MediaTek BSP
MediaTek jest czwartą co do wielkości na świecie firmą fabless zajmującą się półprzewodnikami, która opracowuje systemy na chipach (SoC) dla urządzeń mobilnych, domowej rozrywki, łączności i produktów IoT.
Wszyscy jesteśmy świadomi rozwoju Custom ROM i Custom ROM, ludzie generalnie preferują urządzenia Qualcomm do programowania, ponieważ uważają, że nie jest możliwe uruchomienie AOSP na urządzeniach zasilanych przez MediaTek, co z pewnością jest błędne, jednak nie jest to nasza dzisiejsza główna perspektywa.
Czy zastanawiałeś się kiedyś, jak powstaje nasza pamięć ROM/firmware? Cóż, dzisiaj omówimy to samo szczegółowo.
Wprowadzenie do BSP — pakiety wsparcia zarządu
BSP lub Board Support Package to pakiet, który składa się z całego kodu źródłowego Androida od dostawcy SoC (tj. MediaTek lub Qualcomm) oraz kilku zmian od ODM (Original Device Manufacturer) do podstawowego uruchamiania urządzenia. BSP składa się ze źródeł wszystkich warstw HAL i oprogramowania rozruchowego specyficznego dla sprzętu, w BSP MediaTek dostępnych jest nie mniej gotowych wersji (z wyjątkiem łańcuchów narzędzi), wszystko jest zbudowane w oparciu o źródło na MTK BSP.
ODM kontra OEM
Producent oryginalnego urządzenia/projektu (powszechnie znany jako ODM) to firma, która projektuje i rozwija urządzenia zgodnie z wymaganiami producentów OEM, głównie wszyscy ODM znajdują się w Chinach, ponieważ Chiny mają największą na świecie podaż komponentów Androida. ODM zwykle pracują nad RD (urządzeniami referencyjnymi) przekazanymi im przez dostawców SoC, a następnie opracowują i produkują urządzenia wymagane przez producentów OEM dla tej platformy. Niektóre znane firmy ODM to BYD Electronics, Wingtech, Longcheer itp.
Z drugiej strony producenci OEM (lub producenci oryginalnego sprzętu) zawierają umowy z kilkoma producentami ODM na produkcję kontraktową ich urządzeń, a następnie znakują je i wprowadzają na rynki. Jednak niektórzy producenci OEM mają również własną produkcję, dlatego nie są w tym celu zależni od producentów ODM. Niektórzy znani producenci OEM to Xiaomi, OnePlus, realme, Asus itp.
ALPS — MediaTek BSP
Podobnie jak Qualcomm ma CAF/CLO , MediaTek BSP ma nazwę kodową „alpy” (i nikt nie wie dlaczego?). MediaTek alps jest całkowicie zamkniętym źródłem, w przeciwieństwie do CAF/CLO, MediaTek udostępnia komponenty BSP tylko swoim partnerom Android. Jednym z głównych możliwych powodów, dla których alps jest zamkniętym źródłem, jest to, że nie są one finansowane przez Linux Foundation, w przeciwieństwie do CAF.
MediaTek stosuje „modułowe” podejście do systemu kompilacji w swoich BSP, co oznacza, że zastępują prawie wiele rzeczy od dostawcy/mediatek. Przykładem takiego przypadku może być to, że niektóre preferencje ustawień w pakietach/aplikacjach/Ustawieniach są zastępowane przez vendor/mediatek/proprietary/packages/apps/Settings i to samo dotyczy wielu innych rzeczy.
Kompilacja MediaTeka BSP
Kompilowanie MediaTek BSP jest dość proste, wystarczy wywołać skrypt mtk-build od vendor/mediatek, tj.
python vendor/mediatek/proprietary/scripts/releasetools/split_build_helper.py full_$target-$variant
Dla MediaTek Helio i starszych SoC:
k$platform_suffixv1_$arch_bsp— gdzie sufiks_platformy to dwie ostatnie litery nazwy platformy soc, tj. Platform — MT6785, wtedy nazwa BSP to k85v1_64_bsp.
W przypadku platform MediaTek Dimensity nazewnictwo wygląda następująco:
k$platform_namev1_$arch_bsp— tzn. jeśli Platforma — MT6833, to nazwa BSP to k6833v1_64_bsp.
Jeśli nie lubisz używać skryptu budującego mediateka, możesz po prostu wywołać polecenie lunch, tj. lunch full_$target-$variantpo nim m otapackagelub m updatepackagew razie potrzeby.
Makra w MediaTek BSP
Istnieje wiele makr, które są zdefiniowane w MediaTek BSP, te makra są dostępne w sampledevice's ProjectConfig.mk, co pozwala zespołowi BSP edytować i modyfikować zmienne środowiska i kompilacji.
Wniosek
Mam nadzieję, że po przeczytaniu tego artykułu mogłeś mieć pewien wgląd w budowanie MediaTek BSP i mieć pojęcie o tym, jak fabryczne oprogramowanie układowe jest produkowane przez OEM i jak ODM odgrywa ważną rolę w produkcji urządzenia.

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































