最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Zeal8bit操作系統(tǒng)Build & Run(基于Windows)

2023-09-10 18:16 作者:timfang1990  | 我要投稿

基于Windowns build Zeal8bit操作系統(tǒng) OS,并在Web Emulator上成功運(yùn)行,拼齊了三大操作系統(tǒng)的上Build & Run的最后一塊版圖, 給想動(dòng)手嘗試一下,并且主力工作操作系統(tǒng)為Windows的同學(xué)們分享下~

0. 前言

距離上一次發(fā)文章已經(jīng)過去兩個(gè)多月了,這兩個(gè)月除了忙于工作和家庭之外,一有時(shí)間就投身于ZOS移植到自制RV32平臺(tái)的事情上。這個(gè)事情工作量相對(duì)我來說還是有點(diǎn)大并且時(shí)間周期有點(diǎn)長(zhǎng)。雖然時(shí)間周期拖的有點(diǎn)長(zhǎng),但是進(jìn)展很大,應(yīng)用程序已經(jīng)能夠通過syscall正確訪問到內(nèi)核了。ZOS的操作流程也基本摸清楚了,并且通過這次移植過程,自己的操作系統(tǒng)的知識(shí)積累也上了一個(gè)臺(tái)階。等第一版跑通流程的demo出來后再更新詳細(xì)的移植技術(shù)細(xì)節(jié)文章出來。如果有可能,發(fā)布一個(gè)視頻出來也在考慮范圍內(nèi)。 不過在這之前,不更新點(diǎn)狀態(tài)好像說不過去。那就接著更新下ZOS 8bit在Windows操作系統(tǒng)的build和在Web Emulator中運(yùn)行的步驟吧,這樣在3大操作系統(tǒng)的操作步驟總算是齊活了。 在Windows操作系統(tǒng)中的操作,總體上遇到的問題不多,但是每個(gè)都是有難度的。在Mac OS和Ubuntu上基本build過了,Run起來就沒有問題,但是在Windows下,即使build成功了,Run起來就遇到問題了:加載過程完成不了,并且運(yùn)行畫面閃爍等。 下面就分享下如何在Windows建立一個(gè)build環(huán)境以及debug的細(xì)節(jié)信息。 1. 環(huán)境及所需工具

Windows 10及以上(本機(jī)版本:Windows 10 專業(yè)版19044.3086)

Python 3及PIP3 Windows版

z88dk-win32-2.2.zip

mingw(Windows make命令及gcc支持工具)

git工具安裝

2. 工具安裝

Python3的安裝

具體安裝過程網(wǎng)上一搜一大堆,我這邊還是不寫了。需要注意的是,在安裝完成后如果沒有自動(dòng)添加環(huán)境變量,那么需要按照如下的步驟手動(dòng)添加環(huán)境變量 右鍵“此電腦”->“屬性”->“高級(jí)系統(tǒng)設(shè)置”->“環(huán)境變量”->“系統(tǒng)變量”, 雙擊“Path”,添加Python3安裝目錄的完整路徑。

然后打開Windows PowerShell,用which命令看到python和pip3的完整路徑就代表著python軟件安裝成功并可以用命令行操作了。

Windows make命令及gcc支持工具mingw平臺(tái)安裝

這部分我有CSDN文章詳細(xì)介紹:https://blog.csdn.net/weixin_46687727/article/details/129431352

z88dk系列Windows工具下載安裝

z88dk的下載地址還是這里:https://kgithub.com/z88dk/z88dk/releases,選擇z88dk-win32-2.2.zip,如果嫌下載速度慢可以私我,我給你個(gè)百度網(wǎng)盤地址。 安裝方法采用的依然是綠色安裝+自定義設(shè)置系統(tǒng)path,方便命令行調(diào)用:先把下載好的壓縮包解壓到一個(gè)特定目錄,比如我這邊解壓到目錄:C:\Users\Administrator\Documents\GitProject\ZealOS\z88dk 然后同上述Python3工具和mingw工具安裝步驟中提到的手動(dòng)設(shè)置環(huán)境path的方法一樣,右鍵“此電腦”->“屬性”->“高級(jí)系統(tǒng)設(shè)置”->“環(huán)境變量”->“系統(tǒng)變量”, 雙擊“Path”,添加z88dk工具安裝目錄的完整路徑,如下圖所示:

git工具安裝

因?yàn)閃indows平臺(tái)不像Mac OS和Linux自帶git工具,Windows下的git工具需要手動(dòng)安裝,安裝過程按著操作步驟一步步操作即可,最后記得查看下系統(tǒng)path中有沒有g(shù)it工具目錄,沒有的話按照上述的步驟手動(dòng)添加即可。 git Windows版下載目錄:https://git-scm.com/download/win 3. Image Build

按照2#的步驟安裝好以后,應(yīng)該所有工具都支持在PowerShell中用命令行操作,那么還是老規(guī)矩,先從github上把OS代碼先clone下來: git clone https://kgithub.com/Zeal8bit/Zeal-8-bit-OS.git 獲得Zeal-8-bit-OS目錄,進(jìn)入該目錄下。

Step 1. 下載安裝menuconfig及Makefile預(yù)處理

根據(jù)之前在Ubuntu/Mac OS下的操作經(jīng)驗(yàn),先用pip3 install kconfiglib。但是Windows平臺(tái)畢竟不像前面兩者的類unix平臺(tái)直接安裝就行,Windows平臺(tái)安裝kconfiglib需要安裝一系列的可執(zhí)行文件,按照提示走即可,最終安裝完成的kconfiglib所需所有的可執(zhí)行文件如下圖所示:

Step2 執(zhí)行make menuconfig,配置os.conf文件

在PowerShell中進(jìn)入到Zeal-8-bit-OS目錄下,執(zhí)行make menuconfig,按esc鍵,保存默認(rèn)配置文件os.conf。

Step3 修改Top目錄Makefile中的menuconfig中的路徑

Windows平臺(tái)下的menuconfig直接啟動(dòng)剛才安裝的menuconfig.exe即可,而不需要像Mac OS和Linux那樣通過python啟動(dòng)腳本。 更改Zeal-8-bit-OS目錄下Makefile第144行的“$(PYTHON) $(shell $(PYTHON) -m site --user-base)/bin/menuconfig”為 “@C:\Python\Python310\Scripts\menuconfig.exe”

Step4 修改romdisk目錄Makefile中的bin生成路徑

和Mac OS, Linux目錄下的z88dk-z80編譯工具一樣的問題,編譯生成的bin文件在build/build下,因此修改方法也是一樣,按照下圖修改romdisk目錄下Makefile的第25行和29行的build目錄。

Step5 修改pack.c文件的打開屬性

這個(gè)是Windows操作系統(tǒng)下的新問題,這個(gè)問題就是造成在Windows平臺(tái),最終程序編譯成功,運(yùn)行失敗的根源所在。 先說解決方法:修改pack.c文件的第96行和第139行,在open的屬性參數(shù)中添加“O_BINARY”,使得pack程序以純二進(jìn)制的方式讀寫文件。

再解釋下問題的根源,不一定對(duì),有大佬需要糾正的話歡迎在評(píng)論區(qū)留言: Windows平臺(tái)下的回車換行符是兩個(gè)字符:0x0D 0x0A。如果以默認(rèn)的字符屬性讀寫文件,系統(tǒng)見到單獨(dú)0x0D字符而沒見到0x0A字符,會(huì)認(rèn)為字符輸入輸出異常,從而造成讀寫異常,在我這邊遇到的問題就是0x0D之后的所有字符丟失,導(dǎo)致編譯生成的bin文件不完整造成載入到Web Emulator中運(yùn)行異常,前面遇到的程序初始化加載過程異常,屏幕閃爍就是這個(gè)問題造成的。 而類Unix系統(tǒng)中(Linux和Mac OS),由于回車換行字符對(duì)應(yīng)的僅僅時(shí)回車符0x0D,因此,即使按照默認(rèn)字符屬性讀寫文件也不會(huì)造成異常。 因此解決方法修改成純二進(jìn)制方式讀寫就能避免對(duì)回車換行符異常判定的問題,看到什么數(shù)據(jù),就以純二進(jìn)制方式寫入生成的bin文件,最終生成和Linux和Mac OS下build生成的文件尺寸大小一樣。 4. Run OS in Web Emulator

修正所有問題后,按照之前文章中運(yùn)行OS img的步驟,加載os_with_romdisk.img后運(yùn)行結(jié)果。

5. 總結(jié)

三大系統(tǒng)的build & Run in Web Emulator的過程圓滿結(jié)束,花樣繁多的坑都獨(dú)立解決了,通過這些鼓搗過程,自己在增加知識(shí)積累的同時(shí),也極大地增強(qiáng)了獨(dú)立解決問題的信心和心得:不要害怕困難,去面對(duì),去搜索,去問ChatGPT,只要思想不滑坡,辦法總比困難多。諸君共勉!

Zeal8bit操作系統(tǒng)Build & Run(基于Windows)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
共和县| 子长县| 菏泽市| 安顺市| 焦作市| 辰溪县| 横山县| 齐齐哈尔市| 襄汾县| 驻马店市| 天门市| 诏安县| 桓台县| 大化| 和静县| 大埔区| 普定县| 西青区| 湖口县| 东乡族自治县| 石林| 商城县| 蒙自县| 德令哈市| 朔州市| 德化县| 云林县| 美姑县| 海林市| 全南县| 遂川县| 金塔县| 安达市| 屏南县| 丹东市| 镇沅| 正阳县| 禄劝| 峨眉山市| 类乌齐县| 武胜县|