FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
Për zhvillimin e aplikacionit: gjuha C, struktura e të dhënave, JAVA, etj. Duhet të mësohen mirë. Nuk ka asgjë të veçantë për t'i kushtuar vëmendje zhvillimit të aplikacioneve të ngulitura dhe zhvillimit të aplikacioneve në PC. Ndoshta ju thoni që duhet të optimizoni sistemin e ngulitur, po, duhet të optimizoni, por programi i pa optimizuar nuk ndryshon nga zhvillimi i programit në PC. Për më tepër, kur keni aftësinë të optimizoni, nuk jeni mësuar më ta bëni këtë pyetje. Për një shembull specifik, siç është ndërfaqja e zhvillimit, ne përdorim VC në PC; në Linux të ngulitur, ne mund të përdorim QT dhe Android. Në këtë kohë, duhet të mësoni programimin QT dhe Android. Por themeli është ende C ose JAVA, dhe mbi këtë bazë, familjarizohuni me ndërfaqet e tyre. Nëse keni mësuar QV, duhet kohë për të kuptuar ato klasa dhe kontrolle.
Nëse dëshironi të mësoni sistemin themelor, ky është specialiteti im, por mund të them pak.
Para se t'i përgjigjem kësaj pyetjeje, më lejoni të përgjigjem: Shumë njerëz më pyesin, a është të mësosh të ngasësh makinën apo të mësosh të aplikosh? Mund të them vetëm se bazohet në interes, dhe drejtuesit dhe aplikacionet nuk janë plotësisht të ndara.
1. Drejtuesit për të cilët po flasim nuk janë të kufizuar në operacione hardware, por gjithashtu koncepte të tilla si parimet e sistemit operativ dhe procesi i planifikimit të gjumit dhe zgjimit. Nëse dëshironi të shkruani një aplikacion të mirë dhe dëshironi të zgjidhni më mirë problemet që hasin aplikacioni, duhet ta kuptoni këtë njohuri
2. Pengesa të ulëta për aplikimin, veçanërisht ANDROID aktual, JAVA e pastër. Unë personalisht mendoj se rruga e zhvillimit të aplikacionit është e aftë në biznes. Për shembull, në industrinë e komunikimit, industrinë IPTV dhe industrinë e telefonisë mobile, ju i kuptoni nevojat e industrisë. Prandaj, njerëzit që janë udhëheqës janë kryesisht aplikacione.
3. Nxituni. Në fakt, unë nuk dua ta quaj atë "të jesh shofer", por dua ta quaj "të jesh një sistem i nivelit të ulët". Sapo të bëhet, kjo do të shkatërrojë të gjitha industritë. Unë kam punuar për disa vjet dhe kam bërë telefona celularë, IPTV dhe TV konferencë, por këto produkte nuk bëjnë asnjë ndryshim për mua, sepse unë bëj vetëm shtresën e poshtme. Biznesi i tyre nuk ka asnjë lidhje me mua. Kur ka një problem me aplikacionin dhe ata nuk mund ta zgjidhin atë, unë do t'u jap atyre një ide nga këndvështrimi i kernelit dhe do t'u siguroj atyre mjete. Unë personalisht mendoj se jam një ekspert teknik në drejtimin e zhvillimit të shtresës së poshtme.
4. Në fakt, nuk ka asnjë kufi midis bërjes së shtresës së poshtme ose bërjes së aplikacionit. Nëse keni përvojën e shtresës së poshtme, do të ndiheni shumë të qetë kur bëni aplikimin. Me përvojën e biznesit, ju mund të njiheni me shtresën e poshtme dhe së shpejti do të jeni në gjendje të formoni një ekip.
Kthehu tek pyetja se si të mësosh. Çfarë përfshihet në sistemin themelor të ngulitur të Linux? Mos u shqetëso, do ta njohësh duke dhënë një shembull.
1. Kur kompjuteri është i ndezur, kush i shfaq ato ndërfaqe? Bshtë BIOS, çfarë bën? Disa vetë-kontrolle, pastaj lexoni dritaret nga disku i ngurtë dhe fillojeni. Në mënyrë të ngjashme, ky BIOS korrespondon me ngarkuesin në Linux të ngulitur. Ky bootloader duhet të lexojë kernelin Linux në Flash dhe ta fillojë atë.
2. Cili është qëllimi i fillimit të dritareve? Sigurisht që është bisedë në internet ose diçka tjetër. Ku janë këto mjete interneti dhe bisede? Në makinë C dhe makinë D. Prandaj, dritaret duhet së pari të identifikojnë diskun C dhe atë D. Ne e quajmë atë sistemin skedar rrënjë nën Linux.
3. Windows mund të njohë diskun C dhe diskun D, kështu që duhet të jetë në gjendje të lexojë dhe shkruajë hard diskun. Gjërat e përfshira quhen shoferë. Sigurisht, nuk është vetëm një disk i fortë, por edhe një kartë rrjeti, USB, etj. Linux i ngulitur mund të lexojë dhe ekzekutojë aplikacione nga Flash, dhe gjithashtu duhet të ketë drejtues Flash. Sigurisht, nuk është vetëm Flash.
Le të flasim më parë, LINUX i ngulitur përmban katër pjesë kryesore: bootloader, kernel, driver dhe sistemin e skedarëve root.
Një, bootloader
Isshtë një program pak më i komplikuar i bordit të zhveshur. Por nuk është e lehtë të kuptohet dhe shkruhet ky program i zhveshur. Mjetet e dobishme nën Windows dobësojnë aftësinë tonë të programimit.
Shumë njerëz përdorin ADS dhe KEIL sa më shpejt që të luajnë të ngulitura. A mund t'u përgjigjeni këtyre pyetjeve?
1. Pasi të jetë ndezur, ku i merr CPU udhëzimet për ekzekutim?
Përgjigje: Në përgjithësi, udhëzimi është nga Flash.
2. Por Flash mund të lexohet dhe jo të shkruhet drejtpërdrejt. Nëse përdor variabla global, ku janë këto variabla globale?
Përgjigje: Variablat globale duhet të jenë në memorje
3. Pra, kush i vendos variablat globale në kujtesë?
Përgjigje: A mund t'i përgjigjeni një shoku që ka përdorur ADS dhe KEIL për një kohë të gjatë? Kjo kërkon "zhvendosje". Në ADS ose KEIL, kodi i zhvendosjes është shkruar për ju nga kompania që i bën këto mjete. A e keni lexuar ndonjëherë?
4. Kujtesa është aq e madhe, sa mund ta di se në cilën adresë duhet lexuar në memorje "përmbajtja e ruajtur fillimisht në Flash"?
Përgjigje: Kjo adresë përcaktohet nga "skenari i lidhjes", ka skedarë shpërndarës në ADS dhe skedarë të ngjashëm në KEIL. Por, a e keni studiuar atë?
5. Ju thatë që zhvendosja është të kopjoni një program nga Flash në memorje, kështu që ky program mund të lexojë Flash? Përgjigje: Po, duhet të jeni në gjendje të përdorni Flash. Sigurisht që jo vetëm këto, por edhe caktimi i orës për ta bërë sistemin të funksionojë më shpejt etj. Le të pyesim dhe të përgjigjemi këtu së pari, bootloader, një program i zhveshur, ka në të vërtetë tre pika kryesore:
1. Funksionimi i harduerit
2. Kuptimi i procesorëve të sistemit ARM
3. Konceptet themelore të programit: zhvendosja, stack, segmenti i kodit, segmenti i të dhënave, segmenti BSS etj.
Për funksionimin e pajisjes, duhet të shihni skemën skematike dhe manualin e çipit. Kjo kërkon një sasi të caktuar të njohurive hardware. Nuk kërkon që ju të jeni në gjendje të dizajnoni pajisje, por të paktën ta kuptoni atë; nuk kërkon të jetë në gjendje të kuptojë qarqet analoge, por të kuptojë qarqet dixhitale. Këtë aftësi e kam mësuar në shkollë. Dy librat (titulli i librit që harrova) janë të mjaftueshëm. Por dyshoj se keni durim të mbaroni së lexuari këta dy libra. Nuk e di nëse ka një libër më të shpejtë tani. Nëse doni ta bëni atë shpejt, lëshoni së pari këtë dhe nëse nuk e kuptoni, thjesht pyesni Google dhe postoni.
Përveç kësaj, manuali i çipit duhet të lexohet, mos kërkoni kinezisht, thjesht shikoni anglisht. Në fillim ishte shumë e dhimbshme, por më vonë, pasi të njihen gramatikat dhe fjalori, është e lehtë të lexosh çdo manual të çipave.
Për të kuptuar procesorët e sistemit ARM, ju lutemi shikoni Du Chunlei. Flet për udhëzimet e asamblesë, mënyrat e përjashtimit, MMU, etj. Vetëm këto 3 pjesë të përmbajtjes duhet të kuptoni.
Koncepti themelor i programit, natyrisht, mbreti është të shikojë parimet e përpilimit. Fatkeqësisht, ky lloj libri është padyshim i nivelit të librit qiellor. Unë ju këshilloj të mos e shikoni nëse nuk jeni një super gjeni. Vetëm shikoni dhe videoja e parë që kam shkruar, mos u shqetëso, mos harxho para. Duke ndjekur videon dhe duke bërë eksperimente të lidhura me harduerin, këto koncepte do të bëhen të qarta. Nuk kam gjetur grupin e dytë të librave ose videove që flasin për këto koncepte, duke më lejuar të mburrem me të verbërisht. Për bootloader-in, unë së pari e pashë atë kur isha duke studiuar, dhe pastaj e shkruajta vetë programin dhe bëra të gjitha eksperimentet në pajisje të ndryshme, të tilla si GPIO, ora, SDRAM, UART dhe NAND. Nëse i bëni të qarta, është e lehtë të kuptosh u-boot duke u grupuar së bashku. Për ta përmbledhur, për të kuptuar diagramin skematik të harduerit dhe manualin e çipit, duhet ta gjeni vetë informacionin. Për pjesën tjetër, thjesht ndiqni listën e kapitullit të dhe faza e parë e videos për të mësuar.
Dy, bërthama
Ata që duan të fillojnë duhet të kapërcejnë mësimin e bërthamës së pari dhe të mësojnë se si të shkruajnë drejtpërdrejt drejtuesit.
Për t'u bërë një master, bërthama duhet të ketë një kuptim të thellë. Vini re se unë jam duke folur për të kuptuar, unë nuk kam asnjë shpresë ekstravagante për të shkruar një bërthamë.
Për të kuptuar mekanizmin e planifikimit, mekanizmin e menaxhimit të kujtesës, mekanizmin e menaxhimit të skedarit, etj brenda.
Rekomandoni dy libra:
1. Lexoni, ju lutemi lexoni librin e hollë (Shoqëria lundruese thekson shpejtësinë)
2. Zgjidhni të lexoni, dëshironi të dini se cilën pjesë të lexoni seksionin
Tre, përzënë
Drejtuesi përbëhet nga dy pjesë: funksionimi i vetë pajisjes dhe korniza e drejtuesit.
Hardwareshtë përsëri hardueri. Stillshtë akoma e nevojshme të kuptohet diagrami skematik dhe manuali i çipit. Praktikoni më shumë. Duke folur për kornizën e drejtuesit, ka disa libra për ta prezantuar atë. LDD3, libri i shkruar nga një i huaj, paraqet shumë koncepte dhe ia vlen të lexohet. Sidoqoftë, roli i tij është i kufizuar në prezantimin e koncepteve. Unë në thelb e përdorja atë për t'u njohur me konceptet përpara se të filloja, dhe pastaj ta hidhja pas fillimit.
Hyrja më gjithëpërfshirëse për shoferin duhet të jetë e këngës Baohua. Të them të drejtën, unë vetëm lexoj katalogun. Shumë njerëz thanë po, unë e rekomandoj këtu.
Nëse doni të kuptoni në thellësi një fushë të caktuar, padyshim që është një rekomandim super me 5 yje. Ju nuk prisni ta lexoni, më shumë se 1,800 faqe, dy vëllime lart e poshtë. Kur nuk jam i sigurt për një zonë të caktuar, do ta shoh. Çdo pjesë e këtij libri mund të mbulojë dy ose treqind faqe, e cila është shumë e detajuar. Dhe për t'ju çuar të analizoni kodin burimor të bërthamës me një qëllim të caktuar. Merr linux 2.4 si shembull, por parimi është i njëjtë, dhe është i zbatueshëm edhe për versionet e tjera të linux. Ndonjë prezantim tjetër? Sigurisht që është, numri i dytë i Wei Dongshan Linux Video. "Manuali i plotë i zhvillimit të ngulitur të aplikacioneve Linux" nuk flet shumë për drejtuesin dhe nuk është mjaft i thelluar.
Mundohuni të shkruani një drejtues për të gjithë harduerin e përfshirë në bordin tuaj të zhvillimit. Nëse keni një problem, së pari duhet të "mendoni me dhimbje". Në procesin e të menduarit, ju do të lidhni shumë njohuri të parëndësishme dhe më në fund do t'i përvetësoni ato.
Së katërti, sistemi i skedarit rrënjë
A keni menduar ndonjëherë për këto dy pyetje:
1. Për produktet e prodhuara nga Linux, disa përdoren për monitorim, disa përdoren si telefona celularë, dhe disa përdoren si tableta. Pra, pas fillimit të kernelit, pas montimit të sistemit të skedarëve rrënjë, cili aplikacion duhet të fillojë?
Përgjigje: Kerneli nuk e di ose nuk i intereson cilin program përdorues duhet të fillojë. Ai fillon vetëm aplikacionin init, i cili korrespondon me / sbin / init.
Padyshim, ky aplikacion duhet të lexojë skedarin e konfigurimit dhe të fillojë programin e përdoruesit (monitorimi, ndërfaqja manuale, ndërfaqja e tabletës, etj.) Sipas skedarit të konfigurimit. Kjo pyetje na kujton se përmbajtja e sistemit të skedarëve ka disa konvencione, të tilla si / sbin / init, kërkohet një skedar konfigurimi.
2. A keni menduar ndonjëherë se kush e ka zbatuar printf-in e përdorur në përshëndetjet dhe programet botërore që keni shkruar?
Përgjigje: Ky funksion nuk zbatohet nga ju, por nga një funksion i bibliotekës. Kur të ekzekutohet, duhet të gjejë bibliotekën.
Kjo pyetje na kujton se ka akoma biblioteka në sistemin e skedarëve. Këtu është një pyetje dhe përgjigje e thjeshtë. Nëse doni të dini më shumë, mund të shikoni në init.c të busybox për të ditur se çfarë bën procesi init. Sigurisht, ju gjithashtu mund të shihni kapitullin për ndërtimin e sistemit të skedarëve rrënjë në .
Përvoja ime e të mësuarit
1. Kur isha në shkollë, unë u diplomova në fizikë dhe elektronikë. Në fakt, unë nuk mësova se si të projektoja qarqe gjatë kursit, por mësova vetëm disa njohuri rreth qarqeve elektronike. Dizajni i PCB u mësua nga unë në laborator. Unë kam dizajnuar vetëm një bord me 2 shtresa, dhe tani pothuajse e harroj atë. Por ajo ruan aftësinë për të lexuar skemën skematike dhe manualin e çipave.
2. Kam marrë një diplomë në softuer, dhe unë jam shumë i interesuar në hartimin e softuerit, por kam mësuar vetëm gjuhën C dhe bazën e të dhënave. Kam bërë shumë pyetje konkursi me interes. Nuk mund të marr pjesë në konkurs, por kam një praktikë solide të gjuhës C.
3. Në laborator, në kompaninë e parë, unë projektova disa karta të thjeshta PCI dhe shkruajta shoferin e dritareve
4. Në kompaninë e dytë, duke përdorur 51 mikrokompjuter me një çip të vetëm si një telefon makine, filloi të nisë rrugën e softuerit të pastër.
5. Fillova të ndiej të metat e mikrokompjuterit me një çip. Unë dhashë dorëheqjen për gjysmë viti për të mësuar Linux pas dyerve të mbyllura, duke filluar me mënyrën e përdorimit të kapelës së kuqe. Hapi është që së pari ta shikoni, pastaj shkruani programin e zhveshur të bordit për të operuar harduerin dhe më pas të analizoni u-boot-in. Në të njëjtën kohë, unë kam një kuptim të kornizës LINUX.
Kur shkruani tabela të zhveshura, rekomandohet që të forconi kuptimin tuaj të ndërprerjeve. Kerneli përdor ndërprerje për të përfunduar funksione të ndryshme.
6. Pasi të keni analizuar u-boot, filloni programimin e thjeshtë të drejtuesit. Në këtë kohë, aftësia është ende shumë e dobët.
7. Filloi të punojë në ZTE, punoi për 2 vjet, shkruajti të gjitha llojet e shoferëve, zgjidhi të gjitha llojet e problemeve (probleme me ngarjen, duke ndihmuar për të gjetur problemet e aplikimit) dhe aftësia u zbut.
|
Fut email për të marrë një surprizë
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
Kontakt
Adresa:
Nr.305 Dhoma Ndërtesa HuiLan Nr.273 Huanpu Road Guangzhou Kinë 510620
Kategoritë
Gazete