更新於 2022/05/23閱讀時間約 1 分鐘

談談物聯網(Internet of Things) -- Part. 5

上一篇談的是x86架構的軟體,不過也只是到了作業系統這個階段,這次想來分享的是arm平台的軟體,這裡可能會分成兩個部分,一個是Cortex A架構,另一個是Cortex M架構.
Cortex A的架構會是比較強大的運算平台,其實現在的應用也只在終端,因為已經有些雲端的伺服器採用arm的架構了,而在Cortex A的平台,一樣會有一個起始的部分,我們會稱為Bootloader,而這個部分甚至於包含如何做更新,而Bootloader寫的好壞也會影響系統的可用性,接著就是作業系統,在arm的平台,基本上會是以Linux為主,但是用什麼樣的Kernel或Distribution,大概都會依據晶片的提供商,我們統BSP (Board Support Package),因為BSP有支援的才會有辦法去做開發;除了Linux,現在大家最熟悉的應該就是Android,以往可能只適用在手機,但擴展到平板跟越來越多的應用,由於Android是由Google所提供出來的,會分成有Google Management Services,簡稱GMS,可以想像Android內建了Google Play, Map,......,這些Google的服務,但如果終端要有GMS就需要通過Google的認證,而認證就會有費用,但詳細則不在此說明,如果沒有GMS這樣要如何在Android安裝軟體,這就會聽到一個名詞"Android Application Package, APK",透過這個方式就可以將軟體安裝到沒有GMS的Android終端;那有沒有機會用到Windows呢?應該說有的,在我剛工作時,Windows CE是可以支援arm, x86, MIPS, SHx,這幾個架構,而這也是以前的Windows行動裝置搭載的作業系統核心,因為大家知道的話,在Android出現之前,Windows Mobile/Windows Phone就是用這個作業系統當核心並加入更多智慧手機應用,可是想像這樣跟我們原本在用PC的Windows還是不同喔,近幾年Qualcomm跟微軟合作,所以有一個版本Windows 10, 我們稱為Windows on arm的版本,只是這個版本在市場上應該也不常出現,近期可以看到的大概就是 Microsoft Surface Pro X,基本上這個版本也無法隨便安裝軟體,還是得透過Windows Store來做安裝.
Cortex M的架構,這是一個非常輕量的運算平台,所以可以想像他的系統大概就是幾MB,這如果再PC平台那是多少年前使用的系統大小,不過以Cortex M的應用技術就是簡單地去讓這個設備做數據採集跟傳輸,並且用我們熟悉的電池作為供電,所以基本上他就不會太大,那他的軟體是哪些,Cortex M的作業系統基本上就是RTOS, Real-Time Operation System, 而這些大多都是由晶片提供商給出他的BSP以及開發環境,這樣就可以針對這個設備做開發,所以每一家晶片公司都有自己的設計,但基本上都會基於RTOS,而這個部分在arm也注意到,所以arm提供了mMbed OS,這個部分可以透過arm的線上開發平台,並且通過跟各家晶片或是終端的公司合作,相關的BSP就會在這個線上開發工具提供,也某個程度讓開發的門檻降低.
以上是這次的分享,也在思考是否再深入做分享,但下一次來看看雲平台吧.
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.