浸泡式线路板防潮开创者

联络电话:0755-85297596

请输入内容搜索 招商计划 玻璃行业 应用领域 产品视频 产品展示

首页 / 资讯 / 行业资讯 / 索尼Spresense拆箱与Spresense SDK运行测试
返回

索尼Spresense拆箱与Spresense SDK运行测试

派旗纳米 浏览次数:1628 分类:行业资讯

盼望了很久,总算收到了2个包囊,一个是电脑主板,另一个为拓展板。

电脑主板的包囊里仅有CXD5602PWBMAIN1板和情况表,板的顶端包含一个复位开关、四个客户LED、一个开关电源LED、一个运行修复按键、照相机插口、sonyCXD5247电池管理声频仿真模拟插口集成ic(下面的图中的灰黑色),sonyCXD5602 hexa关键Arm Cortex-M4F微处理器适用GNSS – 在封装形式上当作D5602GG,两行2.54mm间隔I / O连接头,及其板极右边沿的GNSS无线天线。

该板的底端选用MXIC MX25U6435F SPI NOR闪存芯片,8MB容积,100针射频连接器,用以联接电脑主板和拓展板,CP2102N USB到TTL集成ic,及其用以开关电源和程序编写的小型USB端口号。

情况表关键包括法律术语,标准及其Spresense适用网址的连接和QR编码。

拓展板附加了相近的情况表,及其用以将电脑主板固定不动及时的四个塑胶麻花钻。

拓展板装有Arduino兼容连接头,100针电源插座,用以联接电脑主板,一部分漏线,3.5mm声频插口和micro SD卡内存插槽。

下面的图为线路板的正脸,另一侧主要是2个集成ic:72040脉冲信号转化器和TI LSF0108八进制双重多工作电压脉冲信号转化器,自然也拥有“拓展”用的小型USB端口号。

二块板的拼装都非常简单,只需将四个灰黑色塑胶麻花钻插进拓展板的安裝孔中,将电脑主板放到顶端,随后将其往下推。

如SpresenseAPP文本文档中上述,有这两种方式 可以应用Spresense板:

Spresense Arduino库- 应用很多开发者了解的Arduino IDE。

Spresense SDK- sony最开始的CXD5602主板芯片组开发工具,根据NuttX嵌入式操作系统,并运用GNU Make专用工具链。低等API使开发者可以提升运行内存应用,节约开关电源,操纵多核解决这些,而Arduino库将会没法完成这一点。

下面对于Spresense SDK网络系统开展表明。

▲Spresense SDK的构造

使我们尝试跟随表明指引在运作Ubuntu 18.04的笔记本上涨试运转它。

安裝Spresense SDK

最先,大家必须在终端窗口中安裝一些terminal windows:

1 sudo apt install git gperf libncurses5-dev flex bison gcc-arm-none-eabi genromfs pkg-config autoconf automake cmake

下一步是以nuttx-tools安裝kconfig-frontends包:

1
2
3
4
5
git clone https://bitbucket.org/nuttx/tools.git
cd tools/kconfig-frontends/
./configure –disable-shared
make -j8
sudo make install

查询SDK源码:

1
2
3
cd ../..
git clone –recursive https://github.com/sonydevworld/spresense.git
git submodule foreach git checkout master

USB联接

将当今客户加上到拨出去组,随后销户以保证可以浏览串行通信端口号:

1 sudo usermod -a -G dialout $USER

现在是时候根据USB将电脑主板联接到电子计算机了,这也是核心日志的导出:

1
2
3
4
5
6
7
8
[99898.675476] usb 3-2: new full-speed USB device number 3 using xhci_hcd
[99898.849262] usb 3-2: New USB device found,idVendor=10c4, idProduct=ea60
[99898.849267] usb 3-2: New USB device strings:Mfr=1, Product=2, SerialNumber=3
[99898.849270] usb 3-2: Product: CP2102N USB to UART Bridge Controller
[99898.849272] usb 3-2: Manufacturer: Silicon Labs
[99898.849275] usb 3-2: SerialNumber:1601ea6abb61e811841264b55bfef139
[99898.851295] cp210x 3-2:1.0: cp210x converter detected
[99898.864393] usb 3-2: cp210x converter now attached to ttyUSB0

电源电路板被恰当检验为具备10c4 VID和ea60 PID的CP210x转化器。

Spresense SDK程序安装

最先设定原始NuttX核心配备:

1
2
cd spresense/sdk
tools/config.py –kernel release

随后设定原始SDK配备:

1 tools/config.py examples/hello

导出:

1
2
3
4
5
6
7
WARNING: New loader v1.1.0 is required, please download and install.
Download URL : https://developer.sony.com/file/download/download-spresense-firmware-v1-1-000
Install command:
1. Extract loader archive into host PC.
./tools/flash.sh -e
2. Flash loader into Board.
./tools/flash.sh -l/home/jaufranc/edev/spresense/spresense/firmware/spresense -c

这时提醒规定安裝新的loader,因为在线下载URL必须EULA,因而没法从命令来在线下载。但选用后,可以应用下列指令轻轻松松将其闪存芯片到线路板:

