Hur man starta upp Linux på en Zedboard utan U-Boot (2 / 6 steg)

Steg 2: Zynq-Boot

Ladda ner Zynq-Boot

Första, låt oss hämta koden för zynq-boot, som innehåller vad vi måste ställa in en Zedboard att starta Android

git klon git://github.com/cambridgehackers/zynq-boot

Vad en starthanterare måste göra att starta upp Linux

En starthanterare måste göra några saker innan det kan starta ARM Linux.

  1. Konfigurera DRAM-styrenhet
  2. Ladda zImage och någon initial ramdisk-avbildningen i DRAM
  3. Ladda maskin TYPVÄRDE i r2
  4. Hoppa till zImage

Genom att förpacka zImage och initial ramdisk-avbildningen till en boot.bin fil, hand Xilinx's fsbl tar om de första två av dessa. Så allt vi behöver göra är 2 sista.

Utom Xilinx tycks kernel kräva vissa andra konfigurationen register som ska initieras. Över tiden, kanske flyttas denna konfiguration wil till kärnan att förenkla denna process.

Hur Zynq-Boot bereder vägen för Linux

Om vi tar en titt på innehållet i Zynq-Boot, är en av filerna av intresse clearreg. S. denna fil kompileras och kopplade med zImage så att denna kod är startpunkten.

Det börjar med lite kod att hoppa förbi en datatabell:

.arm .data
.global clearreg
clearreg:
ADR r4, data_table
b 3f

Då innehåller den datatabellen själv. Varje post är två 32-bitars ord: ett konfigurationsvärde att skriva och en adress som du vill skriva den. Dessa register kan konfigureras av Xilinx FSBL eller av Linux-kärnan, vilket gör detta steg lättare.

data_table:
.Word SLCR_UNLOCK_MAGIC, XPSS_SYS_CTRL_BASEADDR + 0x8 / / slcr_unlock
/ * mappa om DDR till noll, FILTERSTART * /
.Word 0, XPSS_SCU_BASEADDR + 0x40 //filter_start
/ * Enheten config APB, låsa upp PCAP * /
.Word 0x757BDF0D, XPSS_DEV_CFG_APB_BASEADDR + 0x34 //unlock
.Word 0xFFFFFFFF, XPSS_DEV_CFG_APB_BASEADDR + 0x28 //rom_shadow
/ * OCM_CFG, maskera ut ROM, mappa ram i övre adresser * /
.Word 0x1F, XPSS_SYS_CTRL_BASEADDR + 0x910 //ocm_cfg
/ * FPGA_RST_CTRL, tydlig återställs på AXI tyg portar * /
.Word 0x0, XPSS_SYS_CTRL_BASEADDR + 0x240 //fpga_rst_ctrl
/ * TZ_DDR_RAM, ange DDR förtroende zon osäker * /
.Word 0xFFFFFFFF, XPSS_SYS_CTRL_BASEADDR + 0x430 //trust_zone
/ * Anger brådskande bitar med register * /
.Word 0x0, XPSS_SYS_CTRL_BASEADDR + 0x61c //ddr_urgent_sel
/ * Brådskande skriva, hamnar S2/S3 * /
.Word 0xC, XPSS_SYS_CTRL_BASEADDR + 0x600 //ddr_urgent
.Word SLCR_LOCK_MAGIC, XPSS_SYS_CTRL_BASEADDR + 0x4 //slcr_lock
.Word 0, 0 / / slutet av tabellen

Efter data är tabellen maskintypen:

machine_type:
.Word 0xd32 / / XILINX_EP107 (Zynq) = 3378.

Är det koden som konfigurerar processorn enligt tabellen:

2: str r0, [r1]
3: ldmia r4!, {r0, r1}
CMP r1, #0
BNE 2b

Slutligen finns den kod som laddar XILINX_EP107 maskintyp och fortsätter att startpunkten som zImage:

LDR r1, machine_type
MOV r2, #0x1000000 / / ange adressen till devicetree data
falla igenom (för att starta av zImage)

Efter det startar Linux som vanligt.

Se Steg
Relaterade Ämnen

Hur man starta upp Linux från USB-

din hårddisk kraschar ibland och du måste använda datorn. Denna instrable visar dig hur man starta upp Linux från USB.Steg 1: Vad du behöver... - Ett minimum 512 MB USB-En lätt Linux OS. Jag ' ll använda Puppy Linux-A USB skaparen redskap (sjuk Använ...

Hur man starta upp PUD Linux av en flash-enhet

detta instructable lär dig hur man installerar PUD, en 260MB OS, på flash-enheten. Detta är min första instructable så snälla, vara hård mot mig.Det är långlivade, så det kommer att spara inställningar vid avslut. Jag är inte ansvarig för något hände...

Ordentliga instruktioner om hur man starta upp en ny os på din i enheten

ok så du har velat ett nytt os på din iphone men du inte har en 2g eller 3g för bootlaceLäs vidare och du kommer att ta reda på hurdu behöver:Internet-anslutningiso-filen du vill starta fråndin jailbroken iphone, ipod, ipadSteg 1: Hämta bochs ok så d...

