Spresense Header CodeSpresense Header Code

Spresense - 低功耗下的边缘计算

在干电池供电的Spresense板上体验正真的边缘计算

FAQ

This is old documents. Please move to new documents. https://developer.sony.com/develop/spresense/docs/faq_zh.html

常见问题

Spresense 是做什么的?

它是Sony Semiconductor Solutions Corp.公司面向 IoT行业开发的单板机,搭载了SoC CXD5602/CXD5247。它具备定位功能(GPS)、高解析音源的播放&录音功能,同时拥有低功耗的6核微处理器。

Spresense 名字的由来?

Spresense 这个名字没有特殊的含义。

Spresense 如何使用?

通过组合各种通信模块或感应器模块,可以相对比较容易地制作IoT系统的原型。由于它具备低功耗及强大的计算能力,所以可以试作高性能的小型IoT系统。

Spresense 如何供电?

可通过Spresense 主板的 micro USB端口连接 5V的电源。通过USB数据线连接,开发时使用的PC或是带有USB输出端口的AC转换器、手机电池等,都可以用于供电。 具体请参见: Spresense硬件相关文档

Spresense 的开发环境是?

提供基于Arduino IDE, Eclipse IDE,以及控制台的开发环境。 具体请参见: Software Overview

Spresense 使用的开发语言是?

支持C++及C语言。

Spresense 的操作系统是?

OS使用NuttX Real-Time Operating System。选用Arduino IDE时不需要考虑操作系统的问题。

Spresense 可以运行Linux吗?

Linux无法运行。

Spresense 中是否搭载了通信功能?

未搭载。但可以通过Spresense Add-on 电路板或是Arduino Shield任意添加/扩展通信功能。 Spresense Add-on电路板相关请参见:Welcome to the developer pages for Spresense

Spresense 中是否搭载了感应器?

只搭载了定位功能。可以通过Spresense Add-on 电路板或是Arduino Shield任意添加感应器。

Spresense 可以在哪里买到?

请到Spresense销售店咨询购买。

有Spresense无人机和教育用开发套件销售么?

Sony Semiconductor Solutions Corp. 公司尚无此类销售计划。 请到Spresense销售店咨询。

出故障了?

Spresense 与PC连接后串口不识别

  • 电源LED的蓝灯是否亮灯?

    当Spresense电路板处于供电状态时,Spresense电路板上的电源LED蓝灯会亮灯。首先,请确认电路板是否已连接电源。

  • 连接的USB接口有没有弄错?

    Spresense主板和Spresense扩展板上都有USB接口。串口用USB接口在Spresense主板上。请确认其连接情况。

  • 串口驱动是否已安装?

    Spresense的串口驱动可从CP210x USB - UART Bridge VCP 驱动处获取。 请选择与您使用的操作系统匹配的版本下载并按照说明安装。

  • USB数据线是否已正确连接?

    插拔USB数据线,检查确定已插入PC及Spresense。仍然不识别时,请换用其他的数据线。

Arduino IDE 的程序无法写入微型电路板

  • 串口是否已设置?

    在Arduino IDE 上将程序写入微型电路板时需要指定串口。 具体请参见:Spresense Arduino Library 的使用方法

  • 是否已将电路板设置为 "Spresense"?

    在Arduino IDE 上编写 Spresense 程序时,需要将Arduino IDE 的电路板设置为 "Spresense"。 详细步骤请参见: Spresense Arduino Library 的使用方法

  • 是否已更新为最新的USB串口驱动?

    在部分平台上,不更新为最新驱动时Spresense所用的LSI将无法正常动作。 请从CP210x USB - UART Bridge VCP 驱动处获取最新驱动并更新。

  • 按下重置按钮后问题是否解决了?

    使用旧的串口驱动时,如果不按下重置按钮则不会开始上传。写入微型电路板处理不开始时,请按下重置按钮。此外,为了避免发生这个问题, 请获取并安装最新的CP210x USB - UART Bridge VCP 驱动

  • 传输速度是否过快?

    加快上传速度后,部分PC会出现 No ACKexcessive protocol errors, transfer aborted 提示,无法正常写入微型电路板中。无法写入微型电路板时,请将上传速度调低并重新尝试写入微型电路板。

  • USB数据线是否已正确连接?

    USB数据线接触不良时可能导致无法写入微型电路板。插拔USB数据线,确认是否正确插入PC端、Spresense的USB接口中,然后重新尝试写入微型电路板。 详细步骤请参见: Spresense Arduino Library 的使用方法

