你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> Nuvoton/新唐 >> 新唐NuMaker Tomato ARM9重装上阵

新唐NuMaker Tomato ARM9重装上阵

关键字:开发板 作者: 来源: 发布时间:2021-07-15  浏览:10

ARM产品现在最火热的是什么?当然是Arm-Cortex A和M系列了,Arm-Cortex之前的ARM9和ARM11现在已渐趋式微,许多人已将之比做明日黄花!特别是近日盛传的在骁龙处理器上跑Windows 10的事情,更是将基于ARM架构的处理器推上新一轮的高度,RISC与CISC之争已有愈演愈烈的态势!

这个时候再来说ARM9,是不是有点尴尬。新唐NuMaker Tomato表示有话要说。

NuMaker Tomato是新唐科技新近推出的开发板,核心搭配新唐32位ARM926EJ-S NUC976DK62Y处理器,使用Linux作为操作系统,适合各种物联网应用,也可作为物联网网关来使用。

让我们从开箱开始。

NuMaker Tomato产品包装盒如图,同大多数开发板一样,包装盒上印制了产品的型号及厂商LOGO,NUVOTON的中文论坛叫牛卧堂,关于NUVOTON的名称由来,官方如是解释:

新唐科技(Nuvoton Technology Corporation)的英文名:Nuvoton 是「Nuvo」与「Ton」两个字的组合。「Nuvo」在法文发音中与新(Nouveau)发音相近;「Ton」在英文发音中与唐朝的唐(Tang)发音相近,而唐朝为中国史上最兴盛的朝代之一,唐朝在国际文化交流、经济贸易、科技创新上皆有辉煌的成就,使它成为世界的中心。新唐科技将秉持卓越发展之创新精神、紧密结合之客户关系,以及汇集凝聚全球人才,致力于实践新唐愿景 — Joy of innovation,同时也象征了新唐科技欲在IC产业开创全新大唐盛世的精神。

打开包装盒,里面是使用了防震泡沫严严实实包裹的开发板,有效防止运输过程中各种磕碰对产品带来的意外损坏,比较体贴客户。

取出来的TOMATO,开发板上的中央是CPU,其它外设如ETH、USB、ARDUINO UNO兼容接口、耳机接口、SD卡、按键等均匀分布在开发板的四周,整体结构布局合理,虽然集成了诸多的接口,但是并不显臃肿。

基于ARM开发板推荐:


基板使用的是红色调,似乎这是NUVOTON比较喜欢的色彩,如最新的NuMaker UNO也使用了相同的风格,另外为了美观,文字丝印使用白色标注,结合黄色的排针,绿色的按键,整体感觉舒适,科技也不再只是冰冷。

下面再上几张特写,以飨各位。

从左至右依次是耳机、MIC及SD卡

从左至右依次是ETH、USB HOST、UART/PWR

ARDUINO UNO R3兼容接口、按键及其它引出的GPIO排针接口

开发板的名字叫NuMaker Tomato,曾几何时,以水果命名产品似乎也成了一种时尚!我听人称苹果手机叫水果机,树莓派也是水果,然后有香蕉派、还有桔子派,现在新唐直接取名叫TOMATO,我预计啊,以后可能会有POTATO、ONION之类的出来,且让我们拭目以待!

NuMaker Tomato核心搭配新唐32位ARM926EJ-S NUC976DK62Y 处理器,运行频率可达300 MHz,内建64MB DDR2 RAM,搭配新唐 NAU8822 Audio Codec,特别适合用于音讯处理;提供完整丰富的接口,包含10/100Mbps以太网络接口、Micro SD 卡槽、麦克风输入、3.5mm耳机接头、支持两组USB 2.0高速Host,以及Arduino兼容的接脚等。Tomato 非常适合创客创作各种物联网应用。开发板布局及各主要部件标注如下

联网部分,无论是透过有线网络或透过USB dongle连接无线网络(Wi-Fi),以及使用内建SPI/I2C等标准接口连接各类无线传输模块,Tomato都能够做到轻松联网,也因此特别适合物联网相关之应用,例如:物联网的Gateway、router/小型server、智能家居、安防系统与云端音乐盒等。

软件方面,Tomato采用Linux 操作系统,具大量开放源代码可供用户下载使用。系统上电时,Tomato预先加载uBoot,可将Linux Kernel加载于DDR内执行,亦支持Python解释器,使用者不须通过编译程序即可轻松撰写程序。

NUC976DK62Y微处理器基于ARM926EJ-S,最高频率可达300MHz,是新唐NUC900系列CPU中的高性能代表产品

NUC900系列采用ARM®的ARM926EJ-S核心,内建8KB I-Cache/D-Cache并且提供丰富的外设接口,例如:Ethernet MAC、LCD Controller、2D Graphics Acceleration Controller、以及High-Speed USB 2.0 Controller等功能,以符合客户高效能应用的需求。该系列MCU主要针对人机接口、电梯显示控制器、跑步机控制接口、指纹考勤机、网络摄影机等方面的应用。

基于ARM开发板推荐:

