精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

介紹NimBLE軟件包在RT-Thread Smart下的使用

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:RT-Thread ? 2022-10-28 09:37 ? 次閱讀

準備 RT-Thread Smart 開發(fā)環(huán)境

主要按照 ART-Pi-Smart 官方用戶手冊進行開發(fā)環(huán)境的搭建:

1、通過ART-Pi-Smart SDK 倉庫 (Gitee)下載最新的 ART-Pi Smart SDK 軟件包。

2、通過用戶手冊中相關章節(jié)下載一下 Windows 版本的 arm-linux-musleabi 工具鏈,將解壓出來的 arm-linux-musleabi_for_i686-w64-mingw32 文件夾整個拷貝到 ./tools/gnu_gcc/ 下面,如圖:

3ac192ba-5608-11ed-a3b6-dac502259ad0.png

3、裝一下 env 開發(fā)工具,這個不多說。

4、加載工具鏈,在 ART-Pi-Smart SDK 根目錄下打開 env 工具,依次運行命令:

smart-env.bat - 設置當前環(huán)境變量

set RTT - 查看環(huán)境變量信息,檢查交叉編譯器路徑是否成功添加

arm-linux-musleabi-gcc -v - 檢查交叉編譯器是否生效

結果應該顯示如下:

3afc141c-5608-11ed-a3b6-dac502259ad0.png

注意:每一次重新打開 env 工具都需要通過運行 ART-Pi-Smart SDK 根目錄下的 smart-env.bat 來設置當前環(huán)境變量,添加交叉編譯器路徑,否則編譯會出錯。

5、依據(jù) USB方式啟動 rt-smart 內核 章節(jié),下載 100ask_imx6ull 燒寫工具(由百問網(wǎng)提供)。

配置相關串口

需要使用串口來連接外部的藍牙 Controller 芯片,這里我們使用 “uart3”

1、在設置好環(huán)境的 env 工具下進入 kernelspimx6ull-artpi-smart 路徑,這個路徑下工程就是為 ART-Pi-Smart 做的 bsp 工程,也是 ART-Pi-Smart 上的rt-smart 內核工程。

2、運行 menuconfig 命令后,選擇進入 Platform Driver Configuration → Select UART Driver 目錄下進行 UART 設備的使能,這里使能 uart3 。

3b9df098-5608-11ed-a3b6-dac502259ad0.png

保存退出,接著下面章節(jié)配置 NimBLE。

在內核 bsp 下配置使用 NimBLE

env 工具還是進入 kernelspimx6ull-artpi-smart 路徑。

1、運行 menuconfig 命令后,進入 RT-Thread online packages → IoT - internet of things 目錄即可看到 NimBLE 軟件包,勾選軟件包

3baf19e0-5608-11ed-a3b6-dac502259ad0.png

2、將 NimBLE 下 Controller Configuration 里的配置關閉

3bd86e62-5608-11ed-a3b6-dac502259ad0.png

在 RT-Thread Smart 上 NimBLE 不需要運行 Controller ,使用 藍牙 Controller 芯片代替。

3、HCI Transport support 下配置 HCI uart 設備為 “uart2”(這里使用設備 uart2 正是對應之前 使能的 uart3,這里序號有出入和實際系統(tǒng)的設備管理有關,實際板上外設接口是 uart3 但是系統(tǒng)內核映射為 uart2 設備了)。

3ccf80da-5608-11ed-a3b6-dac502259ad0.png

4、Bluetooth Samples 選擇 “BLE peripheral heartrate sensor” ;Version 選擇 “l(fā)atest”。最后如下圖所示:

3d4b43c8-5608-11ed-a3b6-dac502259ad0.png

目前支持以下幾個例程:

BLE peripheral heartrate sensor

BLE peripheral cycling speed and cadence sensor

BLE central role sample

BLE peripheral role sample

BLE beacon sample

BLE advertiser sample

配置完成后保存。

編譯 & 連接外部藍牙芯片

1、在前面的 menuconfig 配置完成后,使用 pkgs --update 命令更新 NimBLE 軟件包

1$pkgs--update

2、運行 scons -c 清除之前的構建后,運行 scons 命令進行內核代碼的編譯。

