資料介紹
Genode 操作系統(tǒng)框架(通常稱為Genode )已經(jīng)存在了十多年,并且仍在積極開發(fā)中。它在通用 x86 硬件上得到最好的支持,因?yàn)槲覀冊(cè)?Genode Labs 將它高效地用于我們的日常業(yè)務(wù)。但是,也有(部分)支持各種基于 ARM 的平臺(tái)。最近新增的功能是支持 Digilent 的 Zybo Z7 板。這是關(guān)于在 Zybo Z7-10 或 Zybo Z7-20 板上啟動(dòng)非?;镜?Genode 場(chǎng)景的初學(xué)者級(jí)教程。
先決條件
對(duì)于 Genode 開發(fā),您需要一臺(tái) Linux 主機(jī)。我建議使用 Ubuntu LTS,Genode 可以在其上輕松構(gòu)建。Genode 使用自己的工具鏈,必須手動(dòng)安裝。您可以下載預(yù)構(gòu)建的工具鏈并使用以下命令進(jìn)行安裝:
$ sudo tar xPf genode-toolchain-
請(qǐng)確保按照入門指南熟悉 Genode 。這將確保您已安裝所有其他必需的構(gòu)建工具。
準(zhǔn)備 Zybo Z7 開發(fā)板
Zybo Z7 開發(fā)板附帶一個(gè)預(yù)安裝的演示應(yīng)用程序,該應(yīng)用程序存儲(chǔ)在板載閃存中。確保將跳線 JP5 設(shè)置為 QSPI 啟動(dòng)并打開設(shè)備電源。演示應(yīng)用程序控制板載 LED 并通過 UART 接口發(fā)送一些字符。兩者都有助于檢查開發(fā)板是否正確啟動(dòng)并測(cè)試 UART 連接。為了使用后者,將 Micro-USB 電纜連接到標(biāo)有“PROG UART”的連接器,將其連接到您的開發(fā)系統(tǒng)并打開電路板電源。/dev/ttyUSB1設(shè)備應(yīng)該會(huì)彈出。啟動(dòng)您喜歡的終端程序(例如 picocom、screen)并按下重置按鈕以查看開發(fā)板的串行輸出。我喜歡按如下方式使用屏幕:
$ sudo screen /dev/ttyUSB1 115200
如果要退出屏幕,請(qǐng)輸入字符序列Ctrl+a k。
克隆存儲(chǔ)庫
首先,我們需要獲得一個(gè) Genode 的克?。?/p>
~$ git clone https://github.com/genodelabs/genode.git genode
其次,我們需要克隆 Zynq 支持的配套存儲(chǔ)庫:
~$ git clone https://github.com/genodelabs/genode-zynq.git genode/repos/zynq
創(chuàng)建構(gòu)建目錄
Genode 使用樹外構(gòu)建過程。因此,我們使用以下命令在~/genode/build/arm_v7a為我們的目標(biāo)平臺(tái)準(zhǔn)備一個(gè)構(gòu)建目錄:
~/genode$ ./tool/create_builddir arm_v7a
構(gòu)建目錄托管配置文件~/genode/build/arm_v7a/etc/build.conf需要進(jìn)行一些修改。
首先,我們必須告訴構(gòu)建系統(tǒng)使用 Zynq 存儲(chǔ)庫,這是通過取消注釋以下行來實(shí)現(xiàn)的:
REPOSITORIES += $(GENODE_DIR)/repos/zynq
其次,我們將設(shè)置一些變量,以節(jié)省我們稍后的輸入時(shí)間。
KERNEL ?= hw BOARD ?= zynq_zybo_z7 RUN_OPT += --depot-auto-update
構(gòu)建 SD 卡映像
接下來,我們將構(gòu)建一個(gè) SD 卡映像。Genode 使用 u-boot 并方便地將所有內(nèi)容編譯成一個(gè)圖像。不過,在觸發(fā) make 命令之前,我們必須下載 u-boot 的第三方代碼。這是通過prepare_port工具完成的:
~/genode$ ./tool/ports/prepare_port zynq_uboot
現(xiàn)在,我們準(zhǔn)備構(gòu)建 SD 卡映像,如下所示:
~/genode$ RUN_OPT='--include image/zynq_uboot_sdcard' make -C build/arm_v7a run/log
此命令告訴 Genode 的構(gòu)建系統(tǒng)構(gòu)建運(yùn)行/日志場(chǎng)景并包含圖像創(chuàng)建腳本。如果您對(duì)更多詳細(xì)信息感興趣,請(qǐng)參閱構(gòu)建系統(tǒng)文檔。請(qǐng)注意,我們還可以將定義添加到build.conf 中。但是,我想在以后跳過映像創(chuàng)建并在初始化 SD 卡后使用 TFTP 引導(dǎo)。構(gòu)建過程應(yīng)以以下行結(jié)束RUN_OPT
Created SD-card image file var/run/log.img
當(dāng)我將 SD 卡插入我的 Linux 主機(jī)時(shí),會(huì)彈出一個(gè)/dev/mmcblk0設(shè)備。因此,我將創(chuàng)建的圖像寫入 SD 卡,如下所示:
~/genode$ sudo dd if=build/arm_v7a/var/run/log.img of=/dev/mmcblk0 bs=1M conv=fsync
將 SD 卡插入 Zybo 板,不要忘記將跳線 JP5 設(shè)置為 SD 啟動(dòng)。打開設(shè)備電源,連接到串行控制臺(tái)(例如使用屏幕),然后按下重置按鈕。您應(yīng)該看到以下輸出:
[init -> test-log] hex range: [0e00,1680) [init -> test-log] empty hex range: [0abc0000,0abc0000) (empty!) [init -> test-log] hex range to limit: [f8,ff] [init -> test-log] invalid hex range: [f8,08) (overflow!) [init -> test-log] negative hex char: 0xfe [init -> test-log] positive hex char: 0x02 [init -> test-log] floating point: 1.70 [init -> test-log] multiarg string: "parent -> child.7" [init -> test-log] String(Hex(3)): 0x3 [init -> test-log] Very long messages: [init -> test-log -> log] 1.....................................................................................................................................................................................................................................2 [init -> test-log] 3.....................................................................................................................................................................................................................................4 [init -> test-log] 5.....................................................................................................................................................................................................................................6 [init -> test-log] [init -> test-log] Test done. Run script execution successful
啟用 TFTP 引導(dǎo)
由于我笨拙的手指不能很好地處理 micro SD 卡,所以我寧愿避免經(jīng)常觸摸它們。相反,我更喜歡網(wǎng)絡(luò)啟動(dòng)。幸運(yùn)的是,u-boot 支持通過 TFTP 加載圖像。我們 SD 卡上的 u-boot 安裝加載uEnv.txt文件(如果存在)并執(zhí)行uenvcmd命令。因此,我使用以下內(nèi)容設(shè)置了uEnv.txt文件:
serverip=x.x.x.x kernel_img=/srv/tftp/usrp/uImage uenvcmd=tftpboot ${load_addr} ${serverip}:${kernel_img} && bootm start && bootm loados && bootm go
指的server_ip是我安裝了tftp-hpa 的 Linux 主機(jī)。請(qǐng)注意,kernel_img必須引用 TFTP 服務(wù)器可達(dá)的路徑。因?yàn)槲覜]有使用服務(wù)器--secure標(biāo)志,所以路徑是絕對(duì)路徑。否則,它必須相對(duì)于 TFTP 服務(wù)器的根目錄。
現(xiàn)在,我們需要告訴 Genode 的構(gòu)建系統(tǒng)填充 TFTP 目錄。這是通過將以下行插入build.conf 來完成的:
RUN_OPT_zybo = --include image/uboot RUN_OPT_zybo += --include load/tftp RUN_OPT_zybo += --load-tftp-base-dir /srv/tftp/usrp RUN_OPT_zybo += --load-tftp-absolute RUN_OPT_zybo += --include log/serial RUN_OPT_zybo += --log-serial-cmd "picocom -b 115200 /dev/ttyUSB1" BOARD_RUN_OPT(zynq_zybo_z7) = $(RUN_OPT_zybo)
請(qǐng)注意,這還會(huì)告訴構(gòu)建系統(tǒng)自動(dòng)連接到串行控制臺(tái)。因此,我們可以運(yùn)行需要主機(jī)系統(tǒng)評(píng)估日志輸出的測(cè)試場(chǎng)景,例如run/timer_accuracy:
~/genode$ make -C build/arm_v7a run/timer_accuracy
一旦出現(xiàn)“Terminal ready”,我們就可以點(diǎn)擊 Zybo 板的重置按鈕。如果一切設(shè)置正確,我們應(yīng)該看到如下輸出:
[init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] [init -> test-timer_accuracy] Good: round 1, host measured 1000 ms, test measured 1007 ms Good: round 2, host measured 2000 ms, test measured 2228 ms Good: round 3, host measured 3000 ms, test measured 2764 ms Good: round 4, host measured 4000 ms, test measured 4003 ms Good: round 5, host measured 5000 ms, test measured 5007 ms Good: round 6, host measured 6000 ms, test measured 6002 ms Good: round 7, host measured 7000 ms, test measured 6995 ms Good: round 8, host measured 8000 ms, test measured 8001 ms Good: round 9, host measured 9000 ms, test measured 8993 ms
恭喜,您已經(jīng)成功地為 Zybo Z7 開發(fā)板設(shè)置了 Genode。
?
- 使用Genode控制Zybo Z7 GPIO - 第2/2部分
- Zybo Z7-20上的汽車檢測(cè)系統(tǒng)
- 使用Genode控制Zybo Z7 GPIO
- Eclypse Z7上的Zmod ADC和DAC:正弦波環(huán)回
- 嵌入式操作系統(tǒng)FreeRTOS的原理與移植實(shí)現(xiàn)
- 嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS在ARM7上移植實(shí)現(xiàn)
- 嵌入式操作系統(tǒng)FreeRTOS的原理實(shí)現(xiàn)
- STEP7與Windows操作系統(tǒng)的兼容性 6次下載
- 單片機(jī)編程和操作系統(tǒng)綜述 40次下載
- 如何實(shí)現(xiàn)一個(gè)微內(nèi)核操作系統(tǒng)的設(shè)計(jì) 28次下載
- 如何使用物聯(lián)網(wǎng)操作系統(tǒng)Zephyr實(shí)現(xiàn)“連續(xù)集成”開源軟件的詳細(xì)說明
- Linux操作系統(tǒng)下C語言編程入門.pdf 95次下載
- RTOS操作系統(tǒng) 0次下載
- Linux操作系統(tǒng)原理及應(yīng)用 0次下載
- 操作系統(tǒng)技巧使用大全
- 深度解析全球操作系統(tǒng)格局 675次閱讀
- 詳解實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng) 3520次閱讀
- 基于pSoSystem操作系統(tǒng)實(shí)現(xiàn)通用網(wǎng)絡(luò)代碼框架的設(shè)計(jì) 1986次閱讀
- 基于Linux等不同操作系統(tǒng)實(shí)現(xiàn)異構(gòu)系統(tǒng)的設(shè)計(jì) 2537次閱讀
- digilentPcam 5C開發(fā)板的成像模塊介紹 2532次閱讀
- digilent Zynq-7000 ARM/FPGA SoC開發(fā)板介紹 2046次閱讀
- digilentZynq-7000 ARM/FPGA SoC開發(fā)板介紹 2723次閱讀
- 基于嵌入式Linux網(wǎng)絡(luò)計(jì)算機(jī)的操作系統(tǒng)的實(shí)現(xiàn)方法淺析 819次閱讀
- 對(duì)實(shí)時(shí)操作系統(tǒng)特性的討論 5039次閱讀
- Zybo Z7上OpenCV和SDSoC的結(jié)合 1875次閱讀
- 嵌入式操作系統(tǒng)是什么_嵌入式操作系統(tǒng)有哪些 2w次閱讀
- 如何設(shè)計(jì)一個(gè)小型嵌入式操作系統(tǒng) 9351次閱讀
- 簡(jiǎn)要介紹了操作系統(tǒng)虛擬化的概念,以及實(shí)現(xiàn)操作系統(tǒng)虛擬化的技術(shù) 1.3w次閱讀
- 基于FreeRTOS的嵌入式實(shí)時(shí)操作系統(tǒng)的原理和實(shí)現(xiàn) 6562次閱讀
- Zybo全棧開發(fā)入門教程(基于Linux嵌入式系統(tǒng)):10個(gè)步驟自定義IP模塊 3696次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多