色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

索尼Spresense拆箱與Spresense SDK運行測試

Q4MP_gh_c472c21 ? 來源:lq ? 2019-02-04 14:13 ? 次閱讀

期盼了許久,終于收到了兩個包裹,一個是主板,另一個為擴展板。

主板的包裹里只有CXD5602PWBMAIN1板和信息表,板的頂部包括一個復位按鈕、四個用戶LED、一個電源LED、一個啟動恢復按鈕、相機接口、索尼CXD5247電源管理音頻模擬接口芯片(下圖中的黑色),索尼CXD5602 hexa核心Arm Cortex-M4F微控制器支持GNSS - 在封裝上看作D5602GG,兩排2.54mm間距I / O接頭,以及板極右邊緣的GNSS天線

該板的底部采用MXIC MX25U6435F SPI NOR閃存,8MB容量,100針連接器,用于連接主板和擴展板,CP2102N USB到TTL芯片,以及用于電源和編程的微型USB端口

信息表主要包含法律術語,規范以及Spresense支持網站的鏈接和QR代碼。

擴展板附帶了類似的信息表,以及用于將主板固定到位的四個塑料鉆頭。

擴展板配有Arduino兼容接頭,100針插座,用于連接主板,部分跳線,3.5mm音頻插孔和micro SD卡插槽。

下圖為電路板的正面,另一側主要是兩個芯片:72040電平轉換器TI LSF0108八進制雙向多電壓電平轉換器,當然也有著“擴展”用的微型USB端口。

兩塊板的組裝都很簡單,只需將四個黑色塑料鉆頭插入擴展板的安裝孔中,將主板放在頂部,然后將其向下推。

如Spresense軟件文檔中所述,有兩種方法可以使用Spresense板:

Spresense Arduino庫- 使用許多開發人員熟悉的Arduino IDE。

Spresense SDK- 索尼最初的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和音頻的應用。

索尼Spresense主板在Framos US上售價65美元,也可以在45美元左右找到擴展板,很快就會有一個500萬像素的攝像頭板將在本月晚些時候推出。Spresense相機售價在計算增值稅后29歐元,傳感器和藍牙附加板由ROHM制造,可以單獨購買,但目前只在日本購買。希望他們能夠找到一種更簡單的訂購方法,可能在不久的將來使用完整的開發套件。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 轉換器
    +關注

    關注

    27

    文章

    8694

    瀏覽量

    147091
  • 電路板
    +關注

    關注

    140

    文章

    4951

    瀏覽量

    97692
  • 索尼
    +關注

    關注

    18

    文章

    3188

    瀏覽量

    104828