Arduino IDE 中语法没有问题,却出现验证错误

  • 程序文件夹中是否存在多个 .ino 文件?

    程序文件夹中有多个 .ino文件时,会发生由于重复定义导致的验证错误。 请确认程序文件夹中只有一个 .ino 文件。

  • 再次按下verify按钮后问题是否解决了?

    再次验证后,可成功完成 验证/编译

  • 串口是否已设置?

    不指定串口时,会发生类似验证出错的情况。请确认串口设置。 详细步骤请参见:Spresense Arduino Library 的使用方法

Spresense Arduino board package安装失败

  • 手动方式安装Spresense Arduino board package

    手动安装时文件或文件夹处于被打开的状态的话,可能导致安装时无法正常更新。

    出现以下提示时,请将手动安装的Spresense Arduino board package移动到其他位置或是将其删除后重新安装。

    <Arduino15安装路径>\packages\SPRESESE\hardware\spresense\1.0.0下未找到boards.txt。是否为1.5之前的版本?
  • 编辑安装的Spresense Arduino board package

    编辑安装的Spresense Arduino board package时出现以下信息,提示新安装包安装失败。 出现这种情况时,请将编辑中的文件移动到其他位置或是将其删除后重新安装。

    <Arduino15安装路径>\packages\SPRESENSE\hardware\spresense\1.0.0下未找到boards.txt。是否为1.5之前的版本?

Spresense Loader安装失败

  • 是否正在拖放zip文件?

    某些浏览器可自动解压下载的zip文件。拖放已解压的文件将导致无法正常安装Loader,请在浏览器设置中禁用自动解压功能。

Spresense 串口监控显示 "Welcome to nash…​"

波特率115200的串口控制台上显示 "Welcome to nash (build xxxxxxx) updater#"时,可能是由于BOOT LOADER的写入未被执行。请安装BOOT LOADER。相关步骤:使用Arduino IDE环境时请参考Spresense Loader的安装;使用Spresense SDK环境时请参考Spresense主板BootLoader的安装

Spresense 串口监控显示 "D>"

波特率115200的串口控制台上显示 "D>"时,可能是由于意料外的操作导致Flash内的文件损坏导致的。 请在Recovery tool下载页面 下载恢复工具并执行,可将电路板恢复到出厂状态。详细的使用方法请参考下载的ZIP文件内的README文件。

Flash 内的数据将全部消失。执行恢复工具后,使用Arduino IDE 环境时请参考Spresense Loader的安装;使用Spresense SDK 环境时请参考Spresense 主板BootLoader的安装重新执行操作。

micro SD卡或各种音频功能等在扩展板上没有响应或是动作异常。

  • 主板与扩展板的B-2-B接头连接是否紧密?

    主板与扩展板的B-2-B接头可能没有完全嵌合。请用手指捏住主板与扩展板,重新插入。

micro SD卡无法读取

  • micro SD卡是否格式化为FAT32格式?

    Spresense 只支持FAT32格式。请确认您手中micro SD卡的格式。

  • microSD卡是否设置了分区?

    Spresense 不支持有多个分区的文件系统。请使用设备整体已物理格式化为FAT32格式的micro SD卡。

无法获取位置信息

  • 电源启动后请等待几分钟

    电源启动后,从搜索卫星到开始定位需要足够的卫星数量,这需要花费一点时间。不同环境下到定位结束所需时间不同,大概需要等待1~3分钟左右。

  • 是否在大厦之间或者室内搜索卫星困难的地方使用了设备?

    大厦之间或者室内这样难以看到天空的地方搜索不到卫星,就无法定位。请尽量在视野良好的地方进行定位。

  • 是否粘贴了遮光膜?

    如果不把遮光膜粘贴到指定的地方,会产生由于阳光过强导致操作错误的情况。请参考Spresense 主板遮光膜的粘贴方法,在既定的位置粘贴好遮光膜。

  • 是否在音频播放的同时进行了定位?

    在音频播放的同时进行定位时需要花费较长时间。请在视野开阔的地方进行定位。

