Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albán
ar.fmuser.org -> arab
hy.fmuser.org -> örmény
az.fmuser.org -> azerbajdzsán
eu.fmuser.org -> baszk
be.fmuser.org -> belorusz
bg.fmuser.org -> bolgár
ca.fmuser.org -> katalán
zh-CN.fmuser.org -> kínai (egyszerűsített)
zh-TW.fmuser.org -> kínai (hagyományos)
hr.fmuser.org -> horvát
cs.fmuser.org -> cseh
da.fmuser.org -> dán
nl.fmuser.org -> holland
et.fmuser.org -> észt
tl.fmuser.org -> filippínó
fi.fmuser.org -> finn
fr.fmuser.org -> francia
gl.fmuser.org -> galíciai
ka.fmuser.org -> grúz
de.fmuser.org -> német
el.fmuser.org -> Görög
ht.fmuser.org -> haiti kreol
iw.fmuser.org -> héber
hi.fmuser.org -> hindi
hu.fmuser.org -> magyar
is.fmuser.org -> izlandi
id.fmuser.org -> indonéz
ga.fmuser.org -> ír
it.fmuser.org -> olasz
ja.fmuser.org -> japán
ko.fmuser.org -> koreai
lv.fmuser.org -> lett
lt.fmuser.org -> litván
mk.fmuser.org -> macedón
ms.fmuser.org -> maláj
mt.fmuser.org -> máltai
no.fmuser.org -> norvég
fa.fmuser.org -> perzsa
pl.fmuser.org -> lengyel
pt.fmuser.org -> portugál
ro.fmuser.org -> román
ru.fmuser.org -> orosz
sr.fmuser.org -> szerb
sk.fmuser.org -> szlovák
sl.fmuser.org -> Szlovén
es.fmuser.org -> spanyol
sw.fmuser.org -> szuahéli
sv.fmuser.org -> svéd
th.fmuser.org -> Thai
tr.fmuser.org -> török
uk.fmuser.org -> ukrán
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnámi
cy.fmuser.org -> walesi
yi.fmuser.org -> jiddis
Az alkalmazás fejlesztéséhez: a C nyelvet, az adatszerkezetet, a JAVA-t stb. Jól meg kell tanulni. Semmi különösre nem kell odafigyelni a beágyazott alkalmazások fejlesztésében és a PC-n történő alkalmazásfejlesztésben. Talán azt mondja, hogy optimalizálnia kell a beágyazott rendszert, igen, optimalizálnia kell, de az optimalizálatlan program nem különbözik a PC-n futó program fejlesztésétől. Ezenkívül, ha képes optimalizálni, akkor már nem szokták feltenni ezt a kérdést. Egy konkrét példához, például a fejlesztői felülethez, a VC-t használjuk a PC-n; beágyazott Linuxban használhatunk QT-t és Android-ot. Ebben az időben meg kell tanulnia a QT és az Android programozását. De az alap továbbra is C vagy JAVA, és ezen az alapon ismerkedjen meg a felületeikkel. Ha megtanulta a VC-t, időbe telik megérteni ezeket az osztályokat és vezérlőket.
Ha meg akarja tanulni az alapul szolgáló rendszert, ez az én specialitásom, de mondhatok egy kicsit.
Mielőtt válaszolna erre a kérdésre, hadd válaszoljak: Sokan kérdezik tőlem, hogy tanulni kell vezetni vagy megtanulni alkalmazni? Csak azt tudom mondani, hogy az érdeklődésen alapul, és az illesztőprogramok és az alkalmazások nincsenek teljesen elkülönítve.
1. A meghajtók, amelyekről beszélünk, nem korlátozódnak a hardveres műveletekre, hanem olyan fogalmakra is, mint az operációs rendszer alapelvei, valamint a folyamat alvó és ébresztő ütemezése. Ha jó alkalmazást szeretne írni, és jobban meg akarja oldani az alkalmazás által tapasztalt problémákat, akkor meg kell értenie ezeket a tudásokat
2. Alacsony akadályok az alkalmazásban, különösen a jelenlegi ANDROID, tiszta JAVA. Én személy szerint úgy gondolom, hogy az alkalmazás fejlesztési útja jártas az üzleti életben. Például a kommunikációs iparban, az IPTV-iparban és a mobiltelefon-iparban megérti az ipar igényeit. Ezért a vezető emberek többnyire alkalmazások.
3. Vezessen. Valójában nem "vezetőnek lenni", hanem "alacsony szintű rendszernek" akarom nevezni. Ha ez megtörtént, ez meg fogja ölni az összes iparágat. Több éve dolgozom, és készítettem mobiltelefont, IPTV-t és konferencia TV-t, de ezek a termékek számomra nem jelentenek különbséget, mert csak az alsó réteget csinálom. Az ő vállalkozásuknak semmi köze hozzám. Ha probléma merül fel az alkalmazással, és nem tudják megoldani, akkor a rendszermag szempontjából ötletet adok nekik, és eszközöket biztosítok nekik. Én személy szerint azt gondolom, hogy technikai szakértő vagyok az alsó réteg fejlesztési irányában.
4. Valójában nincs határ az alsó réteg vagy az alkalmazás elvégzése között. Ha rendelkezik az alsó réteg tapasztalatával, akkor nagyon nyugodtan érzi magát, amikor elvégzi az alkalmazást. Üzleti tapasztalat birtokában megismerheti az alsó réteget, és hamarosan csapatot alakíthat.
Vissza a tanulás kérdéséhez. Mit tartalmaz a beágyazott Linux alaprendszer? Ne aggódjon, egy példával meg fogja tudni.
1. Ki kapcsolja be a számítógépet, ki jeleníti meg ezeket az interfészeket? Ez a BIOS, mit csinál? Néhány önellenőrzés, majd beolvassa az ablakokat a merevlemezről és elindítja. Hasonlóképpen, ez a BIOS megfelel a beágyazott Linux rendszerindítójának. Ennek a rendszerbetöltőnek el kell olvasnia a Linux kerneljét a Flash-en, és el kell indítania.
2. Mi a Windows indításának célja? Természetesen online csevegés vagy valami hasonló. Hol vannak ezek az internetes és csevegési eszközök? A C és a D meghajtón. Ezért az ablakoknak először azonosítaniuk kell a C és a D meghajtót. Linux alatt root fájlrendszernek hívjuk.
3. A Windows felismeri a C és a D meghajtót, ezért képesnek kell lennie a merevlemez olvasására és írására. Az érintett dolgokat sofőrnek nevezzük. Természetesen nemcsak merevlemezről van szó, hanem hálózati kártyáról, USB-ről stb. A beágyazott Linux képes olvasni és futtatni az alkalmazásokat a Flash-ről, és rendelkeznie kell Flash-illesztőprogramokkal is. Természetesen nem csak a Flash.
Először beszéljünk róla, a beágyazott LINUX négy fő részből áll: bootloader, kernel, driver és root fájlrendszer.
Az egyik, bootloader
Ez egy kissé bonyolultabb csupasz deszkaprogram. De ezt a csupasz deszkaprogramot nem könnyű megérteni és megírni. A Windows alatt található hasznos eszközök gyengítik programozási képességünket.
Sokan használják az ADS-t és a KEIL-t, amint beágyazottan játszanak. Tudsz válaszolni ezekre a kérdésekre?
1. A tápellátás bekapcsolása után a CPU honnan szerzi be a végrehajtáshoz szükséges utasításokat?
Válasz: Általában az utasítás a Flash-től származik.
2. De a Flash csak olvasható és nem írható közvetlenül. Ha globális változókat használok, hol vannak ezek a globális változók?
Válasz: A globális változóknak a memóriában kell lenniük
3. Tehát ki helyezi a memóriába a globális változókat?
Válasz: Tud válaszolni egy barátjának, aki régóta használja az ADS-t és a KEIL-et? Ehhez "áthelyezésre" van szükség. Az ADS vagy a KEIL alkalmazásban az áthelyezési kódot az a cég írja ki neked, amely ezeket az eszközöket gyártja. Olvastad már valaha?
4. A memória akkora, honnan tudhatom, hogy melyik címmel olvassam a memóriába az "eredetileg Flash-ben tárolt tartalmat"?
Válasz: Ezt a címet a "link script" határozza meg, vannak scatter fájlok az ADS-ben, és hasonló fájlok a KEIL-ben. De, tanulmányoztad?
5. Azt mondta, hogy az áthelyezés egy program Flash-ről a memóriába másolását jelenti, így ez a program képes olvasni a Flash-t? Válasz: Igen, képesnek kell lennie a Flash használatára. Természetesen nem csak ezeket, hanem az óra beállítását is, hogy a rendszer gyorsabban működjön stb. Először kérdezzünk és válaszoljunk, a bootloader, egy csupasz deszkás program, valójában három fő szempontot tartalmaz:
1. A hardver működése
2. Az ARM rendszerprocesszorok megértése
3. A program alapfogalmai: áthelyezés, verem, kódszegmens, adatszegmens, BSS szegmens és így tovább.
A hardver működéséhez meg kell tekinteni a sematikus ábrát és a chip kézikönyvét. Ehhez bizonyos szintű hardverismeret szükséges. Nem azt követeli meg, hogy képes legyen hardvert tervezni, de legalább megértse; nem az analóg áramkörök megértésére van szükség, hanem a digitális áramkörök megértésére. Az iskolában megtanultam ezt a képességet. A két könyv (az elfelejtett könyv címe) elég. De kétlem, hogy van türelmed befejezni a két könyv elolvasását. Nem tudom, van-e most gyorsabb könyv. Ha gyorsan szeretnéd elkészíteni, akkor először engedd el ezt, és ha nem érted, kérdezd meg a Google-t és küldj be.
Ezenkívül el kell olvasni a chip kézikönyvét, ne kínaiul keressen, csak angolul. Eleinte nagyon fájdalmas volt, de később, miután a nyelvtan és a szókincs ismerős, könnyen el lehet olvasni bármilyen chip kézikönyvet.
Az ARM rendszerprocesszorok megértése érdekében olvassa el a Du Chunlei-t. Beszél az összeszerelési utasításokról, a kivétel módokról, az MMU-ról stb. Csak ezt a 3 tartalmat kell megértenie.
A program alapkoncepciója természetesen a király az, hogy megnézze az összeállítás alapelveit. Sajnos ez a fajta könyv mindenképpen mennyei könyvszintű. Azt tanácsolom, ne nézze meg, csak ha szuper zseni vagy. Csak nézze meg a és az első videó, amit írtam, ne aggódjon, ne költsön pénzt. A videót követően és hardverrel kapcsolatos kísérleteket követően ezek a fogalmak egyértelművé válnak. Nem találtam a második könyvet vagy videót, amely ezekről a fogalmakról szólna, lehetővé téve, hogy vakon dicsekedjek vele. A bootloaderhez először tanulmányozásomkor néztem meg, majd magam írtam meg a programot, és minden kísérletet elvégeztem különféle hardvereken, például GPIO-n, órán, SDRAM-on, UART-on és NAND-on. Ha világossá teszi őket, könnyen megértheti az u-boot-ot csoportosítással. Összefoglalva: a hardver vázlatos diagramjának és a chip kézikönyvének megértéséhez magának kell megkeresnie az információkat. A többihez csak kövesse a fejezet fejezetlistáját és a videó első szakasza a tanuláshoz.
Kettő, a kernel
Azok, akik szeretnének elindulni, először hagyják ki a kernel tanulását, és megtanulják, hogyan kell közvetlenül írni az illesztőprogramokat.
A mesterré váláshoz a kernel mély megértéssel kell rendelkeznie. Ne feledje, hogy a megértésről beszélek, nincs extravagáns reményem a kernel megírására.
Az ütemezési mechanizmus, a memóriakezelési mechanizmus, a fájlkezelő mechanizmus stb. Megértése.
Két könyvet ajánl:
1. Olvassa el, olvassa el a vékony könyvet (az úszó társadalom hangsúlyozza a sebességet)
2. Válassza az olvasást, szeretné tudni, melyik részt melyik szakasz olvassa el
Három, vezessen
Az illesztőprogram két részből áll: maga a hardver működése és az illesztőprogram kerete.
Megint a hardver. Még mindig meg kell érteni a sematikus ábrát és a chip kézikönyvét. Gyakorolj többet. Apropó a driver keretrendszer, van néhány könyv, amely bemutatja. Az LDD3, egy külföldi írta könyv sok fogalmat ismertet és érdemes elolvasni. Szerepe azonban a fogalmak bevezetésére korlátozódik. Alapvetően arra használtam, hogy megismerkedjek a fogalmakkal az indulás előtt, majd az indulás után kidobtam.
A vezető átfogóbb bemutatásának Song Baohua-nak kell lennie. Hogy őszinte legyek, csak a katalógust olvastam. Sokan igent mondtak, itt ajánlom.
Ha mélyebben meg akar érteni egy bizonyos területet, akkor mindenképpen szuper ötcsillagos ajánlás. Nem számít arra, hogy elolvassa, több mint 5 oldal, két kötet felfelé és lefelé. Amikor nem vagyok biztos egy bizonyos területen, átnézem. A könyv bármely része két vagy háromszáz oldalt ölelhet fel, ami nagyon részletes. És hogy a kernel forráskódját egy bizonyos céllal elemezzük. Példaként a linux 1,800-et veszi fel, de az elv ugyanaz, és a linux más verzióira is alkalmazható. Van még valami bevezető? Természetesen van, a Wei Dongshan Linux Video második kiadása. A "Beágyazott Linux alkalmazásfejlesztés teljes kézikönyve" nem sokat beszél az illesztőprogramról, és nem eléggé mélyreható.
Próbáljon meg egy illesztőprogramot írni a fejlesztőtáblán szereplő összes hardverhez. Ha problémája van, akkor először "fájdalmasan gondolkodjon". A gondolkodás folyamán sok irreleváns tudást fog összekapcsolni és végül átjutni rajta.
Negyedszer, a gyökér fájlrendszer
Gondolt már valaha erre a két kérdésre:
1. A Linux által gyártott termékek esetében néhányat figyelésre, másokat mobiltelefonként, másokat táblagépként használnak. Tehát a kernel indítása után, a gyökér fájlrendszer telepítése után melyik alkalmazást kell elindítani?
Válasz: A kernel nem tudja, vagy nem érdekli, melyik felhasználói programot kell elindítani. Csak az init alkalmazást indítja el, amely megfelel a / sbin / init fájlnak.
Nyilvánvaló, hogy ennek az alkalmazásnak el kell olvasnia a konfigurációs fájlt, és el kell indítania a felhasználói programot (felügyelet, kézi felület, táblagép interfész stb.) A konfigurációs fájlnak megfelelően. Ez a kérdés arra emlékeztet minket, hogy a fájlrendszer tartalma rendelkezik bizonyos konvenciókkal, például / sbin / init, konfigurációs fájlra van szükség.
2. Gondoltál már arra, hogy ki hajtotta végre az általad írt hello és világprogramokban használt printf-et?
Válasz: Ezt a funkciót nem te, hanem egy könyvtár függvény hajtja végre. Amikor fut, meg kell találnia a könyvtárat.
Ez a kérdés arra emlékeztet bennünket, hogy még vannak könyvtárak a fájlrendszerben. Itt van egy egyszerű kérdés és válasz. Ha többet szeretne megtudni, megnézheti a busybox init.c fájlját, hogy megtudja, mit tesz az init folyamat. Természetesen a gyökér fájlrendszer felépítéséről szóló fejezetet is megtekintheti a .
Tanulási tapasztalatom
1. Iskolás koromban fizika és elektronika szakot folytattam. Valójában nem tanítottam áramkörök tervezését a tanfolyamon, hanem csak némi ismeretet tanítottam az elektronikus áramkörökről. A PCB tervezését magam tanítottam a laboratóriumban. Csak egy kétrétegű táblát terveztem, és most szinte elfelejtettem. De megtartja a sematikus diagram és a chip kézikönyvének elolvasásának képességét.
2. Szoftver diplomát szereztem, és nagyon érdekel a szoftvertervezés, de csak C nyelvet és adatbázist tanultam. Sok verseny kérdést tettem fel érdeklődéssel. Nem vehetek részt a versenyen, de szilárd C nyelvi gyakorlattal rendelkezem.
3. A laboratóriumban, az első vállalatnál, megterveztem néhány egyszerű PCI kártyát és megírtam a Windows illesztőprogramot
4. A második vállalatnál, 51 autós telefonként egy chipes mikrokomputer használatával, a tiszta szoftverek útjára léptek.
5. Kezdtem érezni az egy chipes mikrokomputer hiányosságait. Fél évre felmondtam, hogy zárt ajtók mögött tanuljak Linuxot, kezdve a vörös kalap működtetésével. A lépés az, hogy először meg kell nézni, majd a hardver működtetéséhez meg kell írni a csupasz tábla programot, majd elemezni kell az u-boot rendszert. Ugyanakkor van némi megértésem a LINUX keretrendszerről.
Csupasz táblák írásakor ajánlott megerősíteni a megszakítások megértését. A kern megszakításokat használ a különféle funkciók teljesítéséhez.
6. Az u-boot elemzése után indítsa el az egyszerű illesztőprogram-programozást. Ebben az időben a képesség még mindig nagyon gyenge.
7. Elkezdett dolgozni a ZTE-n, 2 évig dolgozott, írt mindenféle illesztőprogramot, megoldott mindenféle problémát (vezetési problémákat, segítséget az alkalmazásproblémák felkutatásában), és a képességet enyhítette.
|
Írja be az e-mail címet a meglepetéshez
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albán
ar.fmuser.org -> arab
hy.fmuser.org -> örmény
az.fmuser.org -> azerbajdzsán
eu.fmuser.org -> baszk
be.fmuser.org -> belorusz
bg.fmuser.org -> bolgár
ca.fmuser.org -> katalán
zh-CN.fmuser.org -> kínai (egyszerűsített)
zh-TW.fmuser.org -> kínai (hagyományos)
hr.fmuser.org -> horvát
cs.fmuser.org -> cseh
da.fmuser.org -> dán
nl.fmuser.org -> holland
et.fmuser.org -> észt
tl.fmuser.org -> filippínó
fi.fmuser.org -> finn
fr.fmuser.org -> francia
gl.fmuser.org -> galíciai
ka.fmuser.org -> grúz
de.fmuser.org -> német
el.fmuser.org -> Görög
ht.fmuser.org -> haiti kreol
iw.fmuser.org -> héber
hi.fmuser.org -> hindi
hu.fmuser.org -> magyar
is.fmuser.org -> izlandi
id.fmuser.org -> indonéz
ga.fmuser.org -> ír
it.fmuser.org -> olasz
ja.fmuser.org -> japán
ko.fmuser.org -> koreai
lv.fmuser.org -> lett
lt.fmuser.org -> litván
mk.fmuser.org -> macedón
ms.fmuser.org -> maláj
mt.fmuser.org -> máltai
no.fmuser.org -> norvég
fa.fmuser.org -> perzsa
pl.fmuser.org -> lengyel
pt.fmuser.org -> portugál
ro.fmuser.org -> román
ru.fmuser.org -> orosz
sr.fmuser.org -> szerb
sk.fmuser.org -> szlovák
sl.fmuser.org -> Szlovén
es.fmuser.org -> spanyol
sw.fmuser.org -> szuahéli
sv.fmuser.org -> svéd
th.fmuser.org -> Thai
tr.fmuser.org -> török
uk.fmuser.org -> ukrán
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnámi
cy.fmuser.org -> walesi
yi.fmuser.org -> jiddis
Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!
Kapcsolat
Cím:
No. 305 szoba HuiLan épület No.273 Huanpu Road Guangzhou, Kína 510620
Kategóriák
Hírlevél