新唐NuMaker Tomato ARM9重裝上陣
ARM產(chǎn)品現(xiàn)在最火熱的是什么?當(dāng)然是Arm-Cortex A和M系列了,Arm-Cortex之前的ARM9和ARM11現(xiàn)在已漸趨式微,許多人已將之比做明日黃花!特別是近日盛傳的在驍龍?zhí)幚砥魃吓躓indows 10的事情,更是將基于ARM架構(gòu)的處理器推上新一輪的高度,RISC與CISC之爭已有愈演愈烈的態(tài)勢!
這個時候再來說ARM9,是不是有點尷尬。新唐NuMaker Tomato表示有話要說。
NuMaker Tomato是新唐科技新近推出的開發(fā)板,核心搭配新唐32位ARM926EJ-S NUC976DK62Y處理器,使用Linux作為操作系統(tǒng),適合各種物聯(lián)網(wǎng)應(yīng)用,也可作為物聯(lián)網(wǎng)網(wǎng)關(guān)來使用。
讓我們從開箱開始。
NuMaker Tomato產(chǎn)品包裝盒如圖,同大多數(shù)開發(fā)板一樣,包裝盒上印制了產(chǎn)品的型號及廠商LOGO,NUVOTON的中文論壇叫牛臥堂,關(guān)于NUVOTON的名稱由來,官方如是解釋:
新唐科技(Nuvoton Technology Corporation)的英文名:Nuvoton 是「Nuvo」與「Ton」兩個字的組合!窷uvo」在法文發(fā)音中與新(Nouveau)發(fā)音相近;「Ton」在英文發(fā)音中與唐朝的唐(Tang)發(fā)音相近,而唐朝為中國史上最興盛的朝代之一,唐朝在國際文化交流、經(jīng)濟(jì)貿(mào)易、科技創(chuàng)新上皆有輝煌的成就,使它成為世界的中心。新唐科技將秉持卓越發(fā)展之創(chuàng)新精神、緊密結(jié)合之客戶關(guān)系,以及匯集凝聚全球人才,致力于實踐新唐愿景 — Joy of innovation,同時也象征了新唐科技欲在IC產(chǎn)業(yè)開創(chuàng)全新大唐盛世的精神。
打開包裝盒,里面是使用了防震泡沫嚴(yán)嚴(yán)實實包裹的開發(fā)板,有效防止運輸過程中各種磕碰對產(chǎn)品帶來的意外損壞,比較體貼客戶。
取出來的TOMATO,開發(fā)板上的中央是CPU,其它外設(shè)如ETH、USB、ARDUINO UNO兼容接口、耳機(jī)接口、SD卡、按鍵等均勻分布在開發(fā)板的四周,整體結(jié)構(gòu)布局合理,雖然集成了諸多的接口,但是并不顯臃腫。
基于ARM開發(fā)板推薦:
- FRDM-KV31 MCU開發(fā)平臺 一款基于Cortex-M4+處理器用于永磁無刷直流電機(jī)控制專為各種BLDC、PMSM和ACIM電機(jī)控制以及數(shù)字電源轉(zhuǎn)換應(yīng)用而設(shè)計的新一代微控制器。
- XMC47 開發(fā)套件 一款基于 ARM Cortex-M4 處理器內(nèi)核的 XMC4000 微控制器系列適用于工業(yè)連接、工業(yè)控制、功率轉(zhuǎn)換、檢測等方向。
- WIZnet W7500評估板 一款基于Cortex-M0內(nèi)核適用于各種嵌入式應(yīng)用平臺,尤其是物聯(lián)網(wǎng)的單芯片解決方案。
基板使用的是紅色調(diào),似乎這是NUVOTON比較喜歡的色彩,如最新的NuMaker UNO也使用了相同的風(fēng)格,另外為了美觀,文字絲印使用白色標(biāo)注,結(jié)合黃色的排針,綠色的按鍵,整體感覺舒適,科技也不再只是冰冷。
下面再上幾張?zhí)貙懀责嫺魑弧?/p>
從左至右依次是耳機(jī)、MIC及SD卡
從左至右依次是ETH、USB HOST、UART/PWR
ARDUINO UNO R3兼容接口、按鍵及其它引出的GPIO排針接口
開發(fā)板的名字叫NuMaker Tomato,曾幾何時,以水果命名產(chǎn)品似乎也成了一種時尚!我聽人稱蘋果手機(jī)叫水果機(jī),樹莓派也是水果,然后有香蕉派、還有桔子派,現(xiàn)在新唐直接取名叫TOMATO,我預(yù)計啊,以后可能會有POTATO、ONION之類的出來,且讓我們拭目以待!
NuMaker Tomato核心搭配新唐32位ARM926EJ-S NUC976DK62Y 處理器,運行頻率可達(dá)300 MHz,內(nèi)建64MB DDR2 RAM,搭配新唐 NAU8822 Audio Codec,特別適合用于音訊處理;提供完整豐富的接口,包含10/100Mbps以太網(wǎng)絡(luò)接口、Micro SD 卡槽、麥克風(fēng)輸入、3.5mm耳機(jī)接頭、支持兩組USB 2.0高速Host,以及Arduino兼容的接腳等。Tomato 非常適合創(chuàng)客創(chuàng)作各種物聯(lián)網(wǎng)應(yīng)用。開發(fā)板布局及各主要部件標(biāo)注如下
聯(lián)網(wǎng)部分,無論是透過有線網(wǎng)絡(luò)或透過USB dongle連接無線網(wǎng)絡(luò)(Wi-Fi),以及使用內(nèi)建SPI/I2C等標(biāo)準(zhǔn)接口連接各類無線傳輸模塊,Tomato都能夠做到輕松聯(lián)網(wǎng),也因此特別適合物聯(lián)網(wǎng)相關(guān)之應(yīng)用,例如:物聯(lián)網(wǎng)的Gateway、router/小型server、智能家居、安防系統(tǒng)與云端音樂盒等。
軟件方面,Tomato采用Linux 操作系統(tǒng),具大量開放源代碼可供用戶下載使用。系統(tǒng)上電時,Tomato預(yù)先加載uBoot,可將Linux Kernel加載于DDR內(nèi)執(zhí)行,亦支持Python解釋器,使用者不須通過編譯程序即可輕松撰寫程序。
NUC976DK62Y微處理器基于ARM926EJ-S,最高頻率可達(dá)300MHz,是新唐NUC900系列CPU中的高性能代表產(chǎn)品
NUC900系列采用ARM®的ARM926EJ-S核心,內(nèi)建8KB I-Cache/D-Cache并且提供豐富的外設(shè)接口,例如:Ethernet MAC、LCD Controller、2D Graphics Acceleration Controller、以及High-Speed USB 2.0 Controller等功能,以符合客戶高效能應(yīng)用的需求。該系列MCU主要針對人機(jī)接口、電梯顯示控制器、跑步機(jī)控制接口、指紋考勤機(jī)、網(wǎng)絡(luò)攝影機(jī)等方面的應(yīng)用。
基于ARM開發(fā)板推薦:
- FRDM-KV31 MCU開發(fā)平臺 一款基于Cortex-M4+處理器用于永磁無刷直流電機(jī)控制專為各種BLDC、PMSM和ACIM電機(jī)控制以及數(shù)字電源轉(zhuǎn)換應(yīng)用而設(shè)計的新一代微控制器。
- XMC47 開發(fā)套件 一款基于 ARM Cortex-M4 處理器內(nèi)核的 XMC4000 微控制器系列適用于工業(yè)連接、工業(yè)控制、功率轉(zhuǎn)換、檢測等方向。
- WIZnet W7500評估板 一款基于Cortex-M0內(nèi)核適用于各種嵌入式應(yīng)用平臺,尤其是物聯(lián)網(wǎng)的單芯片解決方案。
NuMaker Tomato沒有內(nèi)置的FLASH存儲器,要體驗開發(fā)板的功能,需要將官方提供的Linux系統(tǒng)寫入一張Micro SD卡上,插入到開發(fā)板的SD卡槽中,uBoot會讀取SD卡中的系統(tǒng)映像,加載到內(nèi)存中實現(xiàn)啟動。
準(zhǔn)備一張空白Micro SD存儲卡,格式化為FAT32格式,官方提供的Linux系統(tǒng)是一個ZIP格式的壓縮包,解包后直接將內(nèi)容復(fù)制到SD卡上就制作好了一張系統(tǒng)啟動SD卡。SD卡上的內(nèi)容如下
里面包含了啟動映像及啟動腳本,其中starter.sh里面包含了系統(tǒng)啟動過程中的一些設(shè)置,如WIFI的啟動,PYTHON環(huán)境的準(zhǔn)備等,詳細(xì)情況可以參考源文件。
將制作好的SD卡插入SD卡槽中,按如下方式連接好開發(fā)板,USB的另一端連接到PC端,一方面可以給開發(fā)板供電,另外也可以通過Serial來訪問開發(fā)板。
NuMaker Tomato沒有提供顯示接口,所以只能通過SSH或Serial的方式來管理及運行程序。首次上電,網(wǎng)絡(luò)并沒有配置好,所以只能通過Serial來進(jìn)行設(shè)置,確保板載調(diào)試器的CDC驅(qū)動安裝正常,在WINDOWS的設(shè)備管理器里能找到相關(guān)的串口設(shè)備名稱,在我的機(jī)器上為COM7,然后使用PUTTY并做如下配置
給開發(fā)板上電,終端窗口會出現(xiàn)設(shè)備啟動時的信息,如下
基于ARM開發(fā)板推薦:
- FRDM-KV31 MCU開發(fā)平臺 一款基于Cortex-M4+處理器用于永磁無刷直流電機(jī)控制專為各種BLDC、PMSM和ACIM電機(jī)控制以及數(shù)字電源轉(zhuǎn)換應(yīng)用而設(shè)計的新一代微控制器。
- XMC47 開發(fā)套件 一款基于 ARM Cortex-M4 處理器內(nèi)核的 XMC4000 微控制器系列適用于工業(yè)連接、工業(yè)控制、功率轉(zhuǎn)換、檢測等方向。
- WIZnet W7500評估板 一款基于Cortex-M0內(nèi)核適用于各種嵌入式應(yīng)用平臺,尤其是物聯(lián)網(wǎng)的單芯片解決方案。
NuMaker Tomato的LINUX系統(tǒng)是一個精簡版的系統(tǒng),實際上就是一個busybox,busybox被譽(yù)為是嵌入式LINUX系統(tǒng)中的瑞士軍刀,體積相當(dāng)小巧,但是保留了LINUX系統(tǒng)的大部分功能,從上面的啟動畫面可以看到busybox的版本是1.22.1。
接下來要配置網(wǎng)絡(luò),將開發(fā)板連接到路由器,使用DHCP方式獲取IP地址
Busybox提供了DHCP獲取程序udhcpc,可以借由DHCP方式從DHCP服務(wù)器自動獲取IP地址,上圖就是通過DHCP的方式自動獲取到的IP,不過官方的配置沒有將這個命令加入到自啟動文件中,可以自行將這一命令添加到starter.sh腳本中,實現(xiàn)開機(jī)自動獲取IP地址。
在starter.sh中添加了udhcpc命令后,重新啟動系統(tǒng),會在開機(jī)畫面中看到相應(yīng)的DHCP獲取信息,如下圖
Busybox中許多組件都沒有提供,比如開發(fā)者常用的gcc套件就不包含在內(nèi),官方為NuMaker Tomato提供了必要的Python移植,可以使用Python來完成諸多的開發(fā)及體驗工作,另外隨之提供的還有開發(fā)板的外設(shè)庫,與NuMaker Tomato相關(guān)的Python庫都位于SD卡的nvtPythonLibrary目錄下,包含了adc, gpio, pwm及spi等外設(shè)庫,可以直接調(diào)用這些庫來實現(xiàn)特定的功能,免去了使用GCC來進(jìn)行交叉編譯的麻煩。
下面是一個LED及按鍵演示的python程序,
#!/usr/bin/env python2
import sys
import warnings
import time
import gpio as GPIO
# set LED PIN number
LED2_PIN = 10
LED3_PIN = 39
SW3_PIN = 9
# use Tomato v1 GPIO pins
GPIO.setmode(GPIO.TOMATOV1_BOARD)
# configure LED pin to output
GPIO.setup(LED2_PIN, GPIO.OUT)
GPIO.setup(LED3_PIN, GPIO.OUT)
GPIO.setup(SW3_PIN, GPIO.IN)
while (1):
# LED2 ON
GPIO.output(LED2_PIN, GPIO.LOW)
# LED3 OFF
GPIO.output(LED3_PIN, GPIO.HIGH)
while GPIO.input(SW3_PIN)!=0:
pass
print "SW3 key Low"
# LED2 OFF
GPIO.output(LED3_PIN, GPIO.LOW)
# LED3 ON
GPIO.output(LED2_PIN, GPIO.HIGH)
while GPIO.input(SW3_PIN)!=0:
pass
# exit
GPIO.cleanup(LED2_PIN)
GPIO.cleanup(LED3_PIN)
使用python運行這段代碼,只要按下開發(fā)板上的用戶按鍵,LED3就會點亮,同時控制臺上出現(xiàn)“SW3 key Low”提示信息,表明用戶按鍵已按下。
不過busybox中SSH Server暫未集成,如果需要使用SSH方式來登錄到開發(fā)板進(jìn)行管理的話,需要重新編譯一個叫dropbear的組件,busybox官方提供的Tiny Utilities中提供了該組件的源碼,該組件體積大約100KB,也沒有依賴組件需要安裝,唯一的缺陷是需要重新編譯以適合在目標(biāo)板上運行,這個過程是需要使用交叉編譯的,有興趣的朋友不妨自己編譯一個。
另一個值得一提的是官方的啟動映像中還包括了對mplayer的移植,可以直接用來播放音樂。Mplayer是一個功能非常強(qiáng)大的媒體播放軟件,支持豐富的媒體格式,控制功能也非常強(qiáng)大,準(zhǔn)備一首MP3歌曲拷貝到SD卡的根目錄,使用mplayer播放效果如下
音頻解碼使用ffmpeg實現(xiàn),AO功能使用OSS驅(qū)動。使用耳機(jī)可以聽到播放的音樂,播放過程流暢,沒有卡滯情況發(fā)生,只是mplayer的播放控制似乎失靈了,比如音量控制不能調(diào)整,其它情況都還比較正常。
作為一款開源產(chǎn)品,NuMaker Tomato也提供了硬件設(shè)計的原理圖,用戶在使用硬件時可能需要參考外設(shè)與硬件的連接方式以及具體用到的PIN,另外用戶如果需要將NUC976DK62Y微處理器應(yīng)用到自己的設(shè)計中,可以直接參考官方原理圖來進(jìn)行設(shè)計,省去了重新閱讀數(shù)據(jù)手冊的麻煩。
總結(jié)來說,NuMaker Tomato算是一款優(yōu)秀的產(chǎn)品。雖則在各大水果家族中,TOMATO的硬件配置不算出彩,考慮到官方對NuMaker Tomato的定位目標(biāo)來說,性能算是足夠:畢竟對于一款主打音頻播放及物聯(lián)網(wǎng)網(wǎng)關(guān)的產(chǎn)品來說,300MHz的主頻還是可以勝任的。開發(fā)板集成的外設(shè)比較豐富,網(wǎng)絡(luò)及USB接口,加上耳機(jī)及MIC等接口,也算是ARM9的一次逆襲,曾經(jīng)的王者再度重裝上陣。略為不足之處是基于busybox的LINUX系統(tǒng),畢竟在busybox下,linux的完整功能不能得到體現(xiàn)。如果需要體驗更高端的應(yīng)用,對用戶或者設(shè)計人員來說,提出了更高的挑戰(zhàn)。比如SSH功能的集成,交叉編譯都需要花費更多的精力及時間。實際上現(xiàn)在單純基于busybox的系統(tǒng)相對來說比較少了,Yocto似乎是另一個更好的選擇!
參考資源:
基于ARM開發(fā)板推薦:
- FRDM-KV31 MCU開發(fā)平臺 一款基于Cortex-M4+處理器用于永磁無刷直流電機(jī)控制專為各種BLDC、PMSM和ACIM電機(jī)控制以及數(shù)字電源轉(zhuǎn)換應(yīng)用而設(shè)計的新一代微控制器。
- XMC47 開發(fā)套件 一款基于 ARM Cortex-M4 處理器內(nèi)核的 XMC4000 微控制器系列適用于工業(yè)連接、工業(yè)控制、功率轉(zhuǎn)換、檢測等方向。
- WIZnet W7500評估板 一款基于Cortex-M0內(nèi)核適用于各種嵌入式應(yīng)用平臺,尤其是物聯(lián)網(wǎng)的單芯片解決方案。
編輯:admin 最后修改時間:2021-07-15