音频文件无法播放

  • DSP是否已配置在SD卡内或是安装到了Flash中?

    音频播放时需要多核微处理器用的DSP码。该DSP码需要在SD卡上配置或者是通过dsp_installer程序安装到SPI-Flash上。
    Spresense mp3 dec installer

    在SD卡上配置时,请将DSP放到各程序的"initPlayer"指定的路径下。DSP的二进制文件放在下面的目录里。

    spresense/sdk/modules/audio/dsp/

    放置前请选择MP3DEC, WAVDEC。

    使用dsp_installer时,请在Arduino IDE 中打开mp3_dec_installler.ino 并写入微型电路板中。 本操作在写入固件后只执行一次即可。
    另,请将Sketch程序"initPlayer"中的路径更改为/mnt/spif/BIN/。

    Spresense 只支持WAV(LPCM)与MP3格式的音频文件。

  • 采样速率设置是否正确?

    采样速率设置错误时无法正常播放音频文件。不了解采样速率时请指定为 AS_SAMPLINGRATE_AUTO 。 设置方法请参考:Spresense audio player sample sketches

    文件为MP3时,指定"AS_SAMPLINGRATE_AUTO"即可从流的头文件部分取得采样速率并进行播放。

  • 出现AS_ECODE_DSP_LOAD_ERROR错误?

    请确认DSP的路径设置是否正确。
    错误码信息请参见:音频子系统错误相关

  • 出现AS_ECODE_COMMAND_PARAM_SAMPLING_RATE错误?

    请确认采样速率设置是否正确。

  • 出现AS_ECODE_SIMPLE_FIFO_UNDERFLOW/AS_ATTENTION_SUB_CODE_SIMPLE_FIFO_UNDERFLOW错误?

    原因是需要播放的流数据写入FIFO时发生延迟或是未能写入。请确认流的写入处理是否已正确完成。
    错误码信息请参见:音频子系统错误相关

  • 出现AS_ATTENTION_SUB_CODE_DSP_VERSION_ERROR错误?

    导入的DSP版本与Application端的版本不一致。 请重新导入与编译的APP版本相同的DSP。

  • 出现AS_ATTENTION_SUB_CODE_STREAM_PARSER_ERROR错误?

    文件为MP3,存在ID3v2 TAG(尤其是图片数据这样的大容量元数据)时, 解码时会发生解析错误。 请用MP3Tag等工具将标签信息删除。

    如果不是ID3v2 TAG的问题,那么请确认要播放的流文件有无损坏?
    请在PC等其他机器上确认是否可以播放。
    错误码信息请参见:音频子系统错误相关

  • 出现AS_ATTENTION_SUB_CODE_DSP_EXEC_ERROR错误?

    要播放的流文件有无损坏?
    请在PC等其他机器上确认是否可以播放。
    错误码信息请参见:音频子系统错误相关

播放声音异常

  • 播放以快进/慢速音播放时

    播放WAV文件时,如果采样速率错误,则会以快进/慢速音播放。请确认采样速率设置是否正确。

  • 播放时有噪声

    播放WAV文件时,如果bit长度指定错误,则会在播放时有噪音。请确认bit长度设置是否正确。

  • 播放音中断

    请确认是否出现"AS_ATTENTION_SUB_CODE_DSP_EXEC_ERROR"错误? 请参见 "AS_ATTENTION_SUB_CODE_DSP_EXEC_ERROR" 一节。

无法录制

  • Mic连接是否正确?

    Mic连接相关请参见:Mic的使用方法

  • DSP是否已配置在SD卡内或是安装到了Flash中?

    录制时需要多核微处理器用的DSP码。该DSP码需要在SD卡上配置或通过dsp_installer程序安装到SPI-Flash上。
    Spresense mp3 enc installer

    在SD卡上配置时,请将DSP放到各程序的"initPlayer"指定的路径下。DSP的二进制文件放在下面的目录里。

    spresense/sdk/modules/audio/dsp/

    放置前请选择MP3ENC, SRC。

    使用dsp_installer时,请在Arduino IDE中打开mp3_dec_installler.ino并写入微型电路板中。 本操作在写入固件后只执行一次即可。
    另,请将Sketch程序"initRecorder "中的路径更改为/mnt/spif/BIN/。

    Spresense只支持WAV(LPCM)与MP3格式的音频文件。

  • 出现AS_ECODE_DSP_LOAD_ERROR错误?

    请确认DSP的路径设置是否正确。
    错误码信息请参见:音频子系统错误相关

  • 出现AS_ATTENTION_SUB_CODE_DSP_VERSION_ERROR错误?

    导入的DSP版本与Application端的版本不一致。 请重新导入与编译的APP版本相同的DSP。

  • 出现AS_ECODE_COMMAND_PARAM_SAMPLING_RATE 错误?

    使用Recorder时,不同的Codec下可指定的采样速率限制不同。请参见:录音功能相关

  • 出现AS_ECODE_COMMAND_PARAM_BIT_RAT错误?

    不同的Codec下可指定的BitRate限制不同。请参见:录音功能相关

  • 出现AS_ECODE_COMMAND_PARAM_BIT_LENGTH 错误?

    不同的Codec下可指定的Bit长度限制不同。请参见:录音功能相关

  • 出现AS_ATTENTION_SUB_CODE_SIMPLE_FIFO_OVERFLOW错误?

    录制的声音会写入FIFO中。 该录音数据需要通过APP读取并执行相应处理。
    从FIFO读取较慢,写入FIFO所需空间不足时发生该错误。 请确认流的读取是否正常。
    错误码信息请参见:音频子系统错误相关