1
2
3
4
cd tools
mv ~/Downloads/spresense-binaries-v1.1.0.zip .
./flash.sh -e spresense-binaries-v1.1.0.zip
sudo ./flash.sh -l ../../firmware/spresense/ -c/dev/ttyUSB0

指令导出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> Install files …
install -b 115200
Install ../../firmware/spresense/loader.espk
Waiting for XMODEM (CRC or 1K) transfer. Ctrl-X to cancel.
……………………………………………………………………………………………………..115856 bytes loaded.
Package validation is OK.
Saving package to \”loader\”
updater# install -b 115200
Install ../../firmware/spresense/gnssfw.espk
Waiting for XMODEM (CRC or 1K) transfer. Ctrl-X to cancel.
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….450336bytes loaded.
Package validation is OK.
Saving package to \”gnssfw\”
updater# sync
updater# Restarting the board …
reboot

搭建实例印象:

1
2
3
cd ..
make buildkernel -j8
make -j8

最后在当前目录中应用nuttx.spk固定件:

1
2
ls nuttx.spk-l
-rw-r–r– 1 jaufranc jaufranc 153776 ม.ค. 5 16:11nuttx.spk

更新并运作固定件

这时,系统要求更新正确引导载入程序流程,但此项指令早已在上面完成了,因此我们可以刷flashtx.spk:

1 sudo tools/flash.sh -c /dev/ttyUSB0 nuttx.spk

指令导出:

1
2
3
4
5
6
7
8
9
10
>>> Install files …
install -b 115200
Install nuttx.spk
Waiting for XMODEM (CRC or 1K) transfer. Ctrl-X to cancel.
………………………………………………………………………………………………………………………………………153776bytes loaded.
Package validation is OK.
Saving package to \”nuttx\”
updater# sync
updater# Restarting the board …
reboot

运作hello world程序流程必须应用minicom或其它专用工具联接115200 8N1主要参数的串口通信:

1 minicom -D /dev/ttyUSB0 -b 115200 -s

在串行通信端口中禁止使用硬件配置流控制,随后按Esc并挑选Exit撤出。大家如今应当可以浏览NuttX的NuttShell(NSH)shell。

输入hello以运作演试程序流程:

1
2
3
4
NuttShell (NSH)NuttX-7.22
nsh> hello
Hello,World!!
nsh>

取得成功,hello world程序流程的源码可以在examples / hello / hello_main.c中寻找,是非常典型的C语的hello world程序流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
****************************************************************************
* Included Files
****************************************************************************/
#include
#include
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* hello_main
****************************************************************************/
#ifdef CONFIG_BUILD_KERNEL
int main(int argc, FAR char *argv[])
#else
int hello_main(int argc, char *argv[])
#endif
{
printf(\”Hello, World!!
\”);
return 0;
}

做为参照,NuttX shell有一些类似busybox中的指令:

1
2
3
4
5
6
7
8
9
10
11
12
nsh> help
help usage:help [-v] []
[ datehelpmksmartfs rmuname
? ddhexdump mhrmdir umount
basenamedfkillmount set unset
break echolsmvshusleep
cat printfmbmwshutdownxd
cdexecmkdir poweroffsleep
cpexitmkfatfs pstest
cmp false mkfifopwd time
dirname freemkrdreboottrue

Spresense中的实例新项目

Hello World是运行非常好的实例程序流程,但Spresense SDK也有别的更有意思的样版:

1
2
3
4
5
6
7
8
9
10
11
12
ls examples/
accelcameragyro press
adccolorsensor helloprime
alarmdecimator helloxxproximity
Application.mk dnnrt_lenet Kconfigpwm
asmp fft libexamples.aREADME.md
audio_player fwupdateLibTarget.mk sixaxis
audio_player_objif geofencelighttilt
audio_recorder gnsslte_http_get voice_call
audio_throughgnss_atcmdmagvoice_command
bluetooth_le_peripheralgnss_factoryMake.defswatchdog
bluetooth_sppgnss_pvtlog Makefile

每一个实例程序流程都都是在Spresense NuttX的开发设计指引中详尽地叙述,但并没有叙述是什么种类或是是不是新奇的样版。

一些实例新项目必须下载附加的硬件配置,如照相机额外设备,手机蓝牙LE额外设备,感应器额外设备等。可以用往下翻转开发人员网址的主页面寻找这种目录。

因为声频和GNSS是线路板的一些关键作用,下列将试着应用C 和C语言编辑的audio_player和gnss的实例程序流程。

Spresense音乐播放器

搭建和更新全过程与hello world程序流程同样,并在sdk文件目录中实行下列指令:

1
2
3
./tools/config.py examples/audio_player
make -j8
sudo tools/flash.sh -c /dev/ttyUSB0 nuttx.spk

该程序流程被载入到电脑主板上,但大家必须一些附加的文件传送在micro SD卡中,在其中包括歌曲,列表和“worker”二进制文件,如audio_player实例文件目录中的README.txt文件上述:

以后,您可以在文件目录sdk / modules / audio / dsp中见到工作中二进制文件\’MP3DEC\’,\’WAVDEC\’。

在选择项特定的途径中储存工作中二进制文件,列表和播放视频內容。

– 默认设置途径

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卡:

1
2
3
4
5
6
cp ../examples/audio_player/AUDIO -R
cp ../examples/audio_player/PLAYLIST/ -R
mkdir /BIN
pushd modules/audio/dsp
cp MP3DEC WAVDEC /BIN/
popd

如今将microSD卡插进Spresense板,并联接音箱,随后在NuttShell中启动应用程序。

1
2
3
4
5
NuttShell (NSH)NuttX-7.22
nsh> player
Start AudioPlayer example
Running time is 10sec
Running time is 10 sec

一切好像按期望工作中,但听不见的声频。查验声频插口联接是不是接触不良现象,音箱的输出功率和声音水准,但依然没声音。之后构想或许Spresense电脑主板和拓展板中间很有可能存有欠佳触碰,因此按住了电脑主板最后成功了!总算可以听见Sound.mp3文档传出的哔声,有意思的是,小型SD卡的确合理,但并不是声频。

GNSS样版

让试一试GNSS实例程序流程:

1
2
3
./tools/config.py examples/gnss
make -j8
sudo tools/flash.sh -c /dev/ttyUSB0 nuttx.spk

顺带说一下还记得在运作flash.sh前撤出minicom,不然会获得下列不正确:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Traceback (most recent call last):
File \”serial/serialposix.py\”, line 495, in read
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File \”flash_writer.py\”, line 504, in
File \”flash_writer.py\”, line 446, in main
File \”flash_writer.py\”, line 316, incancel_autoboot
File \”flash_writer.py\”, line 263, in readline
File \”serial/serialposix.py\”, line 505, in read
serial.serialutil.SerialException: read failed:device reports readiness to read but returned no data (device disconnected or multiple access on port?)
[8067] Failed to execute script flash_writer

此外还要留意应用将menuconfig引进安裝选择项的选择项来运作config.py。

1 ./tools/config.py -m examples/gnss

再次开展GPS检测,我想要将线路板挨近窗子,但我所处的建筑构造并不易接受GPS数据信号,在1小時30分以后,我只得到了UTC時间。所以我搬到了室外,重启了线路板,一切都很成功,我还在24秒后得到了UTC時间:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NuttShell (NSH) NuttX-7.22
nsh>
nsh>
nsh> gnss
Hello, GNSS(USE_SIGNAL) SAMPLE!!
start GNSS OK
>Hour:0, minute:0, sec:3, usec:497
>No Positioning Data
>Hour:0, minute:0, sec:4, usec:512
>No Positioning Data
>Hour:0, minute:0, sec:5,usec:15289

>No Positioning Data
>Hour:0, minute:0, sec:23, usec:507
>No Positioning Data
>Hour:0, minute:0, sec:24, usec:522
>No Positioning Data
>Hour:6, minute:59, sec:32, usec:554
>No Positioning Data
>Hour:6, minute:59, sec:33, usec:561
>No Positioning Data

并在1分40秒后精准定位数据信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
>Hour:7, minute:0, sec:47,usec:559
>No Positioning Data
>Hour:7, minute:0, sec:48,usec:533
>No Positioning Data
>Hour:7, minute:0, sec:49,usec:533
>No Positioning Data
>Hour:7, minute:0, sec:49,usec:769162
>LAT37.02.1428
>LNG95.36.5893
>Hour:7, minute:0, sec:50,usec:578
>LAT37.02.1428
>LNG95.36.5893
>Hour:7, minute:0, sec:51, usec:574

样版编码过长,没法在此次审核详解,但您可以在examples文件目录中寻找源码,Spresense SDK文本文档看上去构造清楚,十分详尽和深入。

汇总

我不得不说Spresense电脑主板上实现的一切测评都很成功,开发设计的文本文档看上去挺不错。但对大部分新项目,很有可能必须额外板,由于在没有种类的无线网络或无线接入的情形下,务必有很多必须GNSS和音频文件的运用。

sonySpresense电脑主板在Framos US上市场价65美金,还可以在45美金上下寻找拓展板,迅速就会有一个500万清晰度的监控摄像头板将在本月晚些时候发布。Spresense照相机市场价在预估所得税后29欧,感应器和手机蓝牙额外板由ROHM生产制造,可以独立选购,但现阶段只在日本选购。期待它们可以寻找到一种更简易的购买方式,很有可能在一段时间的未来应用详细的开发设计模块

 


派旗纳米官网:https://paiqinano.com

大量电子纳米防护涂层剂、配套喷镀设备、OEM代工服务等请关心“派旗纳米”微信公众号

纳米涂层剂理化性能详细参数直接点击:纳米电子防护涂层剂参数

技术咨询:赵先生:130 4896 4893

该文章内容提高散播新技术应用新闻资讯,很有可能有转截/引入之状况,若有侵权行为请联络删掉。