Hur man laddar upp en Video på Youtube

som inte har det super pinsamt och besvärligt video som du känner behov av att dela över hela världen. Men hur kommer du få det viral? Åh vet jag, YouTube! Men vänta, hur laddar du upp en YouTube-video? Tja, är här en enkel handledning om hur man lad...

Hur man laddar upp bilder på Shutterfly

Om du är förvirrad om hur man ladda upp bilder på Shutterfly eller helt enkelt inte kan hitta på upload-knappen, är här hur man gör.Steg 1: Gå till Shutterfly.comSjälvklart.Klicka sedan på Logga In i det övre högra hörnet.Steg 2: Ange ditt användarna...

Hur man knyta upp snäva knop

Hur man knyta upp tätt knop hoppas du njuta! YouTube-kanal är överlevnad unge...

Hur man laddar upp koder till nRF51822 med nRF51-DK

Idag, jag ska visa dig hur man laddar upp koder (alias, firmware) till någon Bluetooth beacon har nRF51822 chip från nRF51-DK Utvecklingskit via trådbunden anslutning. nRF51-DK kan användas till programmet nRF51822 ingår Bluetooth Beacon hardwares.Be...

Hur man binda upp en låda

Hur man knyter upp en låda med sträng tutorialSteg 1: Steg 1: Cross rep Loop rep från nedre rutan till toppenNär repet träffas över repetSteg 2: Steg 2: Under 2 rep Vänds boxPlats 1 rep under mellersta repPlacera nästa rep under mellersta repSteg 3:...

Hur man stå upp i en Street Fight! (Video)

Hur man stå upp i en Street Fight! - Klicka här för fler fantastiska videoklipp, situationen är där en kombattant är omkull, och den andra är fortfarande står upp. Jag kommer att visa hur man får tillbaka till fötterna tryggt medan en motståndare stå...

Hur man stå upp i en Street Fight! (Instructable)

Denna situation är där en kombattant är omkull, och den andra är fortfarande står upp. Jag kommer att visa hur man får tillbaka till fötterna tryggt medan en motståndare står över du kasta slag och sparkar.Steg 1: Motståndare pressar du ner Du och di...

Hur man laddar upp en bild på Instagram

jag kommer att Visa steg för steg instruktioner om hur man ladda upp en bild på Instagram. Instagram är en populär foto-app som låter sina användare att ladda upp bilder för sina vänner att Visa. Instagram är en trevlig och lätt sociala medier verkty...

Hur man laddar upp en fil på Google Docs och lägga den i en samling

Detta screencast video visar användare hur man ladda upp en Word-fil till Google Docs och Lägg den i en samling. Jag gjorde screencast för mina elever, men det kan vara bra att någon ny till Google Docs. Finns även på Vimeo.& lt; br / & gt;...

Hur man limma upp en trä Table Top

jag ska visa dig hur man limma upp en bordsskiva med 2" aspen styrelser som fortfarande har den naturliga kanten. Sedan använder vi den bordsskivan för att göra bar pall platser!...

Hur man rulla upp en sovsäck

Hej där!Jag kunde inte hitta en enkel handledning om hur man rulla upp en sovsäck för nybörjare så jag beslutat att göra en själv. Jag hoppas att detta hjälper!Steg 1: Samla materialFör denna verksamhet kommer du att behöva:1 - sovsäck2 - remmar *1 -...

Hur man Korka upp en vinflaska

I detta "kompatibel, jag ska visa dig hur man Korka upp en vinflaska ordentligt.Steg 1: Ta bort locket Först placerar din korkskruv spets precis under läppen av flaskan.Påtryckningar och vända flaskan tills du är helt runda.Inte alla vinflaskor har l...

Hur man laddar upp videor och bilder från en kamera till Mac

Ibland vill du använda en Mac, när du bara vet hur man använder en PC! Här är hur man laddar upp bilder från en kamera eller IOS-enhet.Steg 1: Ta några bilder! Ta några bilder, det spelar ingen roll hur många.Steg 2: Anslut kameran Anslut kameran (el...

Hur man färga själv Striping garn (utan specialverktyg!)

En FiberArtsy handledningHur man färga själv Striping garn (utan specialverktyg!)Har du någonsin försökt att färga själv striping garn? Någonsin märker att du behöver komplicerade (och dyra) verktyg som en tänjning ombord används med en vävstol? Tja,...

Hur att driva upp ett ATX nätaggregat utan dator!

i detta instructable jag kommer att visa dig hur att driva upp ett ATX nätaggregat utan en dator.I vissa fall vill du kanske testa en gammal CD-ROM-enhet eller något annat.Allt som du har är ett NÄTAGG från en gammal dator en en tråd.Här visar jag di...

Hur man gör ett unikt anpassade kuvert utan lim

I detta instructable jag ska visa dig hur man gör en egen personlig kuvert utan att använda limmet. Detta är det perfekta kuvertet för mycket speciella tillfällen.Steg 1: Vad behöver du?-bomull baserade papper, helst utan syra.-100% bomull eller poly...