Id-dar > Wirja > Il-kontenut

Debugging tas-Sistema Inkorporata

Mar 08, 2019

Debugging inkorporat jista 'jsir f'livelli differenti, skond il-faċilitajiet disponibbli. Il-metriċi differenti li jikkaratterizzaw il-forom differenti ta 'debugging inkorporat huma: ma jnaqqas l-applikazzjoni prinċipali, kemm hija viċin is-sistema jew l-applikazzjoni debugged għas-sistema jew l-applikazzjoni attwali, kemm huma espressi l-kawżi li jistgħu jiġu ssettjati għad-debugging (eż., tispezzjona l-memorja meta jinkiseb valur kontro tal-programm partikolari), u x'jista 'jiġi spezzjonat fil-proċess ta' debugging (bħal, memorja biss, jew memorja u reġistri, eċċ.).


Mill-aktar sempliċi għall-aktar sofistikati jistgħu jinġabru bejn wieħed u ieħor fl-oqsma li ġejjin: \ t


Debugging ta 'residenti interattivi, bl-użu tal-qoxra sempliċi pprovduta mis-sistema operattiva integrata (eż. Forth and Basic)

Debugging estern bl-użu tal-qtugħ tas-siġar jew tal-port tas-serje biex tiġi traċċata l-operazzjoni bl-użu ta 'monitor fi flash jew bl-użu ta' debug server bħall-Remedy Debugger li anke jaħdem għal sistemi eteroġeni ta 'multicore.

Debugger fiċ-ċirkwit (ICD), apparat ta 'hardware li jgħaqqad mal-mikroproċessur permezz ta' interface JTAG jew Nexus. Dan jippermetti t-tħaddim tal-mikroproċessur li jkun ikkontrollat esternament, imma huwa tipikament ristrett għal kapaċitajiet ta 'debugging speċifiċi fil-proċessur.

Emulator fiċ-ċirkwit (ICE) jissostitwixxi l-mikroproċessur b'ekwivalenti simulat, li jipprovdi kontroll sħiħ fuq l-aspetti kollha tal-mikroproċessur.

Emulator komplut jipprovdi simulazzjoni ta 'l-aspetti kollha tal-ħardwer, li jħallih kollu kemm hu jiġi kkontrollat u mmodifikat, u jippermetti li jkun hemm debugging fuq PC normali. Il-punti negattivi huma spejjeż u tħaddim bil-mod, f'xi każijiet sa 100 darba aktar kajman mis-sistema finali.

Għad-disinni SoC, l-approċċ tipiku huwa li tivverifika u tħassar id-disinn fuq bord tal-prototip FPGA. Għodod bħal Certus jintużaw biex jiddaħħlu sondi fl-FPGA RTL li jagħmlu s-sinjali disponibbli għall-osservazzjoni. Dan jintuża biex jiddebugja interazzjonijiet ta 'ħardwer, fermwer u softwer f'diversi FPGA b'kapaċitajiet simili għal analizzatur tal-loġika.

Id-debuggers tas-softwer biss għandhom il-benefiċċju li m'għandhomx bżonn xi modifika tal-ħardwer iżda jridu jikkontrollaw bir-reqqa dak li jirreġistraw sabiex jikkonservaw il-ħin u l-ispazju għall-ħażna.

Sakemm ma jkunx ristrett għal debugging estern, il-programmatur jista 'tipikament jgħabbi u jħaddem softwer permezz ta' l-għodod, jara l-kodiċi li jibda fil-proċessur, u jibda jew iwaqqaf it-tħaddim tiegħu. L-aspett tal-kodiċi jista 'jkun bħala kodiċi tas-sors HLL, kodiċi ta' assemblaġġ jew taħlita tat-tnejn.


Minħabba li sistema integrata ħafna drabi tkun magħmula minn varjetà wiesgħa ta ’elementi, l-istrateġija ta’ debugging tista ’tvarja. Pereżempju, id-debugging ta 'sistema inkorporata iċċentrata fuq is-softwer (u l-mikroproċessur) hija differenti mid-debugging ta' sistema inkorporata fejn il-biċċa l-kbira tal-ipproċessar jitwettaq minn periferali (DSP, FPGA, u ko-proċessur). Numru dejjem jikber ta 'sistemi inkorporati llum jużaw iktar minn qalba waħda tal-proċessur. Problema komuni bl-iżvilupp multi-core hija s-sinkronizzazzjoni xierqa ta ’l-eżekuzzjoni tas-softwer. F'dan il-każ, id-disinn ta 'sistema inkorporata jista' jkun jixtieq jivverifika t-traffiku tad-data fuq il-karozzi tal-linja bejn il-qalba tal-proċessur, li teħtieġ debugging ta 'livell baxx ħafna, fil-livell tas-sinjal / linja tal-linja, per eżempju b'analizzatur tal-loġika.