電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用 Zybo Z7的Genode 操作系統(tǒng)框架實(shí)現(xiàn)

使用 Zybo Z7的Genode 操作系統(tǒng)框架實(shí)現(xiàn)

2023-06-21 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

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--.tar.xz

請(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。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)