3、編譯成功后, kernelspimx6ull-artpi-smart 路徑下會生成 rtthread.imx 文件。

3dcc26aa-5608-11ed-a3b6-dac502259ad0.png

4、把外部的藍牙 Control 芯片連接好,注意 UART 的引腳,這里使用 nrf52840dk 連接 ART-Pi-Smart 的 UART3。務必在后面內核燒寫的步驟前連接好 Control 芯片。關于藍牙控制器選擇可以參考 藍牙控制器固件 (或 NimBLE 軟件包目錄下 /docs/firmwares/README.md)。

3e080080-5608-11ed-a3b6-dac502259ad0.png

燒寫內核 & 運行 NimBLE

windows 下燒寫內核的過程,按照文檔的相關章節(jié)(USB方式啟動 rt-smart 內核);連好兩根線后,應該可以用終端軟件打開其中一根串口線。

1、配置 ART-Pi Smart 開發(fā)板進入到 USB 固件下載模式

操作方法:開發(fā)板上電之后,先按下 “BOOT 啟動按鍵” 不松開,然后,再按下 “RST 復位鍵”,即可切換到 USB 固件下載模式

2、打開之前下載好的燒錄工具 100ask_imx6ull_flashing_tool.exe,顯示設備已連接即可。(顯示未連接則重復 1 中的操作)

3、選擇“專業(yè)版”,點擊第一排“固件/裸機”按鈕,選擇剛剛編譯出來的 rtthread.imx 文件(這里要注意絕對路徑里面不要包含中文和空格)。然后點擊 “運行” 按鈕即可,等待內核下載完畢。如下圖顯示:

4009a7d0-5608-11ed-a3b6-dac502259ad0.png

4、內核燒寫完成后,不要按復位按鈕,這時候觀察終端,可以發(fā)現(xiàn)系統(tǒng)內核已經(jīng)跑起來了(如下圖)。

注意:如果按了復位按鈕,bootloader 則會默認加載固化在 emmc 中的出廠內核鏡像,就不是我們自己編譯的了

405b1c00-5608-11ed-a3b6-dac502259ad0.png

5、在系統(tǒng)命令行 輸入 ble_hr 命令,即可運行剛剛配置編譯進內核的 NimBLE 軟件包例程。

40fc9242-5608-11ed-a3b6-dac502259ad0.png

6、 使用 nRF Connect 手機 APP 即可成功觀察到藍牙設備,名稱為 blehr_sensor :

411ee284-5608-11ed-a3b6-dac502259ad0.png

點擊連接后,在 CLIENT 下即可看到 Heart Rate 相關數(shù)據(jù)。

4197edc8-5608-11ed-a3b6-dac502259ad0.png

需要注意的地方

1、之前系統(tǒng)中 uart 設備編號與芯片 uart 接口編號不一致的問題:

menuconfig 中的 uart 配置和實際系統(tǒng)中 uart 對象名是不匹配的。實際使用時,系統(tǒng)中的 uart 序號應該減一。即 menuconfig 中的 uart1 對應 實際系統(tǒng)中的 uart0, menuconfig 中的 uart2 對應 實際系統(tǒng)中的 uart1。

2、一定要在 USB 燒寫內核步驟之前連接好外部的藍牙 Controller 芯片,否則燒寫完成后自動加載內核會出現(xiàn)斷言錯誤,因為對應串口沒接好。這時如果使用復位按鈕來重新加載內核,又會自動加載 emmc 中固化的出廠內核,就不是我們包含 NimBLE 的內核了。

3、針對 USB 燒寫內核只能加載一次的問題,應該可以使用之前的燒寫工具,將重新編譯的內核固化到 emmc 中,這樣就不用每次都重新燒寫了。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 藍牙協(xié)議棧

    關注

    0

    文章

    7

    瀏覽量

    7201
  • RT-Thread
    +關注

    關注

    31

    文章

    1272

    瀏覽量

    39922
  • gcc編譯器
    +關注

    關注

    0

    文章

    78

    瀏覽量

    3363

