首页 » 软件开发 » 对索尼Spresense开发板进行评测(索尼评测开发板中文官网)

对索尼Spresense开发板进行评测(索尼评测开发板中文官网)

admin 2024-07-23 23:34:19 0

扫一扫用手机浏览

文章目录 [+]

支持音频和全球导航卫星系统的索尼 Spresense Arduino 兼容板及其扩展板于2019年夏天在日本推出。
该公司现在已经扩大了市场,并且还在美国和欧洲提供开发板。

他们还委托了一家机构将样品发送给不同的评测人,我也有幸被选中。
在这篇评测中,我将从检查硬件开始,简要讨论软件开发选项,并介绍我使用 Spresense SDK 时的体验。

索尼 Spresense 拆箱

我收到了两个盒子。

对索尼Spresense开发板进行评测(索尼评测开发板中文官网) 软件开发
(图片来自网络侵删)

索尼 Spresense 包装盒

一个是主板,另一个是扩展板。

索尼 Spresense 包装盒侧面

主板盒子仅随附 CXD5602PWBMAIN1 板和信息表。
板子顶部包括一个复位按钮、四个用户 LED、一个电源 LED、一个启动恢复按钮、摄像头接口、索尼CXD5247电源管理以及音频模拟接口芯,可以看一下图中的黑色部分,但实际并没有那么黑,是反射导致, CXD5602PWBMAIN1 板支持 GNSS 的 Sony CXD5602 六核 Arm Cortex-M4F 微控制器 – 在封装上显示为 D5602GG,两排 2.54mm 间距 I/O 接头,以及位于电路板最右侧边缘的 GNSS 天线。

索尼 Spresense开发板

板子底部有8MB容量的MXIC MX25U6435F SPI NOR flash,一个100针连接主板和扩展板的连接器,CP2102N USB转TTL芯片,以及一个用于供电和编程的微型USB端口。

重要信息表主要包含法律术语、规范以及Spresense 支持网站的链接和二维码。

索尼 Spresense开发板信息表

扩展板带有类似的信息表,以及用于将主板固定到位的四个塑料柱。

索尼 Spresense扩展板和信息表

扩展板的最上面带有与 Arduino 兼容的接头、一个连接到主板的 100 针插座、一些跳线、一个 3.5 mm音频插孔和一个微型 SD 卡插槽。

索尼 Spresense扩展板正面

以上介绍的是扩展板的正面。
扩展板的另一面主要是另外两个芯片: 电平转换器72040和德州仪器的八通道双向多电压电平转换器LSF0108 ,以及微型的“扩展” USB 端口。

索尼 Spresense扩展板背面

两块板的组装很简单。
只需将四个黑色塑料柱插入扩展板的安装孔中,将主板放在上面,然后将其向下推就组装完成了。

索尼 Spresense开发板和扩展板组合

两种软件开发环境

如Spresense 软件文档中所述,有两种使用 Spresense 板的方法:

Spresense Arduino 库– 与许多开发人员熟悉的 Arduino IDE 配合使用。
Spresense SDK– 索尼 CXD5602 芯片组的原始开发环境,基于NuttX实时操作系统,并利用 GNU Make 工具链。
底层的 API 使开发人员能够优化内存使用、降低能耗、多核处理控制等,而这些在 Arduino 库中可能无法实现。

我已经发布了许多针对其他硬件平台的 Arduino IDE 评测,并且其他人已经发布了使用 Spresense 和 Arduino IDE 的项目,所以我认为对于我和我的读者来说,研究一下Spresense SDK会更有趣。

Spresense SDK 结构

Spresense SDK 入门

索尼已提供 SDK 入门指南。
因此,让我们尝试在运行 Ubuntu 18.04 的笔记本电脑上开始吧。

安装 Spresense SDK首先,我们需要在终端窗口中安装一些依赖项:

前往“CNX Software中文站”官网,查看完整信息

下一步 ,从nuttx-tools安装 kconfig-frontends 包:

前往“CNX Software中文站”官网,查看完整信息

并查看 SDK 源代码:

前往“CNX Software中文站”官网,查看完整信息

USB连接将当前用户添加到拨出组,然后注销以确保你可以访问串口:

前往“CNX Software中文站”官网,查看完整信息

现在是时候通过 USB 将主板连接到你的计算机了。
这是内核日志的输出:

前往“CNX Software中文站”官网,查看完整信息

该板被正确检测为具有 10c4 VID 和 ea60 PID 的 CP210x 转换器。

Spresense SDK 设置首先设置初始 NuttX 内核配置:

前往“CNX Software中文站”官网,查看完整信息

然后设置初始SDK配置:

前往“CNX Software中文站”官网,查看完整信息

输出:

前往“CNX Software中文站”官网,查看完整信息

我们被要求…

安装一个新的bootloader

下载 URL 要求你接受 EULA,即用户许可协议,否则无法从命令行的命令下载。
下载后,我可以使用以下命令轻松将其烧录到开发板上:

前往“CNX Software中文站”官网,查看完整信息

最后命令输出:

前往“CNX Software中文站”官网,查看完整信息

构建示例固件:

前往“CNX Software中文站”官网,查看完整信息

你可以在当前目录中得到 nuttx.spk 固件:

前往“CNX Software中文站”官网,查看完整信息

刷入并运行固件

此时,我们被要求刷写bootloader,但我们已经在上面完成了,所以我们可以直接刷写 nuttx.spk固件:

前往“CNX Software中文站”官网,查看完整信息

命令的输出:

前往“CNX Software中文站”官网,查看完整信息

要运行 hello world 程序,我们需要使用 minicom 或其他工具连接带有 115200 8N1 参数的串口:

