FMUSER Wirless edastab videot ja heli lihtsamalt!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
Rakenduse arendamiseks: C-keelt, andmestruktuuri, JAVA-d jms tuleb hästi õppida. Sisseehitatud rakenduste ja personaalarvutite arendamisel pole midagi erilist tähelepanu pöörata. Võib-olla ütlete, et peate manustatud süsteemi optimeerima, jah, peate optimeerima, kuid optimeerimata programm ei erine PC-s arendatud programmist. Lisaks, kui teil on võimalus optimeerida, ei kasutata teid enam selle küsimuse esitamiseks. Konkreetse näite, näiteks arendusliidese jaoks kasutame VC-d arvutis; sisseehitatud Linuxis võime kasutada QT ja Androidi. Sel ajal peaksite õppima QT ja Androidi programmeerimist. Kuid sihtasutus on endiselt C või JAVA ja selle põhjal tutvuge nende liidestega. Kui olete õppinud VC-d, võtab nende klasside ja juhtnuppude mõistmine aega.
Kui soovite õppida põhisüsteemi, on see minu eriala, kuid võin öelda natuke.
Enne sellele küsimusele vastamist lubage mul vastata: Paljud inimesed küsivad minult, kas see on autojuhtimise õppimine või kandideerimine? Võin vaid öelda, et see põhineb huvil ning draiverid ja rakendused pole täiesti eraldi.
1. Draiverid, millest räägime, ei piirdu riistvaraga, vaid hõlmavad ka selliseid mõisteid nagu operatsioonisüsteemi põhimõtted ning protsesside une ja ärkamise ajastamine. Kui soovite kirjutada head rakendust ja soovite rakenduse probleemid paremini lahendada, peaksite neist teadmistest aru saama
2. Madalad rakendustõkked, eriti praegune ANDROID, puhas JAVA. Ma arvan isiklikult, et rakenduste arendamise tee on valdav ettevõtluses. Näiteks side-, IPTV- ja mobiiltelefonitööstuses mõistate selle tööstuse vajadusi. Seetõttu on juhiks olevad inimesed enamasti rakendused.
3. Juhtida. Tegelikult ei taha ma seda nimetada "autojuhiks olemiseks", küll aga "madalama taseme süsteemiks olemiseks". Kui see on tehtud, tapab see kõik tööstusharud. Olen mitu aastat töötanud ja teinud mobiiltelefone, IPTV-d ja konverentsitelevisioone, kuid need tooted ei tee mulle vahet, sest ma teen ainult alumist kihti. Nende äril pole minuga midagi pistmist. Kui rakendusega on probleeme ja nad ei suuda seda lahendada, annan neile kerneli vaatenurgast idee ja pakun neile tööriistu. Ise arvan, et olen alumise kihi arengusuunas tehniline ekspert.
4. Tegelikult pole alumise kihi või rakenduse tegemise vahel piiri. Kui teil on alumise kihi kogemus, tunnete end rakendust tehes väga vabalt. Ärikogemuse abil saate tutvuda alumise kihiga ja peagi saate moodustada meeskonna.
Tagasi küsimuse juurde, kuidas õppida. Mida sisaldab sisseehitatud Linuxi põhisüsteem? Ärge muretsege, saate seda teada, tuues näite.
1. Kes kuvab need liidesed arvuti sisselülitamisel? See on BIOS, mida see teeb? Mõned enesekontrollid, seejärel loe kõvakettalt aknad ja käivitage see. Samamoodi vastab see BIOS varjatud Linuxi alglaadurile. See alglaadur peab lugema Flassi Linuxi tuuma ja käivitama selle.
2. Mis on akende käivitamise eesmärk? Muidugi on see veebivestlus või midagi muud. Kus on need Interneti- ja vestlustööriistad? C- ja D-draivil. Seetõttu peavad aknad kõigepealt tuvastama C-draivi ja D-draivi. Nimetame seda Linuxi juurfailisüsteemiks.
3. Windows tunneb ära C- ja D-draivi, seega peab see olema võimeline kõvaketast lugema ja kirjutama. Asjaosalisi asju nimetatakse autojuhtideks. Muidugi pole see mitte ainult kõvaketas, vaid ka võrgukaart, USB jne. Manustatud Linux suudab Flashist rakendusi lugeda ja käivitada ning sellel peavad olema ka Flashi draiverid. Muidugi pole see ainult Flash.
Räägime kõigepealt sellest, varjatud LINUX sisaldab nelja peamist osa: alglaadur, tuum, draiver ja juurfailisüsteem.
Üks, alglaadur
See on veidi keerulisem paljas laudaga programm. Kuid sellest palja pardal oleva programmi mõistmine ja kirjutamine pole lihtne. Windowsi all olevad kasulikud tööriistad nõrgendavad meie programmeerimisvõimet.
Paljud inimesed kasutavad ADS-i ja KEIL-i kohe, kui nad mängivad manustatud. Kas oskate neile küsimustele vastata?
1. Kui toide on sisse lülitatud, kust hankib protsessor juhised täitmiseks?
Vastus: Üldiselt on juhised Flashilt.
2. Kuid Flashi saab lugeda ja mitte otse kirjutada. Kui ma kasutan globaalseid muutujaid, siis kus need globaalsed muutujad on?
Vastus: globaalsed muutujad peaksid olema mälus
3. Kes siis paneb globaalsed muutujad mällu?
Vastus: Kas oskate vastata sõbrale, kes on ADSi ja KEILI pikka aega kasutanud? See nõuab "ümberpaigutamist". Rakenduses ADS või KEIL kirjutab ümberpaigutuskoodi teile ettevõte, kes neid tööriistu valmistab. Kas olete seda kunagi lugenud?
4. Mälu on nii suur, kuidas ma tean, millise aadressi abil mällu "algselt Flashis salvestatud sisu" lugeda?
Vastus: Selle aadressi määrab "lingi skript", ADS-is on hajumisfailid ja KEIL-is sarnased failid. Aga kas olete seda uurinud?
5. Ütlesite, et ümberpaigutamine on programmi kopeerimine Flashist mällu, et see programm saaks Flashi lugeda? Vastus: Jah, peate saama Flashi juhtida. Muidugi mitte ainult neid, vaid ka kella seadistamist, et süsteem töötaks kiiremini jne. Küsime ja vastame kõigepealt siin, paljasplaadil oleval alglaaduril on tegelikult kolm põhipunkti:
1. Riistvara töö
2. ARM-i süsteemiprotsessorite mõistmine
3. Programmi põhimõisted: ümberpaigutamine, virn, koodisegment, andmesegment, BSS-segment ja nii edasi.
Riistvara toimimiseks peate nägema skeemi ja kiibi käsiraamatut. See nõuab teatud teadmisi riistvarast. See ei eelda, et peaksite oskama riistvara kujundada, kuid vähemalt sellest aru saama; see ei nõua mitte analoogahelate mõistmist, vaid digitaalahelate mõistmist. Õppisin selle võime koolis. Kaks raamatut (unustatud raamatu pealkiri) on piisavad. Kuid ma kahtlen, kas teil on kannatlikkust neid kahte raamatut lugeda. Ma ei tea, kas nüüd on mõni kiirem raamat olemas. Kui soovite selle kiiresti teha, laske see kõigepealt lahti ja kui te ei saa aru, küsige lihtsalt Google'ilt ja postitage.
Lisaks tuleb lugeda kiibi kasutusjuhendit, ärge otsige hiina keelt, vaid vaadake inglise keelt. Alguses oli see väga valus, kuid hiljem, kui grammatika ja sõnavara on tuttavad, on igat kiibi käsiraamatut lihtne lugeda.
ARM-süsteemiprotsessorite mõistmiseks vaadake palun Du Chunlei. See räägib monteerimisjuhistest, erandirežiimidest, MMU-st jne. Ainult need kolm sisu vajavad mõistmist.
Programmi põhimõte on muidugi see, et kuningas peab vaatama koostamise põhimõtteid. Kahjuks on seda tüüpi raamatud kindlasti taevase raamatu tasemel. Soovitan teil seda mitte vaadata, kui te pole supergeenius. Lihtsalt jälgige ja esimene video, mille ma kirjutasin, ära muretse, ära kuluta raha. Pärast videot ja riistvaraga seotud katseid tehes saavad need mõisted selgeks. Ma pole leidnud teist raamatute või videote komplekti, mis nendest mõistetest räägiks, võimaldades mul sellega pimesi kiidelda. Alglaaduri jaoks vaatasin seda kõigepealt õppides ja siis kirjutasin ise programmi ning tegin kõik katsed erinevate riistvaradega, näiteks GPIO, kell, SDRAM, UART ja NAND. Kui teete need selgeks, on u-boot'ist lihtne aru saada grupeerides. Kokkuvõtteks: riistvara skeemi ja kiibi käsiraamatu mõistmiseks peate teabe ise leidma. Ülejäänud osas järgige lihtsalt jaotise peatükkide loendit ja video esimene etapp, mida õppida.
Kaks, tuum
Need, kes soovivad alustada, peaksid kõigepealt vahele jätma kerneli õppimise ja õppima draivereid otse kirjutama.
Peremeheks saamiseks peab tuumal olema sügav mõistmine. Pange tähele, et ma räägin mõistmisest, mul pole ekstravagantset lootust tuuma kirjutada.
Et mõista ajakava mehhanismi, mäluhalduse mehhanismi, failihalduse mehhanismi jne.
Soovitage kahte raamatut:
1. Lugege läbi, palun lugege õhukest raamatut (hõljuv ühiskond rõhutab kiirust)
2. Valige lugemine, soovite teada, millist jaotist millist jaotist lugeda
Kolm, sõitke
Draiver koosneb kahest osast: riistvara enda toimimisest ja draiveri raamistikust.
See on jälle riistvara. Ikka on vaja mõista skeemi ja kiibi käsiraamatut. Harjuta veel. Juhi raamistikust rääkides on selle tutvustamiseks mõned raamatud. Välismaalase kirjutatud raamat LDD3 tutvustab paljusid mõisteid ja on lugemist väärt. Kuid tema roll piirdub mõistete tutvustamisega. Põhimõtteliselt kasutasin seda mõistetega enne alustamist tutvumiseks ja pärast alustamist minema viskama.
Juhi põhjalikum tutvustus peaks olema Song Baohua oma. Kui aus olla, lugesin ainult kataloogi. Paljud inimesed ütlesid jah, soovitan seda siin.
Kui soovite teatud piirkonda põhjalikult mõista, on see kindlasti super 5-tärni soovitus. Te ei looda seda lugeda, rohkem kui 1,800 lehekülge, kaks köidet üles ja alla. Kui ma pole kindlas piirkonnas kindel, vaatan selle läbi. Selle raamatu mis tahes osa võib katta kaks või kolmsada lehekülge, mis on väga üksikasjalik. Ja viiks teid teatud eesmärgiga kerneli lähtekoodi analüüsima. See võtab näiteks Linux 2.4, kuid põhimõte on sama ja see on rakendatav ka teistele Linuxi versioonidele. Kas on muid tutvustusi? Muidugi on olemas ka Wei Dongshan Linux Video teine number. "Manustatud Linuxi rakenduste arendamise täielik käsiraamat" ei räägi draiverist eriti palju ja see pole piisavalt põhjalik.
Proovige kirjutada draiver kogu oma arendusplaadil olevale riistvarale. Kui teil on probleeme, peaksite kõigepealt "valusalt mõtlema". Mõtlemise käigus ühendate palju ebaolulisi teadmisi ja saate need lõpuks läbi.
Neljandaks juurfailisüsteem
Kas olete mõelnud neile kahele küsimusele:
1. Linuxi toodetud toodete puhul kasutatakse mõnda seireks, mõnda mobiiltelefonina ja mõnda tahvelarvutina. Millist rakendust tuleks pärast tuuma käivitamist, pärast juurfailisüsteemi installimist käivitada?
Vastus: Kernel ei tea või ei huvita, millist kasutajaprogrammi tuleks käivitada. See käivitab ainult init-i rakenduse, mis vastab / sbin / init-le.
Ilmselt peab see rakendus lugema konfiguratsioonifaili ja käivitama kasutajaprogrammi (jälgimine, manuaalne liides, tahvelarvuti liides jne) vastavalt konfiguratsioonifailile. See küsimus tuletab meile meelde, et failisüsteemi sisul on mõned tavad, näiteks / sbin / init, on vajalik konfiguratsioonifail.
2. Kas olete kunagi mõelnud, kes rakendas teie kirjutatud tere- ja maailmaprogrammides kasutatud printfi?
Vastus: Seda funktsiooni ei rakendata teie, vaid raamatukogu funktsioon. Kui see töötab, peab ta leidma raamatukogu.
See küsimus tuletab meile meelde, et failisüsteemis on endiselt teeke. Siin on lihtne küsimus ja vastus. Kui soovite rohkem teada saada, võite vaadata busyboxi init.c-d, et teada saada, mida init-protsess teeb. Muidugi näete ka peatükki juurfailisüsteemi loomisest .
Minu õppimiskogemus
1. Koolis käies õppisin füüsika ja elektroonika erialal. Tegelikult ei õpetanud ma kursusel vooluringide kujundamist, vaid õpetasin ainult mõningaid teadmisi elektrooniliste vooluringide kohta. PCB disaini õpetasin laboris ise. Kujundasin ainult kahekihilise plaadi ja nüüd unustasin selle peaaegu ära. Kuid see säilitab võime lugeda skeemi ja kiibi käsiraamatut.
2. Lõpetasin tarkvara ja olen väga huvitatud tarkvara kujundamisest, kuid õppisin ainult C-keelt ja andmebaasi. Tegin huviga palju võistlusküsimusi. Ma ei saa konkursil osaleda, kuid mul on kindel C-keele praktika.
3. Laboris kujundasin esimeses ettevõttes mõned lihtsad PCI-kaardid ja kirjutasin Windowsi draiveri
4. Teises ettevõttes, kasutades autotelefonina 51 ühekiibilist mikroarvutit, hakati puhta tarkvara teele asuma.
5. Hakkasin tundma ühe kiibiga mikroarvuti puudusi. Lahkusin pool aastat, et õppida Linuxit kinniste uste taga, alustades sellest, kuidas punast mütsi kasutada. Samm on kõigepealt seda vaadata, seejärel kirjutada riistvaraga töötamiseks palja plaadi programm ja seejärel analüüsida u-boot. Samal ajal on mul LINUXi raamistikust teatud arusaam.
Paljaste tahvlite kirjutamisel on soovitatav tugevdada arusaamist katkestustest. Kernel kasutab erinevate funktsioonide täitmiseks katkestusi.
6. Pärast u-boot analüüsimist alustage draiverite lihtsat programmeerimist. Sel ajal on võime endiselt väga nõrk.
7. Alustas tööd ZTE-s, töötas 2 aastat, kirjutas igasuguseid draivereid, lahendas igasuguseid probleeme (juhtimisprobleemid, rakenduste probleemide leidmine) ja võimekust karastati.
|
Üllatuse saamiseks sisestage e-posti aadress
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
FMUSER Wirless edastab videot ja heli lihtsamalt!
Saada sõnum
Aadress:
Nr 305 tuba HuiLan Building No.273 Huanpu Road Guangzhou, Hiina 510620
Kategooriad
Uudiskiri