原文標題:如何在 RT-Thread Smart 下使用 NimBLE 藍牙協(xié)議棧

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    送給工程師路上正迷茫的你:RT-Thread 軟件包構建指南

    對應的軟件包平臺,軟件包生態(tài)對于一門語言的選擇至關重要,本次講座將會講述如何快速構建一個可通用的軟件包介紹RT-Thread可兼容的標準,
    發(fā)表于 09-27 15:53

    介紹RT-Thread軟件包

    學習要點介紹 RT-Thread軟件包;簡介 nRF24L01 軟件包的使用,講解如何使用此軟件包將數(shù)據(jù)正確發(fā)送和接收;學習線程間的通信
    發(fā)表于 07-27 06:07

    使用menuconfig配置基于RT-ThreadNimBLE軟件包

    最近在學習 RT-Thread 中的 NimBLE 軟件包,使用 menuconfig 配置選中 NimBLE 軟件包,設置各種選項后,成功
    發(fā)表于 06-27 11:18

    主要介紹NimBLE軟件包的使用說明

    NimBLE 使用說明本文主要介紹 NimBLE 軟件包的使用RT-Thread Studio 工程中配置使用 NimBLEBSP 下工程配
    發(fā)表于 08-18 10:22

    NimBLE軟件包在ART-Pi bsp工程的使用

    本文主要介紹 NimBLE 軟件包的在 ART-Pi bsp 工程的使用目前 NimBLE 支持 BLE Host 層,同時 bsp 工程
    發(fā)表于 09-13 15:43

    RT-Thread Smart怎樣去使用NimBLE軟件包

    本文主要介紹 NimBLE 軟件包的在 RT-Thread Smart 的使用目前官方使用 A
    發(fā)表于 09-13 15:50

    RT-Thread 軟件包介紹

    RT-Thread 軟件包介紹軟件包的目的軟件包在高級語言中非常常見,很多高級語言都有對應的軟件包
    發(fā)表于 05-21 19:38 ?5537次閱讀

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運行于RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)平臺上,面向不同應用領域的通用軟件組件 。RT-Thread 同時提供了開放
    的頭像 發(fā)表于 05-21 11:29 ?1w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件包</b>定義和使用

    RT-Thread社區(qū)上有哪些優(yōu)秀的軟件包

    SX12XX 軟件包是基于 semtech 官網(wǎng) Firmware Drivers V2.1.0代碼庫的移植實現(xiàn),目前只支持 SX1278 LoRa設備。該軟件包在原代碼庫功能的基礎上,對接 RT-Thread SPI 設備驅動
    的頭像 發(fā)表于 04-03 15:35 ?7598次閱讀

    RT-Thread Smart已正式上線

    構建或其他的構建工具,例如xmake,cmake等,并對接 RT-Thread 在線軟件包;同時支持 POSIX,方便 Linux 應用的移植。
    的頭像 發(fā)表于 11-29 10:31 ?2775次閱讀

    RT-Thread Smart 上手指南

    RT-Thread Smart(簡稱rt-smart)是基于RT-Thread操作系統(tǒng)衍生的新分支,面向帶MMU,中高端應用的芯片,例如ARM Cortex-A系列芯片,MIPS...
    發(fā)表于 01-25 20:09 ?12次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Smart</b> 上手指南

    2022 RT-Thread全球技術大會:RT-Thread軟件包

    RT-Thread在2022年上半年新增幾十個軟件包:rtt-rust、LuatOS、gui-guider-demo。
    的頭像 發(fā)表于 05-27 14:12 ?1031次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球技術大會:<b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件包</b>

    RT-Thread全球技術大會:RT-Thread Smart更好的兼容Linux生態(tài)

    RT-Thread全球技術大會:RT-Thread Smart更好的兼容Linux生態(tài) ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:31 ?1774次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術大會:<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Smart</b>更好的兼容Linux生態(tài)

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP <b class='flag-5'>介紹</b>與移植

    RT-Thread中mymqtt軟件包的使用方法

    在上一篇文章 RT-Thread中Lan8720和lwip協(xié)議棧的使用的工程基礎上添加mymqtt軟件包。 使能mqtt example和mqtt test,保存,等待下載更新軟件包
    的頭像 發(fā)表于 10-13 10:44 ?929次閱讀
    <b class='flag-5'>RT-Thread</b>中mymqtt<b class='flag-5'>軟件包</b>的使用方法