FMUSER Wirless Transmet vídeo i àudio més fàcil!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanès
ar.fmuser.org -> Àrab
hy.fmuser.org -> Armeni
az.fmuser.org -> Azerbaidjanès
eu.fmuser.org -> basc
be.fmuser.org -> bielorús
bg.fmuser.org -> Bulgària
ca.fmuser.org -> català
zh-CN.fmuser.org -> Xinès (simplificat)
zh-TW.fmuser.org -> Xinès (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> txec
da.fmuser.org -> Danès
nl.fmuser.org -> Holandès
et.fmuser.org -> estonià
tl.fmuser.org -> filipí
fi.fmuser.org -> finès
fr.fmuser.org -> Francès
gl.fmuser.org -> gallec
ka.fmuser.org -> georgià
de.fmuser.org -> alemany
el.fmuser.org -> Grec
ht.fmuser.org -> crioll haitià
iw.fmuser.org -> Hebreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandès
id.fmuser.org -> indonesi
ga.fmuser.org -> irlandès
it.fmuser.org -> Italià
ja.fmuser.org -> japonès
ko.fmuser.org -> coreà
lv.fmuser.org -> Letó
lt.fmuser.org -> Lituània
mk.fmuser.org -> macedoni
ms.fmuser.org -> Malai
mt.fmuser.org -> maltès
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> Polonès
pt.fmuser.org -> Portuguès
ro.fmuser.org -> Romanès
ru.fmuser.org -> rus
sr.fmuser.org -> serbi
sk.fmuser.org -> Eslovac
sl.fmuser.org -> Eslovènia
es.fmuser.org -> Castellà
sw.fmuser.org -> Suahili
sv.fmuser.org -> Suec
th.fmuser.org -> Tai
tr.fmuser.org -> turc
uk.fmuser.org -> ucraïnès
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> gal·lès
yi.fmuser.org -> Yiddish
Per al desenvolupament d'aplicacions: cal aprendre bé el llenguatge C, l'estructura de dades, JAVA, etc. No hi ha res especial a què prestar atenció en el desenvolupament d’aplicacions incrustades i el desenvolupament d’aplicacions en PC. Potser dieu que cal optimitzar el sistema incrustat, sí, cal optimitzar-lo, però el programa no optimitzat no és diferent del desenvolupament del programa a l'ordinador. A més, quan teniu la possibilitat d’optimitzar, ja no esteu acostumat a fer aquesta pregunta. Per a un exemple específic, com ara la interfície de desenvolupament, fem servir VC al PC; a Linux incrustat, podem utilitzar QT i Android. En aquest moment, heu d'aprendre la programació QT i Android. Però la base continua sent C o JAVA i, sobre aquesta base, familiaritzeu-vos amb les seves interfícies. Si heu après VC, cal comprendre aquestes classes i controls.
Si voleu aprendre el sistema subjacent, aquesta és la meva especialitat, però puc dir-ho una mica.
Abans de respondre a aquesta pregunta, deixeu-me respondre: Molta gent em pregunta: és per aprendre a conduir o per aplicar? Només puc dir que es basa en l'interès i que els controladors i les aplicacions no estan completament separats.
1. Els controladors dels quals parlem no es limiten a les operacions de maquinari, sinó també a conceptes com ara els principis del sistema operatiu i la programació de la suspensió i la vigília del procés. Si voleu escriure una bona aplicació i voleu resoldre millor els problemes que presenta l'aplicació, heu d'entendre aquests coneixements
2. Barreres baixes a l’aplicació, especialment l’actual ANDROID, JAVA pur. Personalment, crec que el camí del desenvolupament d'aplicacions és competent en els negocis. Per exemple, a la indústria de les comunicacions, la indústria de la televisió IPTV i la indústria de la telefonia mòbil, enteneu les necessitats de la indústria. Per tant, les persones que són líders són majoritàriament aplicacions.
3. Deixeu-vos conduir. De fet, no vull anomenar-lo "ser un controlador", però sí que vull dir-ho "ser un sistema de baix nivell". Un cop fet, això matarà totes les indústries. He treballat diversos anys i he fabricat telèfons mòbils, IPTV i televisió per a conferències, però aquests productes no m'importen perquè només faig la capa inferior. El seu negoci no té res a veure amb mi. Quan hi hagi un problema amb l’aplicació i no el puguin resoldre, els donaré una idea des de la perspectiva del nucli i els proporcionaré eines. Personalment crec que sóc un expert tècnic en la direcció de desenvolupament de la capa inferior.
4. De fet, no hi ha límit entre fer la capa inferior o fer l'aplicació. Si teniu l'experiència de la capa inferior, us sentireu molt a gust quan feu l'aplicació. Amb experiència empresarial, podreu conèixer la capa inferior i aviat podreu formar un equip.
Tornem a la pregunta sobre com aprendre. Què s'inclou al sistema subjacent Linux incrustat? No us preocupeu, ho sabreu donant un exemple.
1. Quan l’ordinador està engegat, qui mostra aquestes interfícies? És BIOS, què fa? Alguns autocontrols, després llegiu Windows des del disc dur i inicieu-lo. De la mateixa manera, aquesta BIOS correspon al gestor d’arrencada del Linux incrustat. Aquest carregador d’arrencada ha de llegir el nucli Linux a Flash i iniciar-lo.
2. Quin és el propòsit d’iniciar Windows? Per descomptat, és xatejar en línia o alguna cosa així. On són aquestes eines d'Internet i de xat? A la unitat C i la unitat D. Per tant, Windows ha d’identificar primer la unitat C i la unitat D. L’anomenem sistema de fitxers arrel a Linux.
3. El Windows pot reconèixer la unitat C i la unitat D, de manera que ha de poder llegir i escriure el disc dur. Les coses implicades s’anomenen conductors. Per descomptat, no només és un disc dur, sinó també una targeta de xarxa, USB, etc. Linux incrustat pot llegir i executar aplicacions des de Flash i també ha de tenir controladors Flash. Per descomptat, no és només Flash.
Parlem-ne primer, LINUX incrustat conté quatre parts principals: carregador d’arrencada, nucli, controlador i sistema de fitxers arrel.
Un, el carregador d’arrencada
És un programa de placa nua una mica més complicat. Però no és fàcil d’entendre i escriure aquest programa de tauler nu. Les eines útils del Windows debiliten la nostra capacitat de programació.
Molta gent fa servir ADS i KEIL tan bon punt juguen incrustats. Podeu respondre aquestes preguntes?
1. Un cop engegada la potència, on obté la CPU instruccions per executar-la?
Resposta: Generalment, la instrucció és de Flash.
2. Però Flash només es pot llegir i no escriure directament. Si faig servir variables globals, on són aquestes variables globals?
Resposta: Les variables globals haurien d’estar a la memòria
3. Llavors, qui posa a la memòria variables globals?
Resposta: Podeu respondre a un amic que fa temps que utilitza ADS i KEIL? Això requereix "reubicació". A ADS o KEIL, el codi de reubicació l’escriu l’empresa que fabrica aquestes eines. L’heu llegit mai?
4. La memòria és tan gran, com puc saber quina adreça heu de llegir a la memòria el "contingut emmagatzemat originalment a Flash"?
Resposta: Aquesta adreça està determinada per un "script d'enllaç", hi ha fitxers dispersos a ADS i fitxers similars a KEIL. Però, ho heu estudiat?
5. Heu dit que la reubicació consisteix a copiar un programa de Flash a la memòria, de manera que aquest programa pot llegir Flash? Resposta: Sí, heu de poder fer servir Flash. Per descomptat, no només aquests, sinó també configurar el rellotge perquè el sistema funcioni més ràpidament, etc. Preguntem i responguem aquí primer, el carregador d’arrencada, un programa de placa nua, en realitat té tres punts principals:
1. Funcionament del maquinari
2. Comprensió dels processadors de sistemes ARM
3. Els conceptes bàsics del programa: reubicació, pila, segment de codi, segment de dades, segment BSS, etc.
Per al funcionament del maquinari, heu de veure el diagrama esquemàtic i el manual del xip. Això requereix una certa quantitat de coneixements de maquinari. No requereix que pugueu dissenyar maquinari, però almenys entendre-ho; no requereix poder entendre els circuits analògics, sinó entendre els circuits digitals. Vaig aprendre aquesta capacitat a l’escola. Els dos llibres (el títol del llibre que vaig oblidar) són suficients. Però dubto que tingueu paciència per acabar de llegir aquests dos llibres. No sé si hi ha un llibre més ràpid ara. Si voleu fer-ho ràpid, deixeu-ho primer i, si no ho enteneu, pregunteu a Google i publiqueu-ho.
A més, cal llegir el manual del xip, no busqueu xinès, només mireu l’anglès. Al principi va ser molt dolorós, però més tard, un cop coneguda la gramàtica i el vocabulari, és fàcil llegir qualsevol manual de xips.
Per obtenir informació sobre els processadors de sistemes ARM, consulteu els de Du Chunlei. Parla d’instruccions de muntatge, modes d’excepció, MMU, etc. Només cal que entengueu aquests tres continguts.
El concepte bàsic del programa, per descomptat, el rei, és examinar els principis de compilació. Malauradament, aquest tipus de llibres són definitivament del nivell celestial. Us aconsello que no ho mireu tret que sou un super geni. Només cal veure el i el primer vídeo que vaig escriure, no us preocupeu, no gasteu diners. Després del vídeo i fent experiments relacionats amb el maquinari, aquests conceptes quedaran clars. No he trobat el segon conjunt de llibres o vídeos que parlin sobre aquests conceptes, cosa que em permet presumir-ne a cegues. Per al carregador d’arrencada, primer el vaig veure quan estudiava, i després vaig escriure el programa jo mateix i vaig fer tots els experiments en diversos maquinaris, com ara GPIO, clock, SDRAM, UART i NAND. Si ho deixeu clar, és fàcil entendre u-boot agrupant-lo. En resum, per entendre el diagrama esquemàtic del maquinari i el manual del xip, heu de trobar la informació vosaltres mateixos. Per a la resta, només cal que seguiu la llista de capítols del i la primera fase del vídeo per aprendre.
Dos, el nucli
Aquells que vulguin començar haurien de saltar-se primer l’aprenentatge del nucli i aprendre a escriure directament els controladors.
Per convertir-se en un mestre, el nucli ha de tenir una comprensió profunda. Tingueu en compte que parlo d’entendre, no tinc cap esperança extravagant d’escriure un nucli.
Per entendre el mecanisme de planificació, el mecanisme de gestió de memòria, el mecanisme de gestió de fitxers, etc.
Recomanem dos llibres:
1. Seguiu llegint, llegiu el llibre prim (la societat flotant emfatitza la velocitat)
2. Trieu llegir, voleu saber quina secció voleu llegir quina secció
Tres, condueix
El controlador consta de dues parts: el funcionament del propi maquinari i el marc del controlador.
Torna a ser el maquinari. Encara cal entendre el diagrama esquemàtic i el manual del xip. Practica més. Parlant del marc del controlador, hi ha alguns llibres per introduir-lo. LDD3, el llibre escrit per un estranger, introdueix molts conceptes i val la pena llegir-lo. No obstant això, el seu paper es limita a introduir conceptes. L’he utilitzat bàsicament per familiaritzar-me amb els conceptes abans de començar i després llençar-lo després de començar.
La introducció més completa al conductor hauria de ser la de Song Baohua. Per ser sincer, només he llegit el catàleg. Molta gent va dir que sí, ho recomano aquí.
Si voleu entendre una àrea determinada en profunditat, sens dubte és una recomanació de 5 estrelles. No espereu llegir-lo, més de 1,800 pàgines, dos volums amunt i avall. Quan no estigui segur d'una determinada àrea, la miraré. Qualsevol part d’aquest llibre pot incloure dues o tres-centes pàgines, molt detallat. I us portarà a analitzar el codi font del nucli amb un objectiu determinat. Pren linux 2.4 com a exemple, però el principi és el mateix i també és aplicable a altres versions de linux. Alguna altra introducció? Per descomptat, hi ha el segon número de Wei Dongshan Linux Video. El "Manual complet del desenvolupament d'aplicacions de Linux incrustat" no parla molt del controlador i no és prou profund.
Intenteu escriure un controlador per a tot el maquinari implicat a la vostra placa de desenvolupament. Si teniu algun problema, primer hauríeu de "pensar dolorosament". En el procés de pensar, connectareu molts coneixements irrellevants i, finalment, els transmetreu.
En quart lloc, el sistema de fitxers arrel
Alguna vegada heu pensat en aquestes dues preguntes:
1. Per als productes fabricats per Linux, alguns s'utilitzen per a la supervisió, d'altres s'utilitzen com a telèfons mòbils i d'altres s'utilitzen com a tauletes. Per tant, després d'iniciar el nucli, després de muntar el sistema de fitxers arrel, quina aplicació s'hauria d'iniciar?
Resposta: El nucli no sap o no li importa quin programa d'usuari s'hauria d'iniciar. Només inicia l'aplicació init, que correspon a / sbin / init.
Viouslybviament, aquesta aplicació ha de llegir el fitxer de configuració i iniciar el programa d'usuari (supervisió, interfície manual, interfície de tauleta, etc.) segons el fitxer de configuració. Aquesta pregunta ens recorda que el contingut del sistema de fitxers té algunes convencions, com ara / sbin / init, es requereix un fitxer de configuració.
2. Alguna vegada heu pensat en qui va implementar el printf utilitzat en els programes hello and world que heu escrit?
Resposta: Aquesta funció no la implementeu, sinó una funció de biblioteca. Quan s’executa, ha de trobar la biblioteca.
Aquesta pregunta ens recorda que encara hi ha biblioteques al sistema de fitxers. Aquí teniu una simple pregunta i resposta. Si voleu saber-ne més, podeu consultar l'init.c de busybox per saber què fa el procés d'inici. Per descomptat, també podeu veure el capítol sobre la creació del sistema de fitxers arrel a .
La meva experiència d'aprenentatge
1. Quan estava a l’escola, em vaig especialitzar en física i electrònica. De fet, no vaig ensenyar a dissenyar circuits al curs, sinó que només vaig ensenyar alguns coneixements sobre circuits electrònics. El disseny del PCB el vaig ensenyar jo mateix al laboratori. Només he dissenyat una placa de dues capes i ara quasi me n’oblido. Però conserva la capacitat de llegir el diagrama esquemàtic i el manual del xip.
2. Em vaig llicenciar en programari i m’interessa molt el disseny de programari, però només vaig aprendre llenguatge C i base de dades. Vaig fer moltes preguntes sobre la competència amb interès. No puc participar a la competició, però tinc una pràctica de llengua sòlida C.
3. Al laboratori, a la primera empresa, vaig dissenyar algunes targetes PCI senzilles i vaig escriure el controlador de Windows
4. A la segona empresa, utilitzant 51 microordinadors d’un sol xip com a telèfon per a cotxes, va començar a emprendre el camí del programari pur.
5. Vaig començar a sentir les deficiències del microordinador d’un sol xip. Vaig dimitir durant mig any per aprendre Linux a porta tancada, començant per com operar el barret vermell. El pas és mirar-lo primer, després escriure el programa de la placa nua per fer funcionar el maquinari i després analitzar l’arrencada en u. Al mateix temps, tinc una certa comprensió del marc LINUX.
Quan escriviu taulers nus, es recomana reforçar la comprensió de les interrupcions. El nucli utilitza interrupcions per completar diverses funcions.
6. Després d'analitzar u-boot, inicieu una programació senzilla del controlador. En aquest moment, la capacitat encara és molt feble.
7. Va començar a treballar a ZTE, va treballar durant 2 anys, va escriure tot tipus de conductors, va resoldre tot tipus de problemes (problemes de conducció, ajuda a localitzar problemes d'aplicació) i la capacitat es va moderar.
|
Introduïu el correu electrònic per obtenir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanès
ar.fmuser.org -> Àrab
hy.fmuser.org -> Armeni
az.fmuser.org -> Azerbaidjanès
eu.fmuser.org -> basc
be.fmuser.org -> bielorús
bg.fmuser.org -> Bulgària
ca.fmuser.org -> català
zh-CN.fmuser.org -> Xinès (simplificat)
zh-TW.fmuser.org -> Xinès (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> txec
da.fmuser.org -> Danès
nl.fmuser.org -> Holandès
et.fmuser.org -> estonià
tl.fmuser.org -> filipí
fi.fmuser.org -> finès
fr.fmuser.org -> Francès
gl.fmuser.org -> gallec
ka.fmuser.org -> georgià
de.fmuser.org -> alemany
el.fmuser.org -> Grec
ht.fmuser.org -> crioll haitià
iw.fmuser.org -> Hebreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandès
id.fmuser.org -> indonesi
ga.fmuser.org -> irlandès
it.fmuser.org -> Italià
ja.fmuser.org -> japonès
ko.fmuser.org -> coreà
lv.fmuser.org -> Letó
lt.fmuser.org -> Lituània
mk.fmuser.org -> macedoni
ms.fmuser.org -> Malai
mt.fmuser.org -> maltès
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> Polonès
pt.fmuser.org -> Portuguès
ro.fmuser.org -> Romanès
ru.fmuser.org -> rus
sr.fmuser.org -> serbi
sk.fmuser.org -> Eslovac
sl.fmuser.org -> Eslovènia
es.fmuser.org -> Castellà
sw.fmuser.org -> Suahili
sv.fmuser.org -> Suec
th.fmuser.org -> Tai
tr.fmuser.org -> turc
uk.fmuser.org -> ucraïnès
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> gal·lès
yi.fmuser.org -> Yiddish
FMUSER Wirless Transmet vídeo i àudio més fàcil!
Contacte
Adreça:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Xina 510620
Categories
Newsletter