Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaijani
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusian
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebrew
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Icelandic
id.fmuser.org -> Indonesian
ga.fmuser.org -> Irish
it.fmuser.org -> Italian
ja.fmuser.org -> Japanese
ko.fmuser.org -> Koreano
lv.fmuser.org -> Latvian
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonian
ms.fmuser.org -> Malay
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> Persian
pl.fmuser.org -> Polish
pt.fmuser.org -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
th.fmuser.org -> Thai
tr.fmuser.org -> Turkish
uk.fmuser.org -> Ukrainian
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
Para sa pagpapaunlad ng aplikasyon: Ang wika ng C, istraktura ng data, JAVA, atbp. Ay kailangang matutunan nang maayos. Walang espesyal na bigyang-pansin ang naka-embed na pagbuo ng application at pagpapaunlad ng aplikasyon sa PC. Marahil ay sinabi mo na kailangan mong i-optimize ang naka-embed na system, oo, kailangan mong i-optimize, ngunit ang unoptimized na programa ay hindi naiiba mula sa pagbuo ng programa sa PC. Bilang karagdagan, kapag may kakayahan kang mag-optimize, hindi ka na ginagamit upang tanungin ang katanungang ito. Para sa isang tukoy na halimbawa, tulad ng interface ng pag-unlad, gumagamit kami ng VC sa PC; sa naka-embed na Linux, maaari naming gamitin ang QT at Android. Sa oras na ito, dapat mong malaman ang QT at Android programming. Ngunit ang pundasyon ay C o JAVA pa rin, at sa batayan na ito, pamilyar sa kanilang mga interface. Kung natutunan mo ang VC, kinakailangan ng oras upang maunawaan ang mga klase at kontrol na iyon.
Kung nais mong malaman ang napapailalim na sistema, ito ang aking specialty, ngunit masasabi ko nang kaunti.
Bago sagutin ang katanungang ito, hayaan mo akong sagutin: Maraming mga tao ang nagtanong sa akin, ito ba ay upang matutong magmaneho o upang matutong mag-apply? Masasabi ko lamang na ito ay batay sa interes, at ang mga driver at application ay hindi ganap na magkahiwalay.
1. Ang mga driver na pinag-uusapan natin ay hindi limitado sa mga pagpapatakbo ng hardware, ngunit may mga konsepto din tulad ng mga prinsipyo ng operating system at iproseso ang pag-iiskedyul ng pagtulog at paggising. Kung nais mong magsulat ng isang mahusay na application, at nais mong mas mahusay na malutas ang mga problemang nakatagpo ng aplikasyon, dapat mong maunawaan ang kaalamang ito
2. Mababang hadlang sa aplikasyon, lalo na ang kasalukuyang ANDROID, purong JAVA. Personal kong iniisip na ang landas sa pagbuo ng aplikasyon ay may husay sa negosyo. Halimbawa, sa industriya ng komunikasyon, industriya ng IPTV, at industriya ng mobile phone, nauunawaan mo ang mga pangangailangan ng industriya. Samakatuwid, ang mga taong pinuno ay karamihan sa mga aplikasyon.
3. Itulak. Sa katunayan, hindi ko nais na tawagan itong "pagiging isang driver", ngunit nais kong tawagan itong "pagiging isang mababang antas na system". Kapag tapos na, papatayin nito ang lahat ng mga industriya. Nagtrabaho ako ng maraming taon at gumawa ng mga mobile phone, IPTV, at conference TV, ngunit ang mga produktong ito ay walang pagkakaiba sa akin dahil sa ilalim na layer lamang ang ginagawa ko. Walang kinalaman sa akin ang kanilang negosyo. Kapag may problema sa aplikasyon at hindi nila ito malulutas, bibigyan ko sila ng isang ideya mula sa pananaw ng kernel at bibigyan sila ng mga tool. Personal kong iniisip na ako ay isang dalubhasa sa teknikal sa direksyon ng pag-unlad ng ilalim na layer.
4. Sa katunayan, walang hangganan sa pagitan ng paggawa sa ilalim na layer o paggawa ng aplikasyon. Kung mayroon kang karanasan sa ilalim na layer, mas magaan ang pakiramdam mo kapag ginawa mo ang application. Sa karanasan sa negosyo, maaari mong malaman ang ilalim na layer, at malapit ka nang makabuo ng isang koponan.
Balik sa tanong kung paano malaman. Ano ang kasama sa naka-embed na napapailalim na system ng Linux? Huwag magalala, malalaman mo ito sa pamamagitan ng pagbibigay ng isang halimbawa.
1. Kapag na-on ang computer, sino ang magpapakita ng mga interface na iyon? Ito ay BIOS, ano ang ginagawa nito? Ang ilang mga pagsusuri sa sarili, pagkatapos basahin ang mga bintana mula sa hard disk at simulan ito. Katulad nito, ang BIOS na ito ay tumutugma sa bootloader sa naka-embed na Linux. Kailangang basahin ng bootloader na ito ang kernel ng Linux sa Flash at simulan ito.
2. Ano ang layunin ng pagsisimula ng mga bintana? Syempre online chat ito o kung ano man. Nasaan ang mga tool sa Internet at chat na ito? Sa C drive at D drive. Samakatuwid, dapat munang kilalanin ng mga bintana ang C drive at D drive. Tinawag namin itong root file system sa ilalim ng Linux.
3. Makikilala ng Windows ang C drive at D drive, kaya't dapat na mabasa at maisulat ang hard drive. Ang mga bagay na kasangkot ay tinatawag na mga driver. Siyempre, hindi lamang ito isang hard disk, kundi pati na rin isang network card, USB, at iba pa. Ang naka-embed na Linux ay maaaring basahin at magpatupad ng mga application mula sa Flash, at dapat mayroon din itong mga Flash driver. Siyempre, hindi lamang ito Flash.
Pag-usapan muna natin ito, ang naka-embed na LINUX ay naglalaman ng apat na pangunahing mga bahagi: bootloader, kernel, driver, at root file system.
Isa, bootloader
Ito ay isang bahagyang mas kumplikadong hubad na programa ng board. Ngunit hindi madaling maunawaan at isulat ang programang walang board na ito. Ang mga kapaki-pakinabang na tool sa ilalim ng Windows ay nagpapahina ng aming kakayahan sa pagprogram.
Maraming tao ang gumagamit ng ADS at KEIL sa sandaling maglaro sila ng naka-embed. Masasagot mo ba ang mga katanungang ito?
1. Kapag naka-on ang kuryente, saan kukuha ng mga tagubilin ang CPU para sa pagpapatupad?
Sagot: Pangkalahatan, ang tagubilin ay mula sa Flash.
2. Ngunit ang Flash ay mababasa lamang at hindi direktang isulat. Kung gagamit ako ng mga global variable, saan ang mga global variable na ito?
Sagot: Ang mga pandaigdigan na variable ay dapat nasa memorya
3. Kaya sino ang naglalagay ng memorya sa buong mundo?
Sagot: Maaari mo bang sagutin ang isang kaibigan na matagal nang gumamit ng ADS at KEIL? Nangangailangan ito ng "paglipat". Sa ADS o KEIL, ang relocation code ay nakasulat para sa iyo ng kumpanya na gumagawa ng mga tool na ito. Nabasa mo na ba ito?
4. Napakalaki ng memorya, paano ko malalaman kung aling address ang basahin ang "nilalamang orihinal na nakaimbak sa Flash" sa memorya?
Sagot: Ang address na ito ay natutukoy ng "link script", may mga nagkalat na mga file sa ADS, at mga katulad na file sa KEIL. Ngunit, napag-aralan mo na ba ito?
5. Sinabi mo na ang paglilipat ay upang kopyahin ang isang programa mula sa Flash patungo sa memorya, kaya maaaring mabasa ng program na ito ang Flash? Sagot: Oo, kailangan mong makapagpatakbo ng Flash. Siyempre hindi lamang ang mga ito, kundi pati na rin ang pagtatakda ng orasan upang mas mabilis na tumakbo ang system at iba pa. Tanungin at sagutin muna natin dito, ang bootloader, isang walang kard na programa, talagang mayroong tatlong pangunahing mga puntos:
1. Pagpapatakbo ng hardware
2. Pag-unawa sa mga nagpoproseso ng system ng ARM
3. Ang pangunahing konsepto ng programa: relocation, stack, code segment, data segment, BSS segment at iba pa.
Para sa pagpapatakbo ng hardware, kailangan mong makita ang diagram ng eskematiko at ang manu-manong maliit na tilad. Nangangailangan ito ng isang tiyak na dami ng kaalaman sa hardware. Hindi ito hinihiling na makapag-disenyo ng hardware, ngunit hindi bababa upang maunawaan ito; hindi ito kinakailangan upang maunawaan ang mga analog na circuit, ngunit upang maunawaan ang mga digital na circuit. Natutunan ko ang kakayahang ito sa paaralan. Ang dalawang libro (ang pamagat ng libro na nakalimutan ko) ay sapat na. Ngunit nag-aalinlangan ako na mayroon kang pasensya upang matapos ang pagbabasa ng dalawang aklat na ito. Hindi ko alam kung may mas mabilis na libro ngayon. Kung nais mong gawin itong mabilis, bitawan muna ito, at kung hindi mo naiintindihan, magtanong lamang sa Google at mag-post.
Bilang karagdagan, dapat basahin ang manu-manong chip, huwag maghanap ng Intsik, tingnan lamang ang Ingles. Napakasakit noong una, ngunit sa paglaon, sa sandaling pamilyar ang grammar at bokabularyo, madaling basahin ang anumang manu-manong maliit na tilad.
Para sa pag-unawa sa mga nagpoproseso ng system ng ARM, mangyaring tingnan ang Du Chunlei's. Pinag-uusapan nito ang tungkol sa mga tagubilin sa pagpupulong, mga mode ng pagbubukod, MMU, atbp. Sa 3 mga piraso lamang ng nilalaman na ito kailangan mong maunawaan.
Ang pangunahing konsepto ng programa, siyempre, ang hari ay tingnan ang mga prinsipyo ng pagtitipon. Sa kasamaang palad, ang ganitong uri ng libro ay tiyak na nasa antas ng makalangit na libro. Pinapayuhan ko kayo na huwag panoorin ito maliban kung ikaw ay isang sobrang henyo. Panoorin lang ang at ang unang video na isinulat ko, huwag magalala, huwag gumastos ng pera. Kasunod sa video at paggawa ng mga eksperimento na nauugnay sa hardware, magiging malinaw ang mga konseptong ito. Hindi ko natagpuan ang pangalawang hanay ng mga libro o video na pinag-uusapan ang mga konseptong ito, na pinapayagan akong ipagyabang ito nang walang taros. Para sa bootloader, una ko itong napanood noong nag-aaral ako, at pagkatapos ay isinulat ko mismo ang programa at ginawa ang lahat ng mga eksperimento sa iba't ibang mga hardware, tulad ng GPIO, orasan, SDRAM, UART, at NAND. Kung linilinaw mo ang mga ito, madaling maunawaan ang u-boot sa pamamagitan ng pagpapangkat nang magkasama. Sa kabuuan, upang maunawaan ang diagram ng eskematiko ng hardware at ang manu-manong maliit na tilad, kailangan mong hanapin ang impormasyon sa iyong sarili. Para sa natitira, sundin lamang ang listahan ng kabanata ng at ang unang yugto ng video upang malaman.
Dalawa, ang kernel
Ang mga nais na magsimula ay dapat muna laktawan ang pag-aaral ng kernel at alamin kung paano sumulat nang direkta sa mga driver.
Upang maging isang master, ang kernel ay dapat magkaroon ng isang malalim na pag-unawa. Tandaan na pinag-uusapan ko ang tungkol sa pag-unawa, wala akong labis na pag-asa na magsulat ng isang kernel.
Upang maunawaan ang mekanismo ng pag-iiskedyul, mekanismo ng pamamahala ng memorya, mekanismo ng pamamahala ng file, atbp sa loob.
Magrekomenda ng dalawang libro:
1. Basahin hanggang sa, mangyaring basahin ang manipis na libro (Floating lipunan binibigyang diin ang bilis)
2. Piliin na basahin, nais malaman kung aling seksyon ang babasa kung aling seksyon
Tatlo, pagmamaneho
Ang driver ay binubuo ng dalawang bahagi: ang pagpapatakbo ng hardware mismo at ang balangkas ng driver.
Ang hardware na naman. Kinakailangan pa rin upang maunawaan ang diagram ng eskematiko at ang manu-manong maliit na tilad. Magpractice pa. Pinag-uusapan ang balangkas ng pagmamaneho, maraming mga libro upang ipakilala ito. Ang LDD3, ang librong isinulat ng isang dayuhan, ay nagpapakilala ng maraming mga konsepto at sulit basahin. Gayunpaman, ang papel nito ay limitado sa pagpapakilala ng mga konsepto. Karaniwan kong ginamit ito upang pamilyar ang aking sarili sa mga konsepto bago magsimula, at pagkatapos ay itapon ito pagkatapos magsimula.
Ang mas malawak na pagpapakilala sa driver ay dapat na Song Baohua's. To be honest, nabasa ko lang ang catalog. Maraming tao ang nagsabing oo, inirerekumenda ko ito rito.
Kung nais mong maunawaan ang isang tiyak na lugar sa lalim, tiyak na ito ay isang sobrang 5-star na rekomendasyon. Hindi mo inaasahan na basahin ito, higit sa 1,800 na mga pahina, dalawang dami ng pataas at pababa. Kapag hindi ako sigurado tungkol sa isang tiyak na lugar, titingnan ko ito. Anumang bahagi ng aklat na ito ay maaaring masakop ang dalawa o tatlong daang mga pahina, na napakadetalyado. At dalhin ka upang pag-aralan ang kernel source code na may isang tiyak na layunin. Tumatagal ito ng linux 2.4 bilang isang halimbawa, ngunit ang prinsipyo ay pareho, at nalalapat din ito sa iba pang mga bersyon ng linux. May iba pang mga pagpapakilala? Siyempre meron, ang pangalawang isyu ng Wei Dongshan Linux Video. Ang "Kumpletong Handbook ng Embedded Linux Application Development" ay hindi masyadong pinag-uusapan ang tungkol sa driver, at hindi ito sapat na malalim.
Subukang magsulat ng isang driver para sa lahat ng hardware na kasangkot sa iyong development board. Kung mayroon kang problema, dapat mo munang "mag-isip ng masakit". Sa proseso ng pag-iisip, magkokonekta ka ng maraming walang katuturang kaalaman at sa wakas malulusutan mo ito.
Pang-apat, ang root file system
Naisip mo na ba ang tungkol sa dalawang katanungang ito:
1. Para sa mga produktong ginawa ng Linux, ang ilan ay ginagamit para sa pagsubaybay, ang ilan ay ginagamit bilang mga mobile phone, at ang ilan ay ginagamit bilang mga tablet. Kaya pagkatapos magsimula ang kernel, pagkatapos i-mount ang root file system, aling application ang dapat magsimula?
Sagot: Ang kernel ay hindi alam o hindi alintana kung aling programa ng gumagamit ang dapat magsimula. Sinisimula lamang nito ang init application, na tumutugma sa / sbin / init.
Malinaw na, dapat basahin ng application na ito ang file ng pagsasaayos at simulan ang programa ng gumagamit (pagsubaybay, manu-manong interface, interface ng tablet, atbp.) Alinsunod sa file ng pagsasaayos. Ipinapaalala sa atin ng katanungang ito na ang nilalaman ng file system ay may ilang mga kombensiyon, tulad ng / sbin / init, kinakailangan ng isang file ng pagsasaayos.
2. Naisip mo ba tungkol sa kung sino ang nagpatupad ng printf na ginamit sa hello at mga programang pandaigdig na iyong isinulat?
Sagot: Ang pagpapaandar na ito ay hindi mo ipinatupad, ngunit ng isang pagpapaandar sa library. Kapag tumakbo ito, kailangan itong hanapin ang library.
Ang tanong na ito ay nagpapaalala sa atin na mayroon pa ring mga aklatan sa file system. Narito ang isang simpleng tanong at sagot. Kung nais mong malaman ang higit pa, maaari kang tumingin sa init.c ng busybox upang malaman kung ano ang ginagawa ng init na proseso. Siyempre, maaari mo ring makita ang kabanata sa pagbuo ng root file system sa .
Ang aking karanasan sa pag-aaral
1. Noong nag-aaral ako, kumuha ako ng physics at electronics. Sa katunayan, hindi ako nagturo kung paano mag-disenyo ng mga circuit sa kurso, ngunit nagturo lamang ako ng ilang kaalaman tungkol sa mga electronic circuit. Ang disenyo ng PCB ay tinuro ng aking sarili sa laboratoryo. Nagdisenyo lamang ako ng isang 2-layer board, at ngayon ay halos kalimutan ko na ito. Ngunit pinapanatili nito ang kakayahang basahin ang diagram ng eskematiko at ang manu-manong maliit na tilad.
2. Kumuha ako ng degree sa software, at interesado ako sa disenyo ng software, ngunit C wika at database lamang ang natutunan ko. Gumawa ako ng maraming mga katanungan sa kumpetisyon na may interes. Hindi ako makakasali sa kumpetisyon, ngunit mayroon akong isang kasanayan sa wikang C na pang-wika.
3. Sa laboratoryo, sa unang kumpanya, nagdisenyo ako ng ilang simpleng mga PCI card at sinulat ang driver ng windows
4. Sa pangalawang kumpanya, na gumagamit ng 51 single-chip microcomputer bilang isang telepono sa kotse, ay nagsimulang pumasok sa kalsada ng purong software.
5. Sinimulan kong maramdaman ang mga pagkukulang ng solong-chip microcomputer. Nagbitiw ako ng kalahating taon upang malaman ang Linux sa likod ng mga nakasarang pinto, nagsisimula sa kung paano patakbuhin ang pulang sumbrero. Ang hakbang ay tingnan muna ito, pagkatapos ay isulat ang hubad na programa ng board upang mapatakbo ang hardware, at pagkatapos ay pag-aralan ang u-boot. Sa parehong oras, mayroon akong ilang pag-unawa sa balangkas ng LINUX.
Kapag nagsusulat ng mga walang dala na board, inirerekumenda na palakasin mo ang iyong pag-unawa sa mga nakakagambala. Gumagamit ang kernel ng mga nakakagambala upang makumpleto ang iba't ibang mga pag-andar.
6. Matapos pag-aralan ang u-boot, simulan ang simpleng programa ng driver. Sa oras na ito, ang kakayahan ay mahina pa rin.
7. Nagsimulang magtrabaho sa ZTE, nagtrabaho ng 2 taon, nagsulat ng lahat ng uri ng mga driver, nalutas ang lahat ng uri ng mga problema (mga problema sa pagmamaneho, pagtulong na hanapin ang mga problema sa aplikasyon), at ang kakayahan ay napigil.
|
Ipasok ang email upang makakuha ng sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaijani
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusian
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebrew
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Icelandic
id.fmuser.org -> Indonesian
ga.fmuser.org -> Irish
it.fmuser.org -> Italian
ja.fmuser.org -> Japanese
ko.fmuser.org -> Koreano
lv.fmuser.org -> Latvian
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonian
ms.fmuser.org -> Malay
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> Persian
pl.fmuser.org -> Polish
pt.fmuser.org -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
th.fmuser.org -> Thai
tr.fmuser.org -> Turkish
uk.fmuser.org -> Ukrainian
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
Makipag-ugnay sa
Tirahan
No.305 Room Huilan Building No.273 Huanpu Road Guangzhou China 510620
Kategorya
Newsletter