前往“CNX Software中文站”官网,查看完整信息

串口设置中禁用硬件流控制,然后按 Esc 并选择Exit 退出
我们现在应该可以访问 NuttX 的 NuttShell (NSH) shell了。

通过串口访问 NuttX 的 NuttShell

接下来输入 hello 运行演示程序:

前往“CNX Software中文站”官网,查看完整信息

成功。
hello world 程序的源代码可以在 examples/hello/hello_main.c 中找到,并且大部分是典型的 C hello world 程序:

前往“CNX Software中文站”官网,查看完整信息

作为参考,NuttX shell 有一些与 busybox 类似的命令:

前往“CNX Software中文站”官网,查看完整信息

Spresense 示例程序

Hello word 很好入门,但 Spresense SDK 中还有其他更有趣的示例:

前往“CNX Software中文站”官网,查看完整信息

每个示例在Spresense NuttX 开发人员指南中都有描述。
不知道为什么,没有blinky 的示例。

一些示例需要额外的硬件,例如摄像头附加板、蓝牙 LE附加板 、传感器附加板等。
你可以在开发者网站的主页向下滚动并找到一个列表。

由于音频和 GNSS 是该板的一些主要功能,我将尝试分别用 C++ 和 C 编程语言编写的 audio_player 和 gnss 示例。

Spresense 音频播放器

构建和烧录过程与 hello world 程序相同,在 sdk 目录中执行以下命令:

前往“CNX Software中文站”官网,查看完整信息

程序已加载到开发板,但我们需要把一些额外的文件存储在 micro SD 卡中,其中包含音乐、播放列表和“worker”二进制文件,如 audio_player 示例目录中的 README.txt 文件所述:

之后,您可以在目录 sdk/modules/audio/dsp 中看到 worker 二进制文件“MP3DEC”、“WAVDEC”。

将 worker 二进制文件、播放列表和播放内容存储在选项指定的路径中。

– 默认路径

worker二进制:/mnt/sd0/BIN

播放列表:/mnt/sd0/PLAYLIST

内容:/mnt/sd0/AUDIO

作为播放列表的示例,PLAYLIST 文件夹中有 TRACK_DB.CSV。
此外,作为内容示例,AUDIO 文件夹中有 Sound.mp3。
Sound.mp3是一个采样频率48000,位长16,编解码的MP3文件。

一开始我对指令的措辞感到困惑,但幸好最终理解了指令,并将文件复制到了 FAT32 格式的 4GB micro SD 卡中:

前往“CNX Software中文站”官网,查看完整信息

现在将 microSD 卡插入 Spresense 板,并连接一些扬声器,然后在 NuttShell 中启动应用程序。

Spresense 音频播放器示例

前往“CNX Software中文站”官网,查看完整信息

一切似乎都在按预期工作,除了我听不到任何音频……我检查了音频插孔连接,以防接触不良,我还检查了扬声器的功率和音量水平,但仍然没有声音。
然后我想可能是Spresense主板和扩展板接触不良,所以我按下了板子的顶部……成功了!


我终于可以从 Sound.mp3 文件中听到哔哔声了。
有趣的是,micro SD 卡确实有效,但音频却无效。

全球导航卫星系统示例

让我们继续看 GNSS 的示例:

前往“CNX Software中文站”官网,查看完整信息

顺便说一句,请记住在运行 flash.sh 之前始终需要退出 minicom,否则最终会出现以下错误:

前往“CNX Software中文站”官网,查看完整信息

另一个说明是,你可以使用将 menuconfig 带入设置选项的选项来运行 config.py:

前往“CNX Software中文站”官网,查看完整信息

menuconfig 配置开发板

回到 GPS 测试。
我试着把板子放在靠近窗户的地方,但建筑设计不太适合得到正确的 GPS 信号,1 小时 30 分后,我才得到UTC 时间。
所以我搬到了户外,重新启动了电路板,一切都运行良好。
仅 24 秒后我就得到了 UTC 时间:

前往“CNX Software中文站”官网,查看完整信息

1分 40 秒后就得到了定位数据:

前往“CNX Software中文站”官网,查看完整信息

不,我才不是住在科菲维尔 :),然而定位数据暴露了我的位置。

示例代码太长,无法在本评测中详细介绍,但你可以在示例目录中找到源代码,而且Spresense SDK 文档看起来结构清晰,非常详细和全面。

结束语

最近,我在硬件评测方面遇到了麻烦,有时总是会出错,但我必须承认 Spresense 板的一切测试都进行得相当顺利,示例正常工作,开发人员文档看起来很棒。

对于大多数项目,你可能需要附加板,因为在没有任何类型的无线或有线连接的情况下,必然没有太多需要 GNSS 和音频的应用程序。

索尼 Spresense 主板在 Framos US 上的售价为 65 美元,你还可以在那里找到售价 45 美元的扩展板。
如果你在欧洲,也可以从RS Components或Vido购买。
Spresense相机的售价为29欧元,但这个价格不含增值税。
传感器和蓝牙附加板由 ROHM 制造,可单独购买。
希望他们能找到一种更简单的订购方法,也许在不久的将来会提供完整的开发套件。

更多优质文章推荐:

1.PinePhone Pro Linux智能手机发布,采用了电源优化的Rockchip RK3399S处理器 - CNX Software中文站

2.边缘AI视频处理系统将SocioNext SC2000 4K摄像机SoC与Hailo-8 AI加速器相结合 - CNX Software中文站

3.Edge AI视频处理系统,将SocioNext SC2000 4K摄像机SoC与Hailo-8 AI加速器相结合 - CNX Software中文站

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0