Dom > Razstava > Vsebine

Odpravljanje napak vgrajenega sistema

Mar 08, 2019

Vdelano odpravljanje napak se lahko izvaja na različnih ravneh, odvisno od razpoložljivih zmogljivosti. Različne meritve, ki označujejo različne oblike vdelanega razhroščevanja, so: ali upočasni glavno aplikacijo, kako blizu je razhroščeni sistem ali aplikacija za dejanski sistem ali aplikacijo, kako izrazne so prožilci, ki jih je mogoče nastaviti za razhroščevanje (npr. pregledovanje pomnilnika, ko je dosežena določena vrednost števec programa), in kaj se lahko pregleda v procesu razhroščevanja (npr. samo pomnilnik, pomnilnik in registri itd.).


Od najenostavnejših do najbolj prefinjenih jih lahko grobo razdelimo na naslednja področja:


Interaktivno odpravljanje napak rezidentov, z uporabo preproste lupine, ki jo nudi vdelani operacijski sistem (npr. Forth in Basic)

Zunanja razhroščevanje z uporabo dnevnika ali izhodov za zaporedna vrata za sledenje operacijam z uporabo monitorja v bliskavici ali z uporabo strežnika za odpravljanje napak, kot je Remedy Debugger, ki celo deluje za heterogene večjedrne sisteme.

Razhroščevalnik znotraj vezja (ICD), strojna naprava, ki se poveže z mikroprocesorjem prek vmesnika JTAG ali Nexus. To omogoča zunanji nadzor nad delovanjem mikroprocesorja, vendar je običajno omejen na posebne zmožnosti za odpravljanje napak v procesorju.

Vmesni emulator (ICE) zamenja mikroprocesor s simuliranim ekvivalentom, ki zagotavlja popoln nadzor nad vsemi vidiki mikroprocesorja.

Popoln emulator omogoča simulacijo vseh vidikov strojne opreme, ki omogoča nadzor in spreminjanje vsega, kar omogoča odpravljanje napak na običajnem računalniku. Slabosti so stroški in počasna operacija, v nekaterih primerih tudi do 100-krat počasnejša od končnega sistema.

Za modele SoC je tipičen pristop preverjanje in odpravljanje napak pri izdelavi prototipne plošče FPGA. Orodja, kot je Certus, se uporabljajo za vstavljanje sond v FPGA RTL, ki omogočajo opazovanje signalov. To se uporablja za razhroščevanje interakcij strojne opreme, programske opreme in programske opreme v več FPGA z zmogljivostmi, podobnimi logičnim analizatorjem.

Programski debuggerji imajo samo to, da ne potrebujejo nobene spremembe strojne opreme, ampak morajo skrbno nadzorovati, kaj beležijo, da bi prihranili čas in prostor za shranjevanje.

Če ni omejen na zunanje razhroščevanje, lahko programer običajno naloži in zažene programsko opremo s pomočjo orodij, si ogleda kodo, ki se izvaja v procesorju, in začne ali ustavi njeno delovanje. Pogled na kodo je lahko izvorna koda HLL, skupinska koda ali mešanica obeh.


Ker je vgrajeni sistem pogosto sestavljen iz različnih elementov, se lahko strategija razhroščevanja razlikuje. Razhroščevanje programske opreme (in mikroprocesorskega) vgrajenega sistema se na primer razlikuje od razhroščevanja vgrajenega sistema, kjer večino obdelave opravljajo zunanje naprave (DSP, FPGA in souprocesor). Večje število vgrajenih sistemov danes uporablja več kot eno jedro procesorja. Pogosta težava pri razvoju večjedrnih procesov je pravilna sinhronizacija izvajanja programske opreme. V tem primeru lahko zasnova vgrajenega sistema preveri podatkovni promet na avtobusih med procesorskimi jedri, kar zahteva zelo nizko stopnjo napak na ravni signala / vodila, na primer z logičnim analizatorjem.