与扩展板相连的I/O 工作电压5V的Arduino板没有响应

  • 是否给电中所用的micro USB数据线过长或过细?

    通过micro USB接头供给的电压可能已经远低于5V 。请换用其他种类的 micro USB数据线。

Spresense主板相关

用Spresense主板可以做什么?

Spresense 主板上搭载了定位功能与搜索GPS卫星用的天线。使用这些就可以简单地制作GPS跟踪定位系统等。另外,主板插座上还配备了I2S、UART、SPI、I2C、AIN,可以添加音频相关LSI、通信模块、感应器模块,可以比较简单地制作完成小型IoT系统的原型。

请问主板Pin sockets的IO电压是多少

数字Pin接口的IO电压为1.8V,模拟输入Pin接口为0.7V。

请问USB接口是哪种

micro USB(2.0) Micro B接口。

请问是否有重置按钮?

有。在USB接口端基板的上部,位于LED的侧面。 具体请参见:Spresense Arduino Library 的使用方法

需要安装GPS天线么?

GPS天线已搭载,不需要另外安装。

音频功能可用么?

Spresense主板上有用于I2S输入/输出Pin,所以可以使用I2S处理用的组件。想要简单地体验音频功能的话,请考虑购入Spresense扩展板。

请问有Spresense主板用的机箱么?

Sony Semiconductor Solutions Corp. 公司尚无相关销售计划。

请问GPIO的输入/输出电流是多少

输入/输出电流为 6 mA。

请问有防水功能么?

没有.

Spresense扩展板相关

用Spresense扩展板可以做些什么?

没有Spresense,Spresense扩展板单独无法工作。扩展板是为了能够简单方便地使用Spresense主板所带的音频功能及SD卡、5V/3.3V的IO而提供的电路板。

Spresense扩展板是否需要供电?

不需要。Spresense扩展板是由Spresense主板供电的。

请问Pin sockets的IO电压是多少

Pin sockets的IO在使用JP1时可在3.3V或5V中选择。此外,模拟输入Pin接口固定为5V。 具体请参见:Spresense扩展板

可以安装哪种Mic?

模拟Mic可以用如Knowles公司的SPU0414HR5H-SB、CUI公司的 CMA-4544PF-W等。
数字Mic可以选用Infineon公司的IM69D130等。 Mic的连接方法相关内容请参见: Mic的使用方法

可以连接Arduino Shield么?

不是所有的ArduinoShield都可以连接。Arduino Shield中带有 ICSP 接口的部分会对主板有干扰,所以无法连接。另外,与Arduino Uno在端口规格上存在差异。 具体请参见:Spresense 与 Arduino Uno 的区别

ArduinoShieldConfliction
图表 1. Arduino Shield ICSP接口的干扰

请问与Arduino Uno的区别在哪里

请问GPIO的输入/输出电流分别是多少

输入/输出电流为数mA。具体请参见:Spresense 与 Arduino Uno 的区别中数据输入/输出端口相关部分的内容。

扬声器可以输出么?

有源扬声器在与耳机插孔连接后可以输出。

USB功能好用么?

可以使用MSC(Mass Storage Class) 功能。例如,可以从PC直接访问SD卡或Add-on电路板上eMMC中的文件。 具体请参见:SDHCI 程序库

Arduino IDE相关

Arduino IDE是什么?

Arduino公司提供的开源式开发环境。 具体请参见:Download the Arduino IDE

Arduino IDE环境中进行Spresense开发编程的条件是什么?

需要下载Spresense电路板环境。 具体请参见:Spresense Arduino Library 的使用方法

可以使用Arduino API和Arduino Library么?

可以。具体请参见:Software Overview

Arduino IDE环境中可以进行多核程序设计么?

不可以。多核程序设计时请使用Spresense SDK环境。

Arduino IDE环境中可以制作应用Spresense定位功能的APP么?

可以。具体请参见:GNSS 程序库

Arduino IDE环境中可以制作应用Spresense音频功能的APP么?

可以。具体请参见:Audio 程序库。 确认此Sketch程序的功能需要在Spresense扩展板上进行。

Spresense SDK 相关

请问用Spresense SDK可以做些什么?

