FMUSER Bezdrôtové vysielanie videa a zvuku je jednoduchšie!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikánčina
sq.fmuser.org -> albánsky
ar.fmuser.org -> arabčina
hy.fmuser.org -> Arménsky
az.fmuser.org -> azerbajdžanský
eu.fmuser.org -> baskičtina
be.fmuser.org -> bieloruský
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalánčina
zh-CN.fmuser.org -> čínština (zjednodušená)
zh-TW.fmuser.org -> čínština (tradičná)
hr.fmuser.org -> chorvátčina
cs.fmuser.org -> čeština
da.fmuser.org -> dánčina
nl.fmuser.org -> Dutch
et.fmuser.org -> estónčina
tl.fmuser.org -> filipínsky
fi.fmuser.org -> fínčina
fr.fmuser.org -> French
gl.fmuser.org -> galícijčina
ka.fmuser.org -> gruzínsky
de.fmuser.org -> nemčina
el.fmuser.org -> Greek
ht.fmuser.org -> haitská kreolčina
iw.fmuser.org -> hebrejčina
hi.fmuser.org -> hindčina
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandský
id.fmuser.org -> indonézština
ga.fmuser.org -> írsky
it.fmuser.org -> Italian
ja.fmuser.org -> japončina
ko.fmuser.org -> kórejčina
lv.fmuser.org -> lotyšský
lt.fmuser.org -> litovčina
mk.fmuser.org -> macedónsky
ms.fmuser.org -> malajčina
mt.fmuser.org -> maltčina
no.fmuser.org -> Norwegian
fa.fmuser.org -> perzský
pl.fmuser.org -> poľština
pt.fmuser.org -> portugalčina
ro.fmuser.org -> rumunčina
ru.fmuser.org -> ruština
sr.fmuser.org -> srbčina
sk.fmuser.org -> slovenčina
sl.fmuser.org -> slovinčina
es.fmuser.org -> španielčina
sw.fmuser.org -> svahilčina
sv.fmuser.org -> švédčina
th.fmuser.org -> Thai
tr.fmuser.org -> turečtina
uk.fmuser.org -> ukrajinčina
ur.fmuser.org -> urdčina
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> waleština
yi.fmuser.org -> jidiš
Pre vývoj aplikácií: je potrebné dobre sa naučiť jazyk C, dátovú štruktúru, JAVA atď. Pri vývoji zabudovaných aplikácií a vývoji aplikácií na PC nie je potrebné venovať nič zvláštne pozornosti. Možno si hovoríte, že musíte optimalizovať zabudovaný systém, áno, musíte optimalizovať, ale neoptimalizovaný program sa nelíši od vývoja programu na PC. Okrem toho, keď máte schopnosť optimalizovať, už nie ste zvyknutí na túto otázku. Pre konkrétny príklad, napríklad vývojové rozhranie, používame VC na PC; vo vstavanom systéme Linux môžeme používať QT a Android. V tejto dobe by ste sa mali naučiť programovanie QT a Android. Ale základom je stále C alebo JAVA a na tomto základe sa oboznámte s ich rozhraniami. Ak ste sa naučili VC, pochopenie týchto tried a ovládacích prvkov si vyžaduje určitý čas.
Ak sa chcete naučiť základný systém, je to moja špecializácia, ale môžem povedať trochu.
Predtým, ako odpoviem na túto otázku, dovoľte mi odpovedať: Mnoho ľudí sa ma pýta, či je to naučiť sa šoférovať alebo sa naučiť aplikovať? Môžem len povedať, že je to založené na záujme a ovládače a aplikácie nie sú úplne oddelené.
1. Ovládače, o ktorých hovoríme, sa neobmedzujú iba na hardvérové operácie, ale aj na koncepty, ako sú princípy operačného systému a plánovanie spánku a bdenia. Ak chcete napísať dobrú žiadosť a chcete lepšie vyriešiť problémy, s ktorými sa aplikácia stretáva, mali by ste porozumieť týmto znalostiam
2. Nízke prekážky v uplatňovaní, najmä v súčasnom systéme Android, čistá JAVA. Osobne si myslím, že vývoj aplikácií je zdatný v podnikaní. Napríklad v komunikačnom priemysle, priemysle IPTV a priemysle mobilných telefónov rozumiete potrebám tohto odvetvia. Preto sú ľudia, ktorí sú vodcami, väčšinou aplikáciami.
3. Buďte riadení. V skutočnosti to nechcem nazývať „byť vodičom“, ale chcem to nazývať „byť nízkoúrovňovým systémom“. Po dokončení to zabije všetky priemyselné odvetvia. Pracoval som niekoľko rokov a vyrábal som mobilné telefóny, IPTV a konferenčné televízne programy, ale tieto produkty pre mňa nie sú dôležité, pretože robím iba spodnú vrstvu. Ich podnikanie so mnou nemá nič spoločné. Ak dôjde k problému s aplikáciou a nedokážu ho vyriešiť, poskytnem im predstavu z pohľadu jadra a poskytnem im nástroje. Osobne si myslím, že som technický odborník na smer vývoja spodnej vrstvy.
4. V skutočnosti neexistuje hranica medzi vykonaním spodnej vrstvy alebo vykonaním aplikácie. Ak máte skúsenosti so spodnou vrstvou, budete sa pri aplikácii cítiť veľmi pokojne. Vďaka obchodným skúsenostiam môžete spoznať spodnú vrstvu a čoskoro budete môcť zostaviť tím.
Späť k otázke, ako sa učiť. Čo obsahuje zabudovaný systém Linux? Nebojte sa, poznáte to na príklade.
1. Kto je zapnutý počítač, kto zobrazuje tieto rozhrania? Je to BIOS, čo robí? Niektoré kontroly, potom načítať okná z pevného disku a spustiť ich. Podobne tento BIOS zodpovedá bootloaderu v zabudovanom systéme Linux. Tento bootloader musí prečítať jadro Linuxu vo Flashi a spustiť ho.
2. Aký je účel spustenia systému Windows? Samozrejme je to online chatovanie alebo tak niečo. Kde sú tieto internetové a chatovacie nástroje? Na jednotke C a D. Preto musia Windows najskôr identifikovať jednotku C a jednotku D. Hovoríme tomu koreňový súborový systém pod Linuxom.
3. Systém Windows dokáže rozpoznať jednotky C a D, preto musí byť schopné čítať a zapisovať na pevný disk. Zúčastnené veci sa nazývajú vodiči. Samozrejme to nie je len pevný disk, ale aj sieťová karta, USB atď. Integrovaný systém Linux dokáže čítať a spúšťať aplikácie z programu Flash a musí obsahovať aj ovládače Flash. Samozrejme, nejde iba o Flash.
Poďme si o tom najskôr povedať, zabudovaný LINUX obsahuje štyri hlavné časti: bootloader, jadro, ovládač a koreňový systém súborov.
Jeden, bootloader
Je to o niečo komplikovanejší program typu bare board. Nie je však ľahké pochopiť a napísať tento program typu „bare-board“. Užitočné nástroje pod Windows oslabujú naše programovacie schopnosti.
Mnoho ľudí používa REKLAMY a KEIL, akonáhle hrajú vložené. Môžete mi odpovedať na tieto otázky?
1. Kde po zapnutí napájania načítava procesor pokyny na vykonanie?
Odpoveď: Spravidla je pokyn z programu Flash.
2. Flash sa však dá iba čítať a nie priamo zapisovať. Ak používam globálne premenné, kde sú tieto globálne premenné?
Odpoveď: Globálne premenné by mali byť v pamäti
3. Kto teda ukladá globálne premenné do pamäte?
Odpoveď: Môžete odpovedať priateľovi, ktorý už dlhší čas používa REKLAMY a KEIL? Vyžaduje si to „premiestnenie“. V ADS alebo KEIL je kód premiestnenia napísaný spoločnosťou, ktorá tieto nástroje vyrába. Čítali ste to niekedy?
4. Pamäť je taká veľká, ako zistím, ktorá adresa má načítať „obsah pôvodne uložený vo formáte Flash“ do pamäte?
Odpoveď: Táto adresa je určená odkazovým skriptom. V ADS sú rozptýlené súbory a podobné súbory v KEIL. Ale študovali ste to?
5. Povedali ste, že premiestnenie spočíva v kopírovaní programu z programu Flash do pamäte, aby tento program mohol čítať program Flash? Odpoveď: Áno, musíte byť schopní ovládať Flash. Samozrejme nielen tieto, ale aj nastavenie hodín, aby systém bežal rýchlejšie a podobne. Najprv sa spýtajme a odpovedajme, bootloader, program typu „bare-board“, má vlastne tri hlavné body:
1. Prevádzka hardvéru
2. Porozumenie procesorom systému ARM
3. Základné koncepty programu: premiestnenie, zásobník, segment kódu, dátový segment, segment BSS atď.
Pre fungovanie hardvéru je potrebné vidieť schematický diagram a príručku k čipu. To si vyžaduje určité množstvo hardvérových znalostí. Nevyžaduje to, aby ste boli schopní navrhnúť hardvér, ale aby ste im rozumeli; nevyžaduje schopnosť porozumieť analógovým obvodom, ale porozumieť digitálnym obvodom. Túto schopnosť som sa naučil v škole. Dve knihy (názov knihy, ktorú som zabudol) sú dosť. Ale pochybujem, že máte trpezlivosť dokončiť čítanie týchto dvoch kníh. Neviem, či teraz existuje rýchlejšia kniha. Ak to chcete zrýchliť, najskôr to pustite z ruky a ak tomu nerozumiete, jednoducho sa opýtajte Google a zverejnite príspevok.
Okrem toho musí byť prečítaný manuál k čipu, nehľadajte čínštinu, stačí sa pozrieť na angličtinu. Spočiatku to bolo veľmi bolestivé, ale neskôr, keď sa dozviete gramatiku a slovnú zásobu, je ľahké prečítať si akýkoľvek manuál k čipu.
Informácie o procesoroch systému ARM nájdete v dokumentácii Du Chunlei. Hovorí o montážnych pokynoch, režimoch výnimiek, MMU atď. Len týmto 3 kusom obsahu musíte porozumieť.
Základnou koncepciou programu je samozrejme kráľ zamerať sa na princípy kompilácie. Bohužiaľ, tento typ kníh je určite na nebeskej úrovni kníh. Radím vám, aby ste sa na to nepozerali, pokiaľ nie ste super génius. Stačí sledovať a prvé video, ktoré som napísal, neboj sa, nemíňaj peniaze. Po videu a experimentoch týkajúcich sa hardvéru budú tieto koncepty jasné. Nenašiel som druhú sadu kníh alebo videí, ktoré hovoria o týchto konceptoch a umožňujú mi chváliť sa tým slepo. Pre bootloader som to najskôr sledoval, keď som študoval, a potom som si program napísal sám a robil všetky experimenty na rôznych hardvéroch, ako napríklad GPIO, hodiny, SDRAM, UART a NAND. Ak ich objasníte, je ľahké pochopiť, že u-boot sa dá zoskupiť. Aby sme to zhrnuli, aby ste pochopili hardvérový schematický diagram a príručku k čipu, musíte si tieto informácie nájsť sami. Pokiaľ ide o zvyšok, postupujte podľa zoznamu kapitol a prvá fáza videa na učenie.
Dva, jadro
Tí, ktorí chcú začať, by mali najskôr preskočiť učenie sa jadra a naučiť sa priamo písať ovládače.
Aby sa jadro stalo majstrom, musí mať hlboké porozumenie. Všimnite si, že hovorím o porozumení, nemám žiadnu extravagantnú nádej na napísanie jadra.
Aby sme pochopili mechanizmus plánovania, mechanizmus správy pamäte, mechanizmus správy súborov atď.
Odporučte dve knihy:
1. Prečítajte si, prečítajte si útlu knihu (Plávajúca spoločnosť zdôrazňuje rýchlosť)
2. Vyberte čítanie, chcete vedieť, ktorá časť sa má prečítať
Traja, šoférujte
Ovládač sa skladá z dvoch častí: činnosti samotného hardvéru a rámca ovládača.
Je to opäť hardvér. Stále je potrebné porozumieť schematickému diagramu a príručke k čipu. Cvičte viac. Keď už hovoríme o architektúre ovládačov, existuje niekoľko kníh, ktoré ju zavádzajú. Kniha LDD3, ktorú napísal cudzinec, predstavuje veľa koncepcií a stojí za prečítanie. Jeho úloha sa však obmedzuje na zavádzanie koncepcií. V zásade som to použil na oboznámenie sa s pojmami skôr, ako som začal, a potom som to po začiatku zahodil.
Komplexnejším úvodom k vodičovi by mala byť pieseň Song Baohua. Úprimne povedané, čítal som iba katalóg. Mnoho ľudí povedalo áno, odporúčam to tu.
Ak chcete porozumieť určitej oblasti do hĺbky, je to určite super 5-hviezdičkové odporúčanie. Neočakávate, že ju prečítate, viac ako 1,800 2.4 strán, dva zväzky hore a dole. Keď si nebudem istý určitou oblasťou, prezriem si ju. Akákoľvek časť tejto knihy môže obsahovať dvesto alebo tristo strán, čo je veľmi podrobné. A vezmeme vás k tomu, aby ste analyzovali zdrojový kód jadra s určitým cieľom. Ako príklad si berie linux XNUMX, ale princíp je rovnaký a je použiteľný aj pre iné verzie linuxu. Nejaké ďalšie úvody? Samozrejmosťou je druhé vydanie Wei Dongshan Linux Video. „Kompletná príručka vývoja vstavaných aplikácií pre Linux“ veľa nehovorí o ovládači a nie je dostatočne podrobná.
Pokúste sa napísať ovládač pre všetok hardvér obsiahnutý vo vašej vývojovej doske. Ak máte problém, mali by ste najskôr „myslieť bolestne“. V procese uvažovania spojíte veľa nepodstatných vedomostí a nakoniec ich získate.
Po štvrté, koreňový systém súborov
Už ste niekedy premýšľali o týchto dvoch otázkach:
1. U produktov vyrobených v systéme Linux sa niektoré používajú na monitorovanie, iné ako mobilné telefóny a iné ako tablety. Takže po spustení jadra, po pripojení koreňového súborového systému, ktorá aplikácia by sa mala spustiť?
Odpoveď: Jadro nevie alebo nezaujíma, ktorý užívateľský program by sa mal spustiť. Spustí sa iba aplikácia init, ktorá zodpovedá / sbin / init.
Je zrejmé, že táto aplikácia musí prečítať konfiguračný súbor a podľa konfiguračného súboru spustiť používateľský program (monitorovanie, manuálne rozhranie, rozhranie tabletu atď.). Táto otázka nám pripomína, že obsah súborového systému má určité konvencie, napríklad je potrebné / sbin / init, konfiguračný súbor.
2. Už ste niekedy premýšľali o tom, kto implementoval printf použitý v ahoj a svetových programoch, ktoré ste napísali?
Odpoveď: Túto funkciu neimplementujete vy, ale funkcia knižnice. Po spustení musí nájsť knižnicu.
Táto otázka nám pripomína, že v súborovom systéme stále existujú knižnice. Tu je jednoduchá otázka a odpoveď. Ak sa chcete dozvedieť viac, môžete sa pozrieť na init.c z busybox a zistiť, čo proces init robí. Samozrejme, kapitolu o budovaní koreňového súborového systému nájdete aj v priečinku .
Moje skúsenosti s učením
1. Keď som chodil do školy, vyštudoval som fyziku a elektroniku. V skutočnosti som na kurze neučil, ako navrhovať obvody, ale učil som iba niektoré vedomosti o elektronických obvodoch. Dizajn PCB som sám vyučoval v laboratóriu. Navrhol som iba 2-vrstvovú dosku a teraz som na ňu takmer zabudol. Zachováva si však schopnosť čítať schematický diagram a príručku k čipu.
2. Vyštudoval som softvér a veľmi sa zaujímam o softvérový dizajn, ale naučil som sa iba jazyk C a databázu. So záujmom som urobil veľa súťažných otázok. Súťaže sa nemôžem zúčastniť, ale mám solídnu prax v jazyku C.
3. V laboratóriu som v prvej spoločnosti navrhol niekoľko jednoduchých kariet PCI a napísal ovládač systému Windows
4. V druhej spoločnosti, ktorá ako telefón do auta použila 51 jednočipových mikropočítačov, sa začala vydávať na cestu čistého softvéru.
5. Začal som pociťovať nedostatky jednočipového mikropočítača. Pol roka som rezignoval, aby som sa za zatvorenými dverami naučil Linux, počnúc tým, ako ovládať red hat. Krokom je najskôr sa na to pozrieť, potom napísať program bare board na obsluhu hardvéru a potom analyzovať u-boot. Zároveň trochu rozumiem rámcu LINUX.
Pri písaní na holé dosky sa odporúča, aby ste lepšie porozumeli prerušovaniu. Jadro používa prerušenia na dokončenie rôznych funkcií.
6. Po analýze u-boot spustite jednoduché programovanie ovládača. V tejto dobe je schopnosť stále veľmi slabá.
7. Začal pracovať v ZTE, pracoval 2 roky, písal všetky druhy vodičov, riešil všetky možné problémy (problémy s riadením, pomoc pri vyhľadávaní problémov s aplikáciou) a schopnosť bola zmiernená.
|
Zadajte e-mail, aby ste dostali prekvapenie
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikánčina
sq.fmuser.org -> albánsky
ar.fmuser.org -> arabčina
hy.fmuser.org -> Arménsky
az.fmuser.org -> azerbajdžanský
eu.fmuser.org -> baskičtina
be.fmuser.org -> bieloruský
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalánčina
zh-CN.fmuser.org -> čínština (zjednodušená)
zh-TW.fmuser.org -> čínština (tradičná)
hr.fmuser.org -> chorvátčina
cs.fmuser.org -> čeština
da.fmuser.org -> dánčina
nl.fmuser.org -> Dutch
et.fmuser.org -> estónčina
tl.fmuser.org -> filipínsky
fi.fmuser.org -> fínčina
fr.fmuser.org -> French
gl.fmuser.org -> galícijčina
ka.fmuser.org -> gruzínsky
de.fmuser.org -> nemčina
el.fmuser.org -> Greek
ht.fmuser.org -> haitská kreolčina
iw.fmuser.org -> hebrejčina
hi.fmuser.org -> hindčina
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandský
id.fmuser.org -> indonézština
ga.fmuser.org -> írsky
it.fmuser.org -> Italian
ja.fmuser.org -> japončina
ko.fmuser.org -> kórejčina
lv.fmuser.org -> lotyšský
lt.fmuser.org -> litovčina
mk.fmuser.org -> macedónsky
ms.fmuser.org -> malajčina
mt.fmuser.org -> maltčina
no.fmuser.org -> Norwegian
fa.fmuser.org -> perzský
pl.fmuser.org -> poľština
pt.fmuser.org -> portugalčina
ro.fmuser.org -> rumunčina
ru.fmuser.org -> ruština
sr.fmuser.org -> srbčina
sk.fmuser.org -> slovenčina
sl.fmuser.org -> slovinčina
es.fmuser.org -> španielčina
sw.fmuser.org -> svahilčina
sv.fmuser.org -> švédčina
th.fmuser.org -> Thai
tr.fmuser.org -> turečtina
uk.fmuser.org -> ukrajinčina
ur.fmuser.org -> urdčina
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> waleština
yi.fmuser.org -> jidiš
FMUSER Bezdrôtové vysielanie videa a zvuku je jednoduchšie!
Kontakt
adresa:
Budova č. 305 Izba HuiLan č. 273 Huanpu Road Kanton Čína 510620
Kategórie
Prihlás sa na odber Newslettra