KEYNOTE VIDEO: ELECIA FEHÉR felfedezi kincs a Memóriatérkép

Ha ásni mikrokontroller, valamint szeretne ásni, hogy pontosan hogyan működnek, Elecia White kívánja segíteni eligazodni legbelső trükkök a segítséget a memória térkép fájlokat. Ebben üdítően vicces, ugyanakkor rendkívül mély vitaindító előadást a 2021 Hackaday Remoticon, Elecia elvezet minket az egyik legfélelmetesebb leletek összeállítás – egy adat listáját, ahol bármit is kerüljenek a mikrokontroller memóriájában -, valamint kifejti, tereptárgyak, hogy segítse hogy ez több hajózható.

És ha a követelmény, hogy vizsgálja meg a map fájlt, akkor nagy valószínűséggel valóban követelmény Pillantás a map fájlt. Ha a beágyazott modul titokzatos leáll, memória problémák néhány a szokásos gyanúsítottak. talán elfogyott a RAM vagy flash tárhely, talán van valami furcsa nehéz hibát, valamint meg akarjuk érteni, mi része a programnak beindítja a baj, vagy talán a követelmény, hogy némi sebesség profilok, hogy mindent gyorsabban fusson. Mindezekben az esetekben, akkor kap egy abszolút memória címet. Mi ott él? keresse ki a memóriában térképen!

Ábrázolási a pálya

Elecia indul ki a térképen az adatokat a „hello world” programot, de ez egy hello world fut egy RTOS, így már van elegendő húst, hogy beleveti magát. Ő indul ki, hogy a felső szintű áttekintést: flash a kódot, valamint a RAM a program használatát. A vaku, a kód él .text valamint .const, valamint RAM szakaszokat, hogy meg kell ismernie, hogy tetszik .heap valamint .stack azonban szintén .data valamint .bss. A memória térkép adatokat szintén megfelel ennek szerkezete: első áttekintést, majd a szakasz markerek, valamint akkor a részleteket, hogy mi van benne az egyes részekben.

Ha kapsz egy baleset, például, valamint érti, ahol a számértéke program számláló, amikor elment az összes körte alakú, a .text szakasz listát a függvény neve, ahol ez megtörtént. A szakasz a világ változó definíciókat, abc sorrendben? Akkor nagy valószínűséggel csak lapozzunk által, hogy – van egy nagy redundancia a map fájlt, néha rendezve memória cím, néha ábécé sorrendben. Nem szeretnénk, hogy kivett egy térképet fájlt, amit csak akar megmártózni, hogy mire van szüksége, valamint kijutni. Van egy változó, amely Ön szerint egyre felülírja? felfedezik a részben szereplő címre, valamint nézze meg a szomszédai – egyikük lehet túlterhelésre.

De az igazi sztárja a gyönyörű térkép Elecia készül a stílus egy szerepjáték játék. a folyón az inicializálás a statikus Shores, akkor rájössz RAMlandia, a nagy síkok a Stacks, az alacsony mocsaras Heap ereklyéi, valamint a kikötő (memóriába leképezett) perifériás nyilvántartásban. Vannak nagyon sárkányok az óceánban a fel nem használt Address Space. Megváltoztatásával vissza, valamint között oda ezt a szórakoztató, de hasznos, térkép, valamint a tényleges szöveget memória térkép fájlt, Elecia köt felejthetetlen kilátás nyílik a memória a sűrű szöveg a térkép adatokat, ahogy él munkád mappában.

És nem beszélni memória mikrokontroller van összesen nélkül megjegyezve veszélyeire, hogy mi történik, ha a RAM kupac, amely növekszik lefelé, megcsókolja a RAM verem, amely növekszik felfelé. Mi történik akkor? Még egy funkció hívást, valamint a funkciók kezdődik felülírja az adatokat. “Ez jó. mint egy kutya ül egy kávézóban a tüzet.” A kérdés az, hogy ez a része a memória adminisztráció, ami dinamikus, funkciók telefonhívás egyéb funkciókat, valamint a memóriát, valamint törlődik. Az egyedi beviteli módosításokat, amelyek részei a program futását, valamint így amennyiben adatokat tárolja. itt az egyik helyen, ahol a memória térkép nem segítünk, kivéve, hogy felfedezzék, mi a közeli, ahol a baleset történt. Azonban az igazi válasz: „Mennyi RAM tudom már most?” valóban kimondhatatlanul „Nemtom”.

Ha Ön új a beágyazott design, talán a legelső húsz perc a beszélgetés az Ön számára, valamint akkor is, ha egy edzett veterán, akkor rájössz, valamit a későbbiekben. Nagyon élveztem Elecia beszéde, valamint te is. Meg lehet nézni, hogy a beágyazott alatt. Hozz magaddal egy példányt a mentén csúszik is.

Leave a Reply

Your email address will not be published. Required fields are marked *