Spresense SDK是可直接访问Spresense硬件资源的开发环境。通过多核程序设计、关闭不用的硬件资源、灵活使用电力模式等可实现省内存省电力的设计。

请问Spresense SDK如何设置

具体请参见:Spresense SDK

请问有Spresense SDK的样例程序和说明么?

编译出错情况

配置出现问题

如果遇到如下两个错误,则可能因为未正确设置终端。

$ ./tools/config.py --kernel release
sh: kconfig-tweak: 命令未找到
sh: kconfig-tweak: 命令未找到
sh: kconfig-tweak: 命令未找到
/bin/sh: kconfig-conf: 命令未找到
make[1]: *** [Makefile.unix:499: do_olddefconfig] 错误 127
make: *** [Makefile:308: olddefconfigkernel] 错误 2
Post process failed. 512
Try 'make distcleankernel' first.
$ ./tools/config.py --kernel release
make[1]: *** [Makefile.unix:300: include/arch] 错误 1
make: *** [Makefile:308: olddefconfigkernel] 错误 2
Post process failed. 512
Try 'make distcleankernel' first.

在这种情况下,关闭终端一次,再次启动 MSYS2 MSYS(不是 MSYS2 MinGW ),然后执行以下命令。

$ source ~/spresenseenv/setup
$ cd <Spresense SDK 主目录>
$ rm -rf nuttx/include/arch
$ rm -rf nuttx/arch/arm/src/board

arm-none-eabi-ld发生错误

arm-none-eabi-ld: error: /tmp/spresense/sdk/nuttx uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/lib/libm.a(lib_a-sf_sin.o) does not
arm-none-eabi-ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/lib/libm.a(lib_a-sf_sin.o)

请查看并使用推荐的工具链 Development environment

定位功能相关

Spresense的定位功能说明?

配备GPS及被称做GLONASS的同时搜索多种方式定位卫星的 MultiGNSS 功能。使用比GPS单独的定位模块更多的卫星数,有效提高了定位精度。此外,Spresense的定位模块还具备低功耗的特点。

Spresense定位功能如何使用?

Spresense中设置了专用的API。 具体请参见:Software Overview

Spresense可以输出NMEA么?

可以。 请参见:Spresense GNSS tracker sample sketch

音频功能相关

可播放的音频文件种类都有哪些

可播放WAV和MP3文件。

可播放音频文件的采样频率与编码位数分别是多少

MP3格式下可指定为:32kHz/16bit、44.1kHz/16bit、48KHz/16bit
LPCM格式下可指定为:32kHz/16 or 24bit、44.1kHz/16bit or 24bit、48KHz/16bit or 24bit、192kHz/16bit or 24bit。

Mic输入相关设置问题

可以使用高解析录音么?

可以。
请参见:Audio Recorder functions

请问有噪音消除和beamforming处理么?

Sony Semiconductor Solutions Corp.尚无提供相关功能的计划。

多核微处理器相关

请问可以开发使用多核微处理器的程序么?

请参见:ASMP Framework

请问有多核微处理器程序的样例么?

电池相关

Spresense使用什么样的电池?

请使用支持IoT设备的手机电池。以下索尼产USB手机电池可用:"CP-V5B"、"CP-V10B"、"CP-VC10"。

使用智能手机电池时,由于Spresense的超低功耗特点,设备可能判断电池与机器之间的连接中断而停止给电。

请问Lipo电池可以用么?

不推荐使用。

请问电池有充电功能么?

Spresense中不能使用充电功能。

Spresense Add-on电路板相关

Spresense Add-on电路板是什么?

指可安装在Spresense主板接口插座上的小型电路板,用来扩展Spresense功能。

Spresense Add-on电路板可在哪里买到?

请参见:Spresense top page

Add-on电路板的种类都有哪些?

请参见:Spresense top page

Spresense源代码相关

Spresense源代码是否公开?

已公开。 具体请参见:_代码仓库结构

Spresense源代码的许可相关

请参见:

想要参与Spresense源代码开发该怎么做?

请参见:

Spresense回路图相关

Spresense 的回路图是否公开?

已公开。 请参见: Spresense硬件相关文档

Spresense的回路图可以取用么?

在遵循Creative Commons License中规定的CC BY-SA许可的前提下可以使用。

Spresense SoC(CXD5602/CXD5247)相关

CXD5602/CXD5247可以购买么?

通常不在销售之列。 如果您有将其产品化的想法,请参考咨询一节并与我们联系

CXD5602/CXD5247有相应的数据手册么?

请参见Sony Semiconductor Solutions Corp.公司的Spresense专用网站