ARM 使用環境之經驗記錄
曾慶潭 Ching-Tang Tseng
ilikeforth@gmail.com
Hamilton, New Zealand
2 June 2025
通常,我在試用 Forth 系統之發展末期,大約都是以能夠發展出數學函數的繪圖功能才告一段落。這次改到 ARM 使用環境之發展亦然,在我實現舊有的題材產生出同樣結果後,發展可以告一段落了。
前文曾經強調過,我的 ARM 發展環境就是 Raspberry pi3 與 pi4 ,以下就簡稱 pi3, pi4 。發展的過程中有許多經驗應該記錄下來,以防日後再使用它們又出問題時會是重蹈覆徹。
這種單板電腦套件(kit)沒有裝設電源開關,由於發展過程中時常要面對當機問題,我不得不為使用裝置添加開關。紐西蘭的壁上插座都附有開關,要讓電腦能夠跑得起來時,需要至少兩個電源插孔,為此,我刻意另外購用每個插孔均帶有個別開關的延長線插座,兩套單板電腦就買了兩條。使用的螢幕必須具有 HDMI 接頭,我有兩個這種螢幕,都是廉價回收品。一個是單純的電腦專用螢幕,另一個是帶有 HDMI 接頭的小電視。長期使用後發現,不宜將兩條電源線只透過單一個開關來控制供電,因為我發現僅由單一個開關送電時,開關會跳出火花,這就表示開關的接點在每次送電時,表面都被電擊燒過一次,開關遲早都會被燒毀,不應該這樣使用電器。螢幕與單板電腦各自使用一個電源開關時,開關就不跳火花了,以後注意,必須這樣使用。
這兩套電腦都不是很正規的日用電腦, pi3 甚至於不太適合安裝視窗作業系統,滑鼠常常跟不上響應是其最大的問題。早在 2012 年就已存在的 pi3 ,已經十幾年了,性能雖不頂好,還是能做一些事情的。東西在我這裡放了許多年,現在跑起來也沒有什麼問題。隨著時日的演進,它所需要的靜態硬碟(SD),以性價比考量,目前採用 64GB 的 MicroSD 最為恰當。舊的 32GB 之 MicroSD 不用淘汰,因為這套系統要與外界進行資料傳送時,還沒有很適合的網上軟體可供採用,只宜使用 USB 來傳送,所以舊東西就還有用處,而且比較好用,因為容量不大,資料不多時,視窗作業系統連通 USB 就比較不耗時間,也才能夠及時反應出可存取的狀態。一個裝滿資料的外加硬碟,裡面可能有幾十萬甚至於幾百萬個檔案,pi3 為了掃描整個硬碟的資料夾,所耗時間將形同已經當機。這種現象可以從 pi3 後面的兩個指示燈看得出來,紅燈亮時僅表示已經供電,綠燈亮時表示系統正在執行程式。
長久以來,我在三套作業系統 Windows', MacOS, Linux 之間傳遞資料時,都已改採透過網路直接傳送與接收的方式進行,所用軟體叫做 croc ,它用起來很方便,無論多少 個 GB 的影音圖字碼都能傳送,基本作法就是透過 GitHub 做中間緩衝環境,只要你不在乎所傳資料會被盜取,那就儘管使用 croc 來傳檔案資料,USB 就都免用了。使用 croc 的細節不是我想討論的題材,怎麼安裝?怎麼用?用時有何細節必須注意?我就不在此處討論。但是,我已試過了, pi3 沒得安裝, pi4 可以安裝,使用時卻以安全問題為由而不能用,我暫時尚未試出可用結果。所以,在 ARM 使用環境內,我仍使用硬體 USB 傳送資料。
為電腦裝上作業系統,都已採用將影像檔(.img)直接展開至 MicroSD 的方式進行,在什麼網頁可以取得那一種作業系統?不是我該在這裡介紹的題材,我只能強調我為 pi3 裝的是 Ubuntu mate 20.04,而為 pi4 裝的是 Debian 。安裝過程很簡單、也很快。只有兩件事情需要對答回應,一是時區的選用,二是設定 WiFi 的網通密碼。中文輸入法是否加裝?在安裝系統初期可以不用考慮。而且,我在安裝 pi3 時發現,加裝中文輸入界面後,滑鼠又變得慢到不可理喻的程度了,而加裝這方面的軟體,裝後不能刪除,牽涉太廣,出問題時,我改採重裝系統的方式解決問題,耗時最少。
裝好了基礎作業系統,才能發展軟體,我花了不少時間為 ciForth 延伸出 abcForth 的功能,這樣我便能大肆測試整個系統的性能。本網頁在 2 January 2025 貼出之『天下為公』一文,附貼了一份很好的多重語言互助互榮,完成數學函數繪圖的成果。這裡再次借用這份程式,同時展示在三套不同之 Linux 環境完成同一工作的成果。在桌機上的 Ubuntu 20.04 是直接完成所有工作的。在 pi3 上基於 ARM 設計的 ciForth,不能再以一次操作完成所有工作,問題出在下列這一列指令中的 -c 之工作內容會出現例外訊息
$ ./l -c datagen.f > data.txt
ciForth 在將數據寫入 data.txt 資料檔案時,出現的多餘訊息全進入了檔案頂部,我暫時也不熟悉如何修正這個問題,只好改採以人工操作滑鼠的方式刪除訊息,剩下的程式就都能執行了。三個系統的成果圖與文字操作畫面的記錄同時展示於此,供作比對之用。程式內容請回頭看『天下為公』一文,展示的效果表示,我為 ARM 環境發展的 abcForth 已經完成。
我在 pi4 的 Debian 作業環境中想要對畫面進行硬拷貝擷圖時出現困難,因為系統不提供像 Ubuntu 那樣,可以直接壓下 print screen 鍵就獲得整個螢幕畫面的能力,於是加裝了 Kazam 軟體,透過它來實現要求。
想要系統能做許多事情,加裝軟體是免不了的要求,這方面需求,因人而異,但不是我該談的主題,要談,題目也很大。
要區別那一張圖代表是在那一個作業系統內完成的?請看螢幕桌面的背景畫面就能區別。
20250519 的小作文
研發電腦技術的精神總是出現在半夜兩三點
這一段時日,我一直在設法適應 ARM CPU 的發展環境,生活有點像回到五十年前剛接觸個人電腦的日子那樣,半夜三更老是還在搞電腦。
年輕時是怕家人打擾,研究無法持續,所以選在夜晚磨練技術。但那時年輕力壯,身體很好,少睡幾小時還受得了,可以造就出後來的技能。
現在不能再這樣糟蹋身體,也沒有必要,可以就在白天自由自在的搞電腦。想半夜搞電腦,只宜顛倒作業,改靠調整睡覺時間來面對。
昨晚,我改在半夜兩點起床,搞 Raspberry pi3 名片型單板電腦的軟體加裝。它是個麻雀雖小五臟俱全的小東西,前曾被英國政府採用為兒童電腦教育專用裝備,號稱生產價格只需五美金,市售價低於 35 元。目前的版本已經進展到 pi5 ,速度與容量已與慣用電腦相當,已成歐盟國家用來抗拒美國產品的利器。
因為白天家人要用網路,這種還靠 WiFi 傳輸訊息的弱小裝備,競爭不過普通電腦訊號比較強大的裝備。因此,我長期試用過後,發現它很容易當機,原因就是處理無線電信號的能力不如別人。昨晚我八點就早睡了,刻意在半夜兩點起床,開啟 pi3 ,獨佔 WiFi,進行加裝應用軟體的操作,一試之下,果真見到了效果。凡是容量上百個 MB 的應用軟體,都能加裝成功,顯示了我的判斷沒有錯。這就是搞電腦搞到半夜三更的效果,理由仍是避免被外部打擾,靜下心來耐心發展,就能成功。
這種使用 ARM cpu 設計出來的產品,都只使用免費的 Linux 公益作業系統運作,它的使用特色就是輕鬆裝好全裸系統,然後只靠每次只打一列字的方式加裝應用軟體。如下列:
$ sudo apt install [app name]
多年來的使用經驗告訴我,大約需要加裝 30 幾套應用軟體後,才能擁有一個令我滿意的使用環境。有幾個比較大型的應用軟體都需要佔用幾百個 MB 。白天裝過幾次沒有成功之後,我痛下決心,重溫年少時的心情,再度發揮夜研精神,一下功夫,就立刻得到了結果。
今晨裝好的軟體是像小畫家那樣的工具軟體 Kolourpaint ,佔用一百多個 MB ,還有好幾個都是,半夜裝成後,我才睡回鍋覺。
今晨因此而培育出、獲得了這種電腦之新的使用經驗。東西的性能不是不好,只是運轉能力較弱,耐心應對,都能發揮效果。
沒有留言:
張貼留言