„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
Kuriant programas: reikia gerai išmokti C kalbą, duomenų struktūrą, JAVA ir kt. Nėra nieko ypatingo, į ką reikia atkreipti dėmesį į įterptųjų programų ir programų kūrimą asmeniniame kompiuteryje. Gal sakote, kad reikia optimizuoti įterptąją sistemą, taip, reikia optimizuoti, tačiau neoptimizuota programa niekuo nesiskiria nuo programos kūrimo asmeniniame kompiuteryje. Be to, kai turite galimybę optimizuoti, nebepratote užduoti šio klausimo. Konkrečiam pavyzdžiui, pavyzdžiui, kūrimo sąsajai, mes naudojame VC kompiuteryje; įterptoje „Linux“ sistemoje galime naudoti „QT“ ir „Android“. Šiuo metu turėtumėte išmokti QT ir „Android“ programavimo. Bet pagrindas vis dar yra C arba JAVA, ir, remdamasis šiuo pagrindu, susipažinkite su jų sąsajomis. Jei išmokote VC, reikia laiko suprasti šias klases ir valdiklius.
Jei norite sužinoti pagrindinę sistemą, tai yra mano specialybė, bet galiu pasakyti šiek tiek.
Prieš atsakydamas į šį klausimą, leiskite man atsakyti: Daugelis žmonių manęs klausia, ar mokytis vairuoti, ar mokytis taikyti? Galiu tik pasakyti, kad tai pagrįsta susidomėjimu, o tvarkyklės ir programos nėra visiškai atskiros.
1. Tvarkyklės, apie kurias kalbame, neapsiriboja vien aparatūros operacijomis, bet ir tokiomis sąvokomis kaip operacinės sistemos principai ir procesų miego bei budėjimo planavimas. Jei norite parašyti gerą paraišką ir norite geriau išspręsti problemas, su kuriomis susiduria programa, turėtumėte suprasti šias žinias
2. Žemos taikymo kliūtys, ypač dabartinė ANDROID, gryna JAVA. Aš asmeniškai manau, kad programų kūrimo kelias yra įgudęs versle. Pavyzdžiui, komunikacijos pramonėje, IPTV pramonėje ir mobiliųjų telefonų pramonėje suprantate pramonės poreikius. Todėl žmonės, kurie yra lyderiai, dažniausiai yra programos.
3. Būkite varomas. Tiesą sakant, aš nenoriu to vadinti „būti vairuotoju“, bet noriu pavadinti „būti žemo lygio sistema“. Kai tai bus padaryta, tai sunaikins visas pramonės šakas. Dirbau kelerius metus ir gaminau mobiliuosius telefonus, IPTV ir konferencijų televizijas, tačiau šie produktai man neturi jokio skirtumo, nes darau tik apatinį sluoksnį. Jų verslas neturi nieko bendro su manimi. Kai kyla problemų dėl programos ir jie negali jos išspręsti, pateiksiu jiems idėją iš branduolio perspektyvos ir pateiksiu jiems įrankius. Aš asmeniškai manau, kad esu techninis apatinio sluoksnio kūrimo krypties ekspertas.
4. Tiesą sakant, nėra ribos tarp apatinio sluoksnio ar programos atlikimo. Jei turite apatinio sluoksnio patirtį, atlikdami programą jausitės labai laisvai. Turėdami verslo patirties, galite pažinti apatinį sluoksnį ir netrukus galėsite sudaryti komandą.
Grįžtame prie klausimo, kaip mokytis. Kas įtraukta į įterptąją „Linux“ pagrindinę sistemą? Nesijaudinkite, jūs tai sužinosite pateikdami pavyzdį.
1. Kas įjungia kompiuterį, kas rodo tas sąsajas? Tai yra BIOS, ką ji veikia? Kai kurie patikrina save, tada perskaitykite langus iš standžiojo disko ir paleiskite jį. Panašiai šis BIOS atitinka įterptųjų „Linux“ įkrovos įrankį. Šis įkrovos įrankis turi perskaityti „Linux“ branduolį „Flash“ ir jį paleisti.
2. Koks yra langų paleidimo tikslas? Žinoma, tai pokalbis internetu ar pan. Kur yra šie interneto ir pokalbių įrankiai? C diske ir D diske. Todėl langai pirmiausia turi identifikuoti C ir D įrenginius. Mes ją vadiname šakninių failų sistema pagal „Linux“.
3. „Windows“ gali atpažinti C diską ir D diską, todėl turi mokėti skaityti ir rašyti standųjį diską. Dalykai yra vadinami vairuotojais. Žinoma, tai ne tik kietasis diskas, bet ir tinklo plokštė, USB ir pan. Įterptoji „Linux“ gali skaityti ir vykdyti programas iš „Flash“, taip pat turi turėti „Flash“ tvarkykles. Žinoma, tai ne tik „Flash“.
Pirmiausia pakalbėkime apie tai, kad įterptojoje LINUX yra keturios pagrindinės dalys: įkrovos programa, branduolys, tvarkyklė ir šakninių failų sistema.
Vienas, įkrovos įrankis
Tai šiek tiek sudėtingesnė pliko lentos programa. Bet tai nėra lengva suprasti ir parašyti šią pliko lentos programą. Naudingi „Windows“ įrankiai susilpnina mūsų programavimo galimybes.
Daugelis žmonių naudoja ADS ir KEIL, kai tik jie žaidžia įterpti. Ar galite atsakyti į šiuos klausimus?
1. Įjungus maitinimą, kur procesorius gauna vykdymo instrukcijas?
Atsakymas: Paprastai instrukcija yra „Flash“.
2. Bet „Flash“ galima tik skaityti, o ne tiesiogiai rašyti. Jei aš naudoju visuotinius kintamuosius, kur yra šie visuotiniai kintamieji?
Atsakymas: Visuotiniai kintamieji turėtų būti atmintyje
3. Taigi kas į atmintį įtraukia globaliuosius kintamuosius?
Atsakymas: Ar galite atsakyti draugui, kuris ilgą laiką naudojo ADS ir KEIL? Tam reikia „persikėlimo“. Programoje ADS arba KEIL perkėlimo kodą jums parašo įmonė, kuri gamina šiuos įrankius. Ar jūs kada nors skaitėte?
4. Atmintis yra tokia didelė, iš kur žinoti, kuriuo adresu į atmintį skaityti „iš pradžių„ Flash “saugomą turinį“?
Atsakymas: Šis adresas nustatomas pagal „nuorodų scenarijų“, ADS yra išsklaidytų failų ir panašių failų KEIL. Bet ar jūs tai studijavote?
5. Sakėte, kad perkėlimas yra programos nukopijavimas iš „Flash“ į atmintį, kad ši programa galėtų skaityti „Flash“? Atsakymas: taip, jūs turite mokėti valdyti „Flash“. Žinoma, ne tik tai, bet ir laikrodžio nustatymas, kad sistema veiktų greičiau ir pan. Pirmiausia paklauskime ir atsakykime, kad „bootloader“, plikos lentos programa, iš tikrųjų turi tris pagrindinius dalykus:
1. Aparatinės įrangos veikimas
2. Suprasti ARM sistemos procesorius
3. Pagrindinės programos sąvokos: perkėlimas, kaupimas, kodo segmentas, duomenų segmentas, BSS segmentas ir pan.
Norėdami naudoti aparatinę įrangą, turite pamatyti schemą ir lusto vadovą. Tam reikia tam tikrų žinių apie aparatūrą. Tai nereikalauja, kad galėtumėte suprojektuoti aparatinę įrangą, bet bent jau ją suprasti; tam nereikia mokėti suprasti analogines grandines, bet suprasti skaitmenines grandines. Šį gebėjimą išmokau mokykloje. Pakanka dviejų knygų (knygos, kurią pamiršau, pavadinimo). Bet abejoju, ar turite kantrybės baigti skaityti šias dvi knygas. Nežinau, ar dabar yra greitesnė knyga. Jei norite tai padaryti greitai, pirmiausia paleiskite tai, o jei nesuprantate, tiesiog paprašykite „Google“ ir paskelbkite.
Be to, reikia skaityti lusto vadovą, neieškokite kinų kalbos, tiesiog pažvelkite į anglų kalbą. Iš pradžių tai buvo labai skausminga, tačiau vėliau, kai gramatika ir žodynas jau žinomi, lengva perskaityti bet kokį lusto vadovą.
Norėdami suprasti ARM sistemos procesorius, žr. Du Chunlei's. Čia kalbama apie surinkimo instrukcijas, išimties režimus, MMU ir kt. Turite suprasti tik šiuos 3 turinio elementus.
Pagrindinė programos koncepcija, be abejo, karalius yra pažvelgti į kompiliavimo principus. Deja, tokio tipo knygos neabejotinai yra dangiškojo lygio knygos. Patariu to nežiūrėti, nebent esate super genijus. Tiesiog žiūrėkite ir pirmasis mano parašytas vaizdo įrašas - nesijaudink, neišleisk pinigų. Stebėjus vaizdo įrašą ir atliekant su aparatūra susijusius eksperimentus, šios sąvokos paaiškės. Neradau antrojo knygų ar vaizdo įrašų, kuriuose būtų kalbama apie šias sąvokas, leidžiančių man aklai pasigirti. „Bootloader“ programoje pirmiausia žiūrėjau, kai mokiausi, o tada pats parašiau programą ir visus eksperimentus atlikau su įvairia aparatūra, pavyzdžiui, GPIO, laikrodžiu, SDRAM, UART ir NAND. Jei juos aiškiai išaiškinsite, lengvai suprantate „u-boot“ grupuodami. Apibendrinant, norint suprasti aparatinės įrangos schemą ir lusto vadovą, turite patys rasti informaciją. Likusioje dalyje tiesiog vadovaukitės skyrių sąrašu ir pirmasis vaizdo įrašo mokymosi etapas.
Du - branduolys
Tie, kurie nori pradėti, pirmiausia turėtų praleisti branduolio mokymąsi ir išmokti tiesiogiai rašyti tvarkykles.
Kad taptų meistru, branduolys turi būti giliai suprantamas. Atkreipkite dėmesį, kad kalbu apie supratimą, neturiu ekstravagantiškos vilties parašyti branduolį.
Suprasti planavimo mechanizmą, atminties valdymo mechanizmą, failų valdymo mechanizmą ir kt.
Rekomenduokite dvi knygas:
1. Perskaitykite, prašau perskaityti ploną knygą (Plaukiojanti visuomenė pabrėžia greitį)
2. Pasirinkite skaityti, norite sužinoti, kurį skyrių skaityti kurį skyrių
Trys, vairuok
Tvarkyklę sudaro dvi dalys: pačios aparatinės įrangos valdymas ir tvarkyklės karkasas.
Tai vėl aparatūra. Vis dar būtina suprasti schemą ir lusto vadovą. Praktikuok daugiau. Kalbant apie vairuotojo sistemą, yra keletas knygų, kuriose ji pristatoma. Užsieniečio parašytoje knygoje „LDD3“ pateikiama daugybė sąvokų, kurią verta perskaityti. Tačiau jos vaidmuo apsiriboja sąvokų įvedimu. Aš iš esmės jį naudojau, norėdamas susipažinti su sąvokomis prieš pradėdamas, o tada pradėjęs išmesti.
Išsamesnė vairuotojo įžanga turėtų būti „Song Baohua“. Jei atvirai, skaičiau tik katalogą. Daugelis žmonių sakė taip, aš rekomenduoju tai čia.
Jei norite giliau suprasti tam tikrą sritį, tai tikrai yra super 5 žvaigždučių rekomendacija. Nesitikite, kad perskaitysite daugiau nei 1,800 puslapių, du tomus aukštyn ir žemyn. Kai nesu tikras dėl tam tikros srities, apžiūrėsiu ją. Bet kuri šios knygos dalis gali apimti du ar tris šimtus puslapių, o tai yra labai išsami informacija. Norėdami paanalizuoti branduolio šaltinio kodą su tam tikru tikslu. Kaip pavyzdį reikia naudoti „Linux“ 2.4, tačiau principas yra tas pats ir jis taip pat taikomas kitoms „Linux“ versijoms. Dar kokių įžangų? Žinoma, yra antrasis „Wei Dongshan Linux Video“ leidimas. „Pilnas įterptųjų„ Linux “programų kūrimo vadovas“ nedaug kalba apie tvarkyklę ir nėra pakankamai išsamus.
Pabandykite parašyti visos aparatūros, susijusios su jūsų kūrimo lenta, tvarkyklę. Jei turite problemų, pirmiausia turėtumėte „mąstyti skausmingai“. Mąstymo metu jūs susiesite daugybę nesusijusių žinių ir galiausiai jas pergyvensite.
Ketvirta, šakninių failų sistema
Ar kada pagalvojai apie šiuos du klausimus:
1. „Linux“ gaminamiems produktams kai kurie naudojami stebėjimui, kiti - kaip mobilieji telefonai, o kiti - kaip planšetiniai kompiuteriai. Taigi, paleidus branduolį, įdiegus šaknų failų sistemą, kurią programą reikėtų paleisti?
Atsakymas: branduolys nežino arba nesvarbu, kurią vartotojo programą reikėtų paleisti. Paleidžiama tik „init“ programa, kuri atitinka / sbin / init.
Akivaizdu, kad ši programa turi perskaityti konfigūracijos failą ir paleisti vartotojo programą (stebėjimas, rankinė sąsaja, planšetinio kompiuterio sąsaja ir kt.) Pagal konfigūracijos failą. Šis klausimas mums primena, kad failų sistemos turinyje yra tam tikrų konvencijų, tokių kaip / sbin / init, reikalingas konfigūracijos failas.
2. Ar kada pagalvojai, kas įgyvendino jūsų parašytose „Hello“ ir „World“ programose naudojamą „printf“?
Atsakymas: šią funkciją įgyvendinate ne jūs, o bibliotekos funkcija. Kai ji veikia, ji turi rasti biblioteką.
Šis klausimas mums primena, kad failų sistemoje vis dar yra bibliotekų. Čia yra paprastas klausimas ir atsakymas. Jei norite sužinoti daugiau, galite pažvelgti į autobusybox init.c, kad sužinotumėte, ką daro init procesas. Be abejo, taip pat galite pamatyti skyrių apie šakninių failų sistemos kūrimą .
Mano mokymosi patirtis
1. Kai mokiausi mokykloje, įgijau fizikos ir elektronikos specialybę. Tiesą sakant, kurso metu nemokiau kurti grandinių, o išmokiau tik tam tikrų žinių apie elektronines grandines. PCB projektavimo laboratorijoje mokiau aš pats. Suprojektavau tik 2 sluoksnių lentą, o dabar ją beveik pamirštu. Bet jis išlaiko galimybę perskaityti schemą ir lusto vadovą.
2. Aš įgijau programinės įrangos išsilavinimą ir mane labai domina programinės įrangos projektavimas, bet aš išmokau tik C kalbą ir duomenų bazę. Su susidomėjimu uždaviau daug konkursinių klausimų. Negaliu dalyvauti konkurse, bet turiu tvirtą C kalbos praktiką.
3. Laboratorijoje, pirmojoje įmonėje, suprojektavau keletą paprastų PCI kortelių ir parašiau „Windows“ tvarkyklę
4. Antroje įmonėje, naudojant 51 vieno lusto mikrokompiuterį kaip automobilinį telefoną, pradėjo leistis į grynos programinės įrangos kelią.
5. Aš pradėjau jausti vieno lusto mikrokompiuterio trūkumus. Pusę metų atsistatydinau, kad išmokčiau „Linux“ už uždarų durų, pradedant tuo, kaip valdyti raudoną skrybėlę. Pirmiausia reikia į tai žiūrėti, tada parašyti plikos lentos programą, kad veiktų aparatinė įranga, ir tada išanalizuoti „u-boot“. Tuo pat metu aš šiek tiek suprantu LINUX sistemą.
Rašant plikas lentas, rekomenduojama sustiprinti supratimą apie pertraukimus. Branduolys naudoja pertraukimus, kad atliktų įvairias funkcijas.
6. Išanalizavę „u-boot“, pradėkite paprastą tvarkyklės programavimą. Šiuo metu galimybės vis dar yra labai silpnos.
7. Pradėjo dirbti ZTE, dirbo 2 metus, rašė visokius vairuotojus, sprendė įvairiausias problemas (vairavimo problemas, padėjo surasti programų problemas) ir sugebėjimai buvo sušvelninti.
|
Įveskite el. Pašto adresą, kad gautumėte staigmeną
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
Susisiekite su mumis
Adresas:
Nr. 305 kambarys „HuiLan“ pastatas Nr. 273 Huanpu Road Guangdžou, Kinija 510620
Kategorijos
Naujienlaiškis