常见问题
Spresense 是做什么的?
它是Sony Semiconductor Solutions Corp.公司面向 IoT行业开发的单板机,搭载了SoC CXD5602/CXD5247。它具备定位功能(GPS)、高解析音源的播放&录音功能,同时拥有低功耗的6核微处理器。
Spresense 如何供电?
可通过Spresense 主板的 micro USB端口连接 5V的电源。通过USB数据线连接,开发时使用的PC或是带有USB输出端口的AC转换器、手机电池等,都可以用于供电。 具体请参见: Spresense 硬件相关。
Spresense 的开发环境是?
提供基于Arduino IDE, Eclipse IDE,以及控制台的开发环境。 具体请参见: Software Overview。
Spresense 的操作系统是?
OS使用NuttX Real-Time Operating System。选用Arduino IDE时不需要考虑操作系统的问题。
Spresense 中是否搭载了通信功能?
未搭载。但可以通过Spresense Add-on 电路板或是Arduino Shield任意添加/扩展通信功能。 Spresense Add-on电路板相关请参见:Welcome to the developer pages for Spresense。
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 ACK
或excessive protocol errors, transfer aborted
提示,无法正常写入微型电路板中。无法写入微型电路板时,请将上传速度调低并重新尝试写入微型电路板。 -
USB数据线是否已正确连接?
USB数据线接触不良时可能导致无法写入微型电路板。插拔USB数据线,确认是否正确插入PC端、Spresense的USB接口中,然后重新尝试写入微型电路板。 详细步骤请参见: Spresense Arduino Library 的使用方法。
-
开始烧写之后,但没有显示
"Install files …."
或者Saving package to "nuttx"
消息。>>> Install files ... install Install C:\Users\xxx\AppData\Local\Temp\arduino_build_849056/Blink.ino.spk |0%-----------------------------50%------------------------------100%| ###################################################################### 144544 bytes loaded. Package validation is OK. Saving package to "nuttx" sync Restarting the board ... reboot
Flash中的文件可能已损坏。 请参考 这里 并使用恢复工具。
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 串口监控显示 "Welcome to nash…"
波特率115200的串口控制台上显示 "Welcome to nash (build xxxxxxx) updater#"时,可能是由于BOOT LOADER的写入未被执行。请安装BOOT LOADER。 相关步骤:
-
使用Arduino IDE环境时请参考 Spresense Loader的安装
-
使用Spresense SDK(CLI)环境时请参考 引导加载程序安装
-
使用Spresense SDK(IDE)环境时请参考 sdk_set_up_ide_zh.html
Spresense 串口监控显示 "D>" 或者烧写失败
如果在串行控制台上以波特率115200显示 “D>” ,或者烧写时失败,则Flash中的文件可能意外损坏。 请在Recovery tool下载页面 下载恢复工具并执行,可将电路板恢复到出厂状态。详细的使用方法请参考下载的ZIP文件内的README文件。
Flash 内的数据将全部消失。执行恢复工具后,重新执行操作。
-
使用Arduino IDE环境时请参考 Spresense Loader的安装
-
使用Spresense SDK(CLI)环境时请参考 引导加载程序安装
-
使用Spresense SDK(IDE)环境时请参考 sdk_set_up_ide_zh.html
micro SD卡或各种音频功能等在扩展板上没有响应或是动作异常。
-
主板与扩展板的B-2-B接头连接是否紧密?
主板与扩展板的B-2-B接头可能没有完全嵌合。请用手指捏住主板与扩展板,重新插入。
-
在Arduino环境中,SDHCI库是否被begin()调用?
SDHCI库支持micro SD卡的插入/移除,并且在检测到插入/移除时会自动执行安装/卸载处理。 在插入Micro SD卡的情况下打开电源后,安装过程将自动运行。 如果在此安装过程完成之前访问micro SD卡,则会发生HardFault错误。
可以通过在访问微型SD卡之前调用SDHCI begin()函数来避免此问题。
#include <SDHCI.h> SDClass SD; void setup() { // begin()等待SD卡安装过程完成该功能 SD.begin(); // begin()挂载后可以访问SD卡 }
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上。
在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上。
在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所需空间不足时发生该错误。 请确认流的读取是否正常。
错误码信息请参见: 关于音频子系统错误 。
Spresense主板相关
用Spresense主板可以做什么?
Spresense 主板上搭载了定位功能与搜索GPS卫星用的天线。使用这些就可以简单地制作GPS跟踪定位系统等。另外,主板插座上还配备了I2S、UART、SPI、I2C、AIN,可以添加音频相关LSI、通信模块、感应器模块,可以比较简单地制作完成小型IoT系统的原型。
请问是否有重置按钮?
有。在USB接口端基板的上部,位于LED的侧面。 具体请参见: Spresense 主板
Spresense扩展板相关
用Spresense扩展板可以做些什么?
没有Spresense,Spresense扩展板单独无法工作。扩展板是为了能够简单方便地使用Spresense主板所带的音频功能及SD卡、5V/3.3V的IO而提供的电路板。
请问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 的区别。
与image::ArduinoShieldConfliction.png[width=100%, title="Arduino Shield ICSP接口的干扰"]
请问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么?
可以。具体请参见:Spresense 软件相关。
Arduino IDE环境中可以制作应用Spresense定位功能的APP么?
可以。具体请参见:GNSS 程序库。
Arduino IDE环境中可以制作应用Spresense音频功能的APP么?
可以。具体请参见:Audio 程序库。 确认此Sketch程序的功能需要在Spresense扩展板上进行。
Spresense SDK 相关
请问用Spresense SDK可以做些什么?
Spresense SDK是可直接访问Spresense硬件资源的开发环境。通过多核程序设计、关闭不用的硬件资源、灵活使用电力模式等可实现省内存省电力的设计。
请问Spresense SDK如何设置
具体请参见:Spresense SDK 入门指南(CLI版)。
编译出错情况
配置出现问题
如果遇到如下两个错误,则可能因为未正确设置终端。
./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)
请查看并使用推荐的工具链 设置开发工具。
定位功能相关
Spresense的定位功能说明?
配备GPS及被称做GLONASS的同时搜索多种方式定位卫星的 MultiGNSS 功能。使用比GPS单独的定位模块更多的卫星数,有效提高了定位精度。此外,Spresense的定位模块还具备低功耗的特点。
Spresense定位功能如何使用?
Spresense中设置了专用的API。 具体请参见:Spresense 软件相关。
Spresense可以输出NMEA么?
可以。 请参见:Spresense GNSS tracker sample sketch。
音频功能相关
可播放音频文件的采样频率与编码位数分别是多少
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。
可以使用高解析录音么?
可以。
请参见: Audio Recorder 功能 。
Spresense Add-on电路板相关
Spresense Add-on电路板可在哪里买到?
请参见:Spresense top page。
Add-on电路板的种类都有哪些?
请参见:Spresense top page。
Spresense源代码相关
Spresense源代码是否公开?
已公开。 具体请参见:代码仓库结构。
想要参与Spresense源代码开发该怎么做?
请参见:
-
Spresense Arduino Library: CONTRIBUTING.md
-
Spresense SDK: CONTRIBUTING.md
Spresense回路图相关
Spresense 的回路图是否公开?
已公开。 请参见: 硬件设计书。
Spresense的回路图可以取用么?
在遵循Creative Commons License中规定的CC BY-SA许可的前提下可以使用。
Spresense SoC(CXD5602/CXD5247)相关
CXD5602/CXD5247可以购买么?
通常不在销售之列。 如果您有将其产品化的想法,请参考咨询一节并与我们联系。
CXD5602/CXD5247有相应的数据手册么?
请参见Sony Semiconductor Solutions Corp.公司的Spresense专用网站。