Tämän "u-boot complete analysis" -kurssin tarkoituksena on saada sinut arvostamaan kaikkea sulautetun kehityksen ohjelmisto- ja laitteistotietämystä askel askeleelta läpi koko prosessin analyysin erinomaisessa bootloader-ohjelmistossa, ja toisin kuin yliopistojen abstraktit ja vaikeat teoreettiset kurssit, voimme muokata ja ajaa koodia milloin tahansa you-bootin analyysin aikana testataksemme ymmärrystämme tiedosta. Kunhan etenet tämän prosessin loppuun asti, kun oma debuggaus- ja kirjoitusjärjestelmäsi pyörii täysin kehityskortilla, olet käytännössä upotuksen keskitasolla tai sitä korkeammalla. Koska ohjelmistojen ja laitteistojen perusta on luotu, kun jatkat Linuxin ja Androidin kaltaisten ohjelmistojen ytimen ja ajurikehityksen oppimista, et enää tunne, ettet ymmärrä tai ole vaikea aloittaa. Tämän kurssin ensimmäinen ja toinen kausi muodostavat koko kurssin perustan, ja periaatteessa ensimmäisen ja toisen kauden oppimisen jälkeen voit kirjoittaa bootloaderin itse.
Luennoitsijan johdanto
Tegyin Upotettu piiri käynnistyslataaja Asiantuntija käyttöjärjestelmien taustalla
Sulautetun opetuksen prosessissa tunnen syvästi, että nykyisessä kandidaattitason ammatillisessa opetuksessa puuttuu sulautetut kehittäjät: koska elektroniikan pääaine ei ole systemaattisesti opiskellut tietokonealan kursseja kuten "käyttöjärjestelmä" ja "käännösperiaatteet", on vaikea ymmärtää valtavia ohjelmistorakenteita, kuten Linuxia ja sen käännös- ja kehitysjärjestelmää sekä sen abstraktia toimintamekanismia myöhemmässä vaiheessa. Samoin tietotekniikan pääaineopiskelijat voivat pysyä puhtaan ohjelmistokehityksen tasolla vain siksi, että heillä ei ole kattavaa tietoa elektroniikkapiiriteknologiasta ja suhteellisen vähän kokemusta laitteiston käsittelystä.
Vasta kun kehittäjällä on kaikki konkreettinen laitteistotieto ja ylin abstrakti ohjelmistotieto, hänestä voi tulla erinomainen sulautettujen järjestelmien kehitysinsinööri. Siksi opetuksen ja harjoittelun aikana hän kiinnittää suurta huomiota laitteiston ja ohjelmiston vuorovaikutteiseen suhteeseen, jotta opiskelijat tietävät, mitä se on ja miksi.
Vaihe 1 - Prologi
U-boot-version valinta
Vaihe 2 – start.s-analyysi
U-bootin poikkeavektor ja V210:n käynnistysmekanismin periaate
Käytä objdump-purkua nähdäksesi you-bootin otsikkokoodin ja poikkeusvektorin käsittelyn
ENTRY ja muut makrot sekä CPSR-rekisterien asetus
CP15-koprosessoripohja, VBAR-anomaliavaktoripohjan osoitekartoitus
cpu_init_cp15 Aliprosessin analyysi: Välimuistitoiminnot
cpu_init_cp15 Aliprosessianalyysi (jatkuu): Haarautumisen ennustaminen, MMU-toiminta
cpu_initcrit aliprosessianalyysi, koe 1: Muokkaa u-bootin lähdekoodia näyttämään ajotila LED-valoilla
Koe 1 (jatkuu): GPIO:n tulo- ja lähtöpiirin analyysi
Koe 1 (jatkuu): U-bootin vilkkuvan tekemisen periaate, MKV210-lähdekoodin analyysi
Koe 1 (jatkuu): Käytä hexdump-työkalua analysoidaksesi kuvan hex-desimaalikoodin
Yleiskatsaus kokoamis-, linkitys- ja kokoonpanoprosessiin
Koe 2: Kirjoita oma käynnistysohjelma: myboot
Koe 2 (jatkuu): Kahden tai useamman tiedoston yhdistämisperiaate
Koe 2 (jatkuu): Pura ja analysoi oma mybootisi
Koe 2 (jatkuu): Käytä Makefilea kääntääksesi mybootin automaattisesti
Koe 2 (jatkuu): Paranna Makefile-tiedostoamme
Koe 2 (jatkuu): Automaatiomuuttujat Makefilessa
Vaihe 3 – lowlevel_init.s-analyysi
Sirumallin arviointi, nollausmenetelmän arviointi
IO-pito, nollaustilan arviointi, keskeytyksen alustus
UART-alustamisen ja asynkronisen viestinnän periaatteet
UART-analyysi 1
UART-analyysi 2
UART-analyysi 3
UART-analyysi 4
Koe 3: Käytä UART:ia näyttämään dataa määritellyssä muistissa
DDR-muistin perusteet 1
DDR-muistin perusteet 2
DDR-muistin perusteet 3
DDR-muistilaitteistoliitäntä V210 avoimella levyllä1
DDR-muistilaitteistoliitäntä V210:n avoimella piirilevyllä2
DDR2-Device1:n sisäinen rakenne
DDR2-Device2:n sisäinen rakenne
DDR2-ohjattu äärellinen tilakone
DDR2 MRS- ja EMRS-rekisterit
DDR2:n luku- ja kirjoitusajat
Ladata:Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus |