一、文檔背景
有一些Cortex-A系列的方案商提供的SDK是基于Linux系統(tǒng)下開發(fā)的,而通過VMware工具搭建Linux的開發(fā)環(huán)境,占用的資源較多。而Cygwin提供了在Windows平臺(tái)上運(yùn)行Linux應(yīng)用程序的環(huán)境,使得開發(fā)者可以在熟悉的Windows環(huán)境中進(jìn)行ARM應(yīng)用的開發(fā),并且Cygwin占用的資源很少,啟動(dòng)速度也非??臁?/p>
二、 解決的問題或者進(jìn)行問題分析
1. 安裝Cygwin
? 下載Cygwin:訪問Cygwin官網(wǎng),下載Cygwin安裝程序。
? 運(yùn)行安裝程序:運(yùn)行下載的setup-x86_64.exe(或相應(yīng)版本)。
? 選擇安裝位置:選擇Cygwin的安裝目錄。
? 選擇要安裝的軟件包:在安裝過程中,選擇必要的開發(fā)工具和庫(kù),如vim、gcc、make等。
2. 實(shí)現(xiàn)Cygwin與Windows系統(tǒng)的文件互傳
3. 安裝ARM交叉編譯工具鏈
4.配置環(huán)境變量
5.編輯示例程序,測(cè)試交叉編譯器
三、 如何在Cygwin上構(gòu)建類Linux的ARM開發(fā)環(huán)境
1. 進(jìn)入Cygwin的官網(wǎng),下載并安裝好Cygwin,如圖3-1所示:

圖3-1
2. 在安裝Cygwin時(shí),選中常用的vim與make工具(默認(rèn)情況會(huì)跳過安裝的),如圖3-2所示:

圖3-2
3. 在Windows 11中創(chuàng)建一個(gè)共享文件夾,比如"Shared_cygwin",如圖3-3所示:

圖3-3
4. 在Cygwin中根目錄下,創(chuàng)建“mntshared_folder”目錄,所圖3-4所示:

圖3-4
5. 通過輸入“ mount -f '\DESKTOP-2UDM8JHShared_cygwin' /mnt/shared_folder/“命令把Windows下的共享目錄”Shared_cygwin“掛載到Cygwin的”/mnt/shared_folder/“目錄下,以后就可以通過Windows下的共享目錄”Shared_cygwin來實(shí)現(xiàn)Windows與Cygwin之間的文件傳輸,如圖3-5所示:

圖3-5
6. 把Windows版本的ARM編譯器復(fù)制到“/home/Peter”目錄下,并創(chuàng)建一個(gè)“Workspace”目錄,如圖3-6所示:(注:Cygwin下無法識(shí)別Linux版本的ARM編譯器)

圖3-6
7. 在Windows系統(tǒng)下設(shè)置好ArmDS的License的環(huán)境變量,如圖3-7所示:

圖3-7
8. 配置一下“/home/Peter”目錄的“.bashrc”文件,添加ARM編譯器的路徑,如圖3-8所示:

圖3-8
9. 運(yùn)行“armcc --vsn”, 驗(yàn)證授權(quán)環(huán)境,沒有錯(cuò)誤,說明授權(quán)環(huán)境沒有問題,如圖3-9所示:

圖3-9
四、驗(yàn)證在Cygwin上構(gòu)建類Linux的ARM開發(fā)環(huán)境
1. 在“Workspace”目錄下創(chuàng)建math目錄,再創(chuàng)建兩個(gè)子目錄:Add與include,并創(chuàng)建對(duì)應(yīng)的源代碼文件,如圖4-1所示:

圖4-1
2. add.c, add.h與main.c與Makefile文件的內(nèi)容如圖4-2所示:

圖4-2
3. Makefile文件的內(nèi)容如圖4-3所示:

圖4-3
4、運(yùn)行make編譯項(xiàng)目,如圖4-4所示:

圖4-4
五、討論分析
1. Cygwin下如何應(yīng)用Windows下VSCode來編輯源代碼與自動(dòng)添加注釋?
答:把共享目錄掛載到Cygwin中,用VSCode打開源代碼 (確保VSCode有自動(dòng)補(bǔ)全代碼功能)進(jìn)行編輯即可以實(shí)現(xiàn)。如圖5-1所示:

圖5-1
六、結(jié)論
1. 可行性:
○ 通過Cygwin,可以在Windows平臺(tái)上成功構(gòu)建一個(gè)類似Linux的開發(fā)環(huán)境,用于ARM交叉編譯和開發(fā)。
2. 開發(fā)體驗(yàn):
○ Cygwin提供了Linux風(fēng)格的命令行工具和環(huán)境,使得開發(fā)者能夠使用熟悉的命令和工作流程,提高開發(fā)效率。
3. 工具鏈集成:
○ Cygwin結(jié)合ARM交叉編譯工具鏈,使得在Windows上進(jìn)行ARM應(yīng)用的開發(fā)成為可能,無需完全依賴于Linux系統(tǒng)。