NuMaker Tomato没有内置的FLASH存储器,要体验开发板的功能,需要将官方提供的Linux系统写入一张Micro SD卡上,插入到开发板的SD卡槽中,uBoot会读取SD卡中的系统映像,加载到内存中实现启动。

准备一张空白Micro SD存储卡,格式化为FAT32格式,官方提供的Linux系统是一个ZIP格式的压缩包,解包后直接将内容复制到SD卡上就制作好了一张系统启动SD卡。SD卡上的内容如下

里面包含了启动映像及启动脚本,其中starter.sh里面包含了系统启动过程中的一些设置,如WIFI的启动,PYTHON环境的准备等,详细情况可以参考源文件。

将制作好的SD卡插入SD卡槽中,按如下方式连接好开发板,USB的另一端连接到PC端,一方面可以给开发板供电,另外也可以通过Serial来访问开发板。

NuMaker Tomato没有提供显示接口,所以只能通过SSH或Serial的方式来管理及运行程序。首次上电,网络并没有配置好,所以只能通过Serial来进行设置,确保板载调试器的CDC驱动安装正常,在WINDOWS的设备管理器里能找到相关的串口设备名称,在我的机器上为COM7,然后使用PUTTY并做如下配置

给开发板上电,终端窗口会出现设备启动时的信息,如下

基于ARM开发板推荐:


NuMaker Tomato的LINUX系统是一个精简版的系统,实际上就是一个busybox,busybox被誉为是嵌入式LINUX系统中的瑞士军刀,体积相当小巧,但是保留了LINUX系统的大部分功能,从上面的启动画面可以看到busybox的版本是1.22.1。

接下来要配置网络,将开发板连接到路由器,使用DHCP方式获取IP地址

Busybox提供了DHCP获取程序udhcpc,可以借由DHCP方式从DHCP服务器自动获取IP地址,上图就是通过DHCP的方式自动获取到的IP,不过官方的配置没有将这个命令加入到自启动文件中,可以自行将这一命令添加到starter.sh脚本中,实现开机自动获取IP地址。

在starter.sh中添加了udhcpc命令后,重新启动系统,会在开机画面中看到相应的DHCP获取信息,如下图

Busybox中许多组件都没有提供,比如开发者常用的gcc套件就不包含在内,官方为NuMaker Tomato提供了必要的Python移植,可以使用Python来完成诸多的开发及体验工作,另外随之提供的还有开发板的外设库,与NuMaker Tomato相关的Python库都位于SD卡的nvtPythonLibrary目录下,包含了adc, gpio, pwm及spi等外设库,可以直接调用这些库来实现特定的功能,免去了使用GCC来进行交叉编译的麻烦。

下面是一个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运行这段代码,只要按下开发板上的用户按键,LED3就会点亮,同时控制台上出现“SW3 key Low”提示信息,表明用户按键已按下。

不过busybox中SSH Server暂未集成,如果需要使用SSH方式来登录到开发板进行管理的话,需要重新编译一个叫dropbear的组件,busybox官方提供的Tiny Utilities中提供了该组件的源码,该组件体积大约100KB,也没有依赖组件需要安装,唯一的缺陷是需要重新编译以适合在目标板上运行,这个过程是需要使用交叉编译的,有兴趣的朋友不妨自己编译一个。

另一个值得一提的是官方的启动映像中还包括了对mplayer的移植,可以直接用来播放音乐。Mplayer是一个功能非常强大的媒体播放软件,支持丰富的媒体格式,控制功能也非常强大,准备一首MP3歌曲拷贝到SD卡的根目录,使用mplayer播放效果如下

音频解码使用ffmpeg实现,AO功能使用OSS驱动。使用耳机可以听到播放的音乐,播放过程流畅,没有卡滞情况发生,只是mplayer的播放控制似乎失灵了,比如音量控制不能调整,其它情况都还比较正常。

作为一款开源产品,NuMaker Tomato也提供了硬件设计的原理图,用户在使用硬件时可能需要参考外设与硬件的连接方式以及具体用到的PIN,另外用户如果需要将NUC976DK62Y微处理器应用到自己的设计中,可以直接参考官方原理图来进行设计,省去了重新阅读数据手册的麻烦。

总结来说,NuMaker Tomato算是一款优秀的产品。虽则在各大水果家族中,TOMATO的硬件配置不算出彩,考虑到官方对NuMaker Tomato的定位目标来说,性能算是足够:毕竟对于一款主打音频播放及物联网网关的产品来说,300MHz的主频还是可以胜任的。开发板集成的外设比较丰富,网络及USB接口,加上耳机及MIC等接口,也算是ARM9的一次逆袭,曾经的王者再度重装上阵。略为不足之处是基于busybox的LINUX系统,毕竟在busybox下,linux的完整功能不能得到体现。如果需要体验更高端的应用,对用户或者设计人员来说,提出了更高的挑战。比如SSH功能的集成,交叉编译都需要花费更多的精力及时间。实际上现在单纯基于busybox的系统相对来说比较少了,Yocto似乎是另一个更好的选择!

参考资源:

基于ARM开发板推荐:

编辑:admin  最后修改时间:2021-07-15

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4