原文標題:索尼Spresense拆箱與Spresense SDK運行測試

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    式DSP實驗TL6748-TEB-A

    的浮點C6000 DSP可式新型嵌入式教學實驗,提供了豐富的教學實驗例程,并提供視頻教程,十分適合高校以及研究所等實驗機構。可式DSP實驗TL6748-TEB-A可以用于師生項
    發表于 11-04 23:11

    南向設備:小黃車、組裝、配件測試

    南向設備:小黃車、組裝、配件測試!小黃車組裝了一遍,首先是,認識配件,組裝,如下圖所示:初始芯片上有設置小黃車的功能,一個是在線跑,
    發表于 12-07 18:25

    轉:小黃車、組裝、配件測試!

    原文鏈接:https://harmonyos.51cto.com/posts/1994小黃車,認識配件,組裝,如下圖所示:
    發表于 12-09 19:55

    Java中裝箱和是如何實現的

    一。什么是裝箱?什么是? 二。裝箱和是如何實現的 三。面試中相關的問題 一。什么是裝箱?什么是
    發表于 09-27 10:07 ?0次下載

    基于射頻識別機器人的電能表紙箱過程

    射頻識別機器人技術是一種在現代工業廣泛使用的技術,具有高度自動化和智能化的特點,能最大限度的節約人力和物力資源,文中基于機器人技術研究了電能表紙箱的過程,分析了機器人技術在電能表紙箱
    發表于 11-14 10:48 ?9次下載
    基于射頻識別機器人的電能表紙箱<b class='flag-5'>拆</b><b class='flag-5'>箱</b>過程

    貿澤與Sony Electronics簽署協議 為IoT邊緣解決方案帶來Spresense開發板

    Spresense主板(分為美國和日本版、歐洲版以及中國版) 采用Sony擁有GPS功能的強大多核CXD5602微控制器。這款兼容Arduino 的開發板是一個多功能的緊湊型解決方案,可單獨使用,也可與擴展板配合使用。
    發表于 03-04 15:12 ?778次閱讀

    Spresense智能浮標開源分享

    電子發燒友網站提供《Spresense智能浮標開源分享.zip》資料免費下載
    發表于 10-24 09:59 ?0次下載
    <b class='flag-5'>Spresense</b>智能浮標開源分享

    Spresense GPS提供支持的寵物追蹤器

    電子發燒友網站提供《由Spresense GPS提供支持的寵物追蹤器.zip》資料免費下載
    發表于 12-30 09:36 ?4次下載
    由<b class='flag-5'>Spresense</b> GPS提供支持的寵物追蹤器

    使用Spresense及其音頻功能來錄制音頻信號

    電子發燒友網站提供《使用Spresense及其音頻功能來錄制音頻信號.zip》資料免費下載
    發表于 01-05 09:30 ?0次下載
    使用<b class='flag-5'>Spresense</b>及其音頻功能來錄制音頻信號

    使用Sony Spresense和人工智能識別不良駕駛習慣

    電子發燒友網站提供《使用Sony Spresense和人工智能識別不良駕駛習慣.zip》資料免費下載
    發表于 02-06 10:33 ?0次下載
    使用Sony <b class='flag-5'>Spresense</b>和人工智能識別不良駕駛習慣

    帶有Spresense的情感和導航可穿戴設備

    電子發燒友網站提供《帶有Spresense的情感和導航可穿戴設備.zip》資料免費下載
    發表于 02-06 10:39 ?0次下載
    帶有<b class='flag-5'>Spresense</b>的情感和導航可穿戴設備

    Spresense的AI相機

    電子發燒友網站提供《帶Spresense的AI相機.zip》資料免費下載
    發表于 06-09 14:16 ?1次下載
    帶<b class='flag-5'>Spresense</b>的AI相機

    Spresense多核質數計算器開源

    電子發燒友網站提供《Spresense多核質數計算器開源.zip》資料免費下載
    發表于 06-13 11:48 ?0次下載
    <b class='flag-5'>Spresense</b>多核質數計算器開源

    Spresense GPS攝像頭開源分享

    電子發燒友網站提供《Spresense GPS攝像頭開源分享.zip》資料免費下載
    發表于 07-11 10:01 ?0次下載
    <b class='flag-5'>Spresense</b> GPS攝像頭開源分享

    機械免壓力測試方案

    機械免壓力測試方案
    的頭像 發表于 01-20 08:08 ?408次閱讀
    機械免<b class='flag-5'>拆</b>壓力<b class='flag-5'>測試</b>方案
    主站蜘蛛池模板: 美国特级成人毛片| 午夜看片网| 影音先锋2017av天堂| 哒哒哒影院在线观看免费高清| 九九在线精品亚洲国产| 三级网址在线| 99精品国产高清自在线看超 | YELLOW视频在线观看大全| 精品久久伊人| 无限资源在线观看完整版免费下载| 99久久国产露脸精品国产吴梦梦| 精品AV国产一区二区三区| 兽交白浆喷水高潮| WWW国产亚洲精品久久麻豆 | 嫩草影院地址一二三| 亚洲无码小格式| 国产人A片777777久久| 日本精品久久无码影院| 97免费在线视频| 久久亚洲AV无码精品午色夜麻豆 | 男女边吃奶边做边爱视频| 一边亲着一面膜下的免费过程| 国产伦精品一区二区三区免费观看 | 簧片高清在线观看| 小小水蜜桃视频高清在线播放| 成人手机在线| 強姧伦久久久久久久久| 97久久无码精品AV| 毛片在线播放网址| 中文字幕 日韩 无码 在线| 久久99综合国产精品亚洲首页| 亚洲AV色香蕉一区二区三区| 国产ts在线| 色偷偷91综合久久噜噜| 打卡中国各地奋斗第一线| 飘雪在线观看免费高清完整版韩国 | 伊人大香线蕉影院在线播放| 果冻传媒在线播放 免费观看| 午夜AV亚洲一码二中文字幕青青| 99久久久国产精品免费调教| 免费看亚洲|