FMUSER brezžični prenos video in zvoka lažje!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanščina
sq.fmuser.org -> albanski
ar.fmuser.org -> arabščina
hy.fmuser.org -> Armenščina
az.fmuser.org -> azerbajdžanski
eu.fmuser.org -> baskovščina
be.fmuser.org -> belorusko
bg.fmuser.org -> bolgarščina
ca.fmuser.org -> katalonščina
zh-CN.fmuser.org -> kitajščina (poenostavljena)
zh-TW.fmuser.org -> kitajščina (tradicionalno)
hr.fmuser.org -> hrvaški
cs.fmuser.org -> češčina
da.fmuser.org -> danski
nl.fmuser.org -> nizozemščina
et.fmuser.org -> estonščina
tl.fmuser.org -> filipinsko
fi.fmuser.org -> finski
fr.fmuser.org -> francosko
gl.fmuser.org -> galicijščina
ka.fmuser.org -> gruzijski
de.fmuser.org -> nemščina
el.fmuser.org -> grščina
ht.fmuser.org -> haitijska kreolščina
iw.fmuser.org -> hebrejščina
hi.fmuser.org -> hindujščina
hu.fmuser.org -> madžarščina
is.fmuser.org -> islandski
id.fmuser.org -> indonezijski
ga.fmuser.org -> irski
it.fmuser.org -> italijanščina
ja.fmuser.org -> japonski
ko.fmuser.org -> korejski
lv.fmuser.org -> latvijski
lt.fmuser.org -> litovščina
mk.fmuser.org -> makedonščina
ms.fmuser.org -> malajščina
mt.fmuser.org -> malteščina
no.fmuser.org -> norveščina
fa.fmuser.org -> perzijski
pl.fmuser.org -> poljščina
pt.fmuser.org -> portugalščina
ro.fmuser.org -> romunščina
ru.fmuser.org -> ruščina
sr.fmuser.org -> srbščina
sk.fmuser.org -> slovaški
sl.fmuser.org -> slovenščina
es.fmuser.org -> španščina
sw.fmuser.org -> svahili
sv.fmuser.org -> švedščina
th.fmuser.org -> tajska
tr.fmuser.org -> turški
uk.fmuser.org -> ukrajinski
ur.fmuser.org -> urdujščina
vi.fmuser.org -> Vietnamščina
cy.fmuser.org -> valižanščina
yi.fmuser.org -> jidiš
Za razvoj aplikacij: jezik C, strukturo podatkov, JAVA itd. Se je treba dobro naučiti. Pri razvoju vdelanih aplikacij in razvoju aplikacij na osebnem računalniku ni nič posebnega, na kar bi morali biti pozorni. Mogoče pravite, da morate optimizirati vdelani sistem, da, optimizirati morate, vendar se neoptimiziran program ne razlikuje od razvoja programa na osebnem računalniku. Poleg tega, ko imate možnost optimizacije, tega vprašanja ne uporabljate več. Za poseben primer, kot je razvojni vmesnik, uporabljamo VC na osebnem računalniku; v vdelanem Linuxu lahko uporabljamo QT in Android. Trenutno bi se morali naučiti QT in programiranje za Android. Toda temelj je še vedno C ali JAVA in na tej podlagi se seznanite z njihovimi vmesniki. Če ste se naučili VC, potrebujete čas za razumevanje teh razredov in kontrol.
Če se želite naučiti osnovnega sistema, je to moja posebnost, vendar lahko rečem nekoliko.
Preden odgovorim na to vprašanje, naj odgovorim: Mnogi me vprašajo, ali se je treba naučiti voziti ali se naučiti prijavljati? Lahko samo rečem, da temelji na zanimanju, gonilniki in aplikacije pa niso povsem ločeni.
1. Gonilniki, o katerih govorimo, niso omejeni na delovanje strojne opreme, temveč tudi na koncepte, kot so načela operacijskega sistema in načrtovanje spanja in budnosti. Če želite napisati dobro prijavo in želite bolje rešiti težave, s katerimi se srečuje aplikacija, morate to znanje razumeti
2. Nizke ovire za uporabo, zlasti trenutni ANDROID, čisti JAVA. Sama menim, da je pot razvoja aplikacij dobro poslovna. Na primer, v komunikacijski industriji, industriji IPTV in industriji mobilnih telefonov razumete potrebe industrije. Zato so ljudje, ki so voditelji, večinoma aplikacije.
3. Bodite zagnani. Pravzaprav tega ne bi rad imenoval "biti voznik", ampak "sistem nizke ravni". Ko bo to končano, bodo uničene vse industrije. Delam že nekaj let in sem izdeloval mobilne telefone, IPTV in konferenčno televizijo, vendar mi ti izdelki ne pomenijo, ker delam samo spodnji sloj. Njihov posel nima nobene zveze z mano. Ko bo težava z aplikacijo in je ne bodo mogli rešiti, jim bom dal idejo z vidika jedra in jim ponudil orodja. Sama mislim, da sem tehnični strokovnjak za razvojno smer spodnjega sloja.
4. Pravzaprav ni meje med nanašanjem spodnjega sloja ali nanašanjem aplikacije. Če imate izkušnjo s spodnjo plastjo, se boste med prijavo počutili zelo sproščeno. S poslovnimi izkušnjami lahko spoznate spodnji sloj in kmalu boste lahko ustanovili ekipo.
Nazaj na vprašanje, kako se učiti. Kaj je vključeno v vgrajeni sistem Linux? Ne skrbite, to boste vedeli na primeru.
1. Kdo prikaže te vmesnike, ko je računalnik vklopljen? To je BIOS, kaj počne? Nekaj samopreveri, nato preberite okna s trdega diska in ga zaženite. Podobno ta BIOS ustreza zagonskemu nalagalniku v vdelanem Linuxu. Ta zagonski nalagalnik mora prebrati jedro Linuxa na Flash in ga zagnati.
2. Kaj je namen zagona oken? Seveda gre za spletni klepet ali kaj podobnega. Kje so ta orodja za internet in klepet? Na pogonu C in D. Zato morajo Windows najprej identificirati pogon C in pogon D. Imenujemo ga korenski datotečni sistem pod Linuxom.
3. Windows lahko prepozna pogon C in pogon D, zato mora biti sposoben brati in zapisovati trdi disk. Vključene stvari se imenujejo vozniki. Seveda ne gre samo za trdi disk, temveč tudi za omrežno kartico, USB itd. Vgrajeni Linux lahko bere in izvaja programe iz Flasha, prav tako pa mora imeti gonilnike Flash. Seveda ni samo Flash.
Najprej se pogovorimo o tem, vdelani LINUX vsebuje štiri glavne dele: zagonski nalagalnik, jedro, gonilnik in korenski datotečni sistem.
Ena, zagonski nalagalnik
Gre za nekoliko bolj zapleten program golih desk. Vendar ni lahko razumeti in napisati tega programa brez plošč. Uporabna orodja v sistemu Windows oslabijo naše sposobnosti programiranja.
Veliko ljudi uporablja ADS in KEIL takoj, ko igrajo vdelano. Ali lahko odgovorite na ta vprašanja?
1. Kje CPU po vklopu napajanja pridobi navodila za izvedbo?
Odgovor: Na splošno je navodilo iz Flash.
2. Toda Flash je mogoče brati in ne neposredno pisati. Če uporabljam globalne spremenljivke, kje so te globalne spremenljivke?
Odgovor: Globalne spremenljivke bi morale biti v spominu
3. Kdo torej globalne spremenljivke shrani v spomin?
Odgovor: Ali lahko odgovorite prijatelju, ki že dolgo uporablja ADS in KEIL? To zahteva "selitev". V ADS ali KEIL vam kodo za selitev napiše podjetje, ki izdeluje ta orodja. Ste ga že kdaj prebrali?
4. Pomnilnik je tako velik, kako naj vem, kateri naslov naj v spomin prebere "vsebino, prvotno shranjeno v Flash"?
Odgovor: Ta naslov določa "skript povezave", v ADS so razpršene datoteke in v KEIL podobne datoteke. Ampak, ali ste ga preučili?
5. Rekli ste, da je selitev kopiranje programa iz Flash v pomnilnik, tako da lahko ta program bere Flash? Odgovor: Da, morate biti sposobni upravljati Flash. Seveda ne samo te, ampak tudi nastavitev ure, da bo sistem deloval hitreje itd. Najprej vprašajmo in odgovorimo tukaj, zagonski nalagalnik, program brez plošč, ima dejansko tri glavne točke:
1. Delovanje strojne opreme
2. Razumevanje sistemskih procesorjev ARM
3. Osnovni koncepti programa: selitev, sklad, segment kode, segment podatkov, segment BSS itd.
Za delovanje strojne opreme morate videti shematski diagram in priročnik za čip. To zahteva določeno znanje o strojni opremi. Od vas ni treba, da bi lahko oblikovali strojno opremo, ampak vsaj, da bi jo razumeli; ne zahteva, da bi lahko razumel analogna vezja, ampak da bi razumel digitalna vezja. Te sposobnosti sem se naučil v šoli. Dve knjigi (naslov knjige sem pozabil) sta dovolj. Dvomim pa, da imate potrpljenje, da dokončate branje teh dveh knjig. Ne vem, če je zdaj kakšna hitrejša knjiga. Če želite hitro, najprej opustite to, če pa ne razumete, vprašajte Google in objavite.
Poleg tega je treba prebrati priročnik za čipe, ne iščite kitajščine, glejte samo angleščino. Sprva je bilo zelo boleče, kasneje, ko se slovnica in besedišče poznata, je enostavno prebrati kateri koli priročnik za čipe.
Za razumevanje sistemskih procesorjev ARM glejte Du Chunlei's. Govori o navodilih za montažo, načinih izjem, MMU itd. Le te tri vsebine morate razumeti.
Osnovni koncept programa je seveda, da kralj preuči načela kompilacije. Na žalost je ta vrsta knjige vsekakor na nebeški ravni. Svetujem vam, da ga ne gledate, razen če ste super genij. Samo pazi na in prvi video, ki sem ga napisal, ne skrbite, ne trošite denarja. Po videu in eksperimentiranju s strojno opremo bodo ti koncepti postali jasni. Nisem našel drugega sklopa knjig ali videoposnetkov, ki govorijo o teh konceptih, zato bi se lahko slepo pohvalil s tem. Za zagonski nalagalnik sem ga najprej gledal, ko sem študiral, nato pa sem program napisal sam in opravil vse preizkuse na različni strojni opremi, kot so GPIO, ura, SDRAM, UART in NAND. Če jih pojasnite, je u-boot enostavno razumeti tako, da jih združite. Če povzamemo, da bi razumeli shematski diagram strojne opreme in priročnik za čip, morate informacije najti sami. V preostalem preprosto sledite seznamu poglavij in prva faza videa za učenje.
Drugič, jedro
Tisti, ki želijo začeti, bi morali najprej preskočiti učenje jedra in se naučiti, kako neposredno pisati gonilnike.
Da postane jedro, mora jedro globoko razumeti. Upoštevajte, da govorim o razumevanju, nimam nobenega ekstravagantnega upanja, da bi napisal jedro.
Za razumevanje mehanizma razporejanja, mehanizma za upravljanje pomnilnika, mehanizma za upravljanje datotek itd.
Priporočite dve knjigi:
1. Preberite, preberite tanko knjigo (Plavajoča družba poudarja hitrost)
2. Izberite branje, želite vedeti, kateri odsek prebrati, kateri odsek
Tri, vozi
Gonilnik je sestavljen iz dveh delov: delovanje same strojne opreme in ogrodja gonilnika.
Spet je strojna oprema. Še vedno je treba razumeti shematski diagram in priročnik za čip. Vadite več. Ko že govorimo o gonilniškem okviru, obstaja nekaj knjig, ki ga predstavljajo. LDD3, knjiga tujca, uvaja veliko konceptov in jo je vredno prebrati. Vendar je njegova vloga omejena na uvajanje konceptov. V bistvu sem ga uporabil za seznanitev s koncepti pred začetkom, nato pa ga po začetku zavrgel.
Celovitejši uvod v voznika bi moral biti Song Baohua. Če sem iskren, berem samo katalog. Marsikdo je rekel da, priporočam ga tukaj.
Če želite določeno področje razumeti poglobljeno, je vsekakor super priporočilo s 5 zvezdicami. Ne pričakujete, da ga boste prebrali, več kot 1,800 strani, dva zvezka gor in dol. Ko nisem prepričan o določenem območju, si ga bom ogledal. Vsak del te knjige lahko obsega dvesto ali tristo strani, kar je zelo podrobno. In da vas popeljem k analizi izvorne kode jedra z določenim ciljem. Kot primer je naveden linux 2.4, vendar je načelo enako in velja tudi za druge različice linuxa. Še kakšen uvod? Seveda obstaja druga številka Wei Dongshan Linux Video. "Celoten priročnik za razvoj vdelanih aplikacij za Linux" o gonilniku ne govori veliko in ni dovolj poglobljen.
Poskusite napisati gonilnik za vso strojno opremo, ki je vključena v vašo razvojno ploščo. Če imate težave, morate najprej "boleče razmišljati". V procesu razmišljanja boste povezali veliko nepomembnega znanja in ga končno spravili skozi.
Četrtič, korenski datotečni sistem
Ste kdaj pomislili na ti dve vprašanji:
1. Pri izdelkih, ki jih je ustvaril Linux, se nekateri uporabljajo za spremljanje, drugi se uporabljajo kot mobilni telefoni, drugi pa kot tablični računalniki. Torej, po zagonu jedra, po namestitvi korenskega datotečnega sistema, katero aplikacijo je treba zagnati?
Odgovor: Jedro ne ve ali mu je vseeno, kateri uporabniški program je treba zagnati. Zažene samo aplikacijo init, ki ustreza / sbin / init.
Očitno mora ta aplikacija prebrati konfiguracijsko datoteko in zagnati uporabniški program (nadzor, ročni vmesnik, tablični vmesnik itd.) V skladu s konfiguracijsko datoteko. To vprašanje nas opozarja, da ima vsebina datotečnega sistema nekatere konvencije, na primer / sbin / init, potrebna je konfiguracijska datoteka.
2. Ste že kdaj pomislili, kdo je uporabil printf, uporabljen v zdravih in svetovnih programih, ki ste jih napisali?
Odgovor: Te funkcije ne izvajate vi, ampak funkcija knjižnice. Ko zažene, mora najti knjižnico.
To vprašanje nas opominja, da v datotečnem sistemu še vedno obstajajo knjižnice. Tu je preprosto vprašanje in odgovor. Če želite izvedeti več, si oglejte init.c zasedenbox, da veste, kaj počne postopek init. Seveda si lahko ogledate tudi poglavje o gradnji korenskega datotečnega sistema v .
Moja učna izkušnja
1. Ko sem bil v šoli, sem se specializiral iz fizike in elektronike. Pravzaprav na tečaju nisem poučeval, kako načrtovati vezja, temveč le nekaj znanja o elektronskih vezjih. Oblikovanje PCB sem v laboratoriju učila sama. Oblikoval sem samo dvoslojno ploščo in jo zdaj skoraj pozabim. Ohrani pa zmožnost branja shematskega diagrama in priročnika za čip.
2. Diplomiral sem iz programske opreme in me zelo zanima oblikovanje programske opreme, vendar sem se naučil samo jezika C in baze podatkov. Z zanimanjem sem opravil veliko tekmovalnih vprašanj. Ne morem se udeležiti tekmovanja, vendar imam solidno prakso jezika C.
3. V laboratoriju sem v prvem podjetju zasnoval nekaj preprostih kartic PCI in napisal gonilnik za Windows
4. V drugem podjetju, ki je uporabljalo 51 mikročip z enim čipom kot avtomobilski telefon, je začelo pot na čisto programsko opremo.
5. Začel sem čutiti pomanjkljivosti mikročipa z enim čipom. Pol leta sem odstopil, da sem se za zaprtimi vrati učil Linuxa, začenši s tem, kako upravljati z rdečo kapo. Korak je, da ga najprej preučimo, nato napišemo program brez plošče za upravljanje strojne opreme in nato analiziramo u-boot. Hkrati nekaj razumem okvir LINUX.
Pri pisanju golih desk priporočamo, da bolje razumete prekinitve. Jedro uporablja prekinitve za dokončanje različnih funkcij.
6. Po analizi u-boot zaženite preprosto programiranje gonilnikov. Trenutno je sposobnost še vedno zelo šibka.
7. Začel delati v ZTE, delal dve leti, pisal vse vrste gonilnikov, reševal vse vrste težav (težave z vožnjo, pomoč pri iskanju težav z aplikacijami) in sposobnost je bila umirjena.
|
Vnesite e-pošto, da dobite presenečenje
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanščina
sq.fmuser.org -> albanski
ar.fmuser.org -> arabščina
hy.fmuser.org -> Armenščina
az.fmuser.org -> azerbajdžanski
eu.fmuser.org -> baskovščina
be.fmuser.org -> belorusko
bg.fmuser.org -> bolgarščina
ca.fmuser.org -> katalonščina
zh-CN.fmuser.org -> kitajščina (poenostavljena)
zh-TW.fmuser.org -> kitajščina (tradicionalno)
hr.fmuser.org -> hrvaški
cs.fmuser.org -> češčina
da.fmuser.org -> danski
nl.fmuser.org -> nizozemščina
et.fmuser.org -> estonščina
tl.fmuser.org -> filipinsko
fi.fmuser.org -> finski
fr.fmuser.org -> francosko
gl.fmuser.org -> galicijščina
ka.fmuser.org -> gruzijski
de.fmuser.org -> nemščina
el.fmuser.org -> grščina
ht.fmuser.org -> haitijska kreolščina
iw.fmuser.org -> hebrejščina
hi.fmuser.org -> hindujščina
hu.fmuser.org -> madžarščina
is.fmuser.org -> islandski
id.fmuser.org -> indonezijski
ga.fmuser.org -> irski
it.fmuser.org -> italijanščina
ja.fmuser.org -> japonski
ko.fmuser.org -> korejski
lv.fmuser.org -> latvijski
lt.fmuser.org -> litovščina
mk.fmuser.org -> makedonščina
ms.fmuser.org -> malajščina
mt.fmuser.org -> malteščina
no.fmuser.org -> norveščina
fa.fmuser.org -> perzijski
pl.fmuser.org -> poljščina
pt.fmuser.org -> portugalščina
ro.fmuser.org -> romunščina
ru.fmuser.org -> ruščina
sr.fmuser.org -> srbščina
sk.fmuser.org -> slovaški
sl.fmuser.org -> slovenščina
es.fmuser.org -> španščina
sw.fmuser.org -> svahili
sv.fmuser.org -> švedščina
th.fmuser.org -> tajska
tr.fmuser.org -> turški
uk.fmuser.org -> ukrajinski
ur.fmuser.org -> urdujščina
vi.fmuser.org -> Vietnamščina
cy.fmuser.org -> valižanščina
yi.fmuser.org -> jidiš
FMUSER brezžični prenos video in zvoka lažje!
Kontakt
naslov:
No.305 Soba HuiLan stavba št.273 Huanpu Road Guangzhou Kitajska 510620
Kategorije
Novice