Enviar búsqueda
Cargar
Port Bluedroid to RTOS
•
0 recomendaciones
•
1,099 vistas
E
eggmansan
Seguir
Android の Bluetooth プロトコルスタック Bluedroid を RTOS に 移植した話です。
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 15
Descargar ahora
Descargar para leer sin conexión
Recomendados
EC2 F1 Virtual JTAG
EC2 F1 Virtual JTAG
Kenta IDA
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
Benjamin Zores
Android framework design and development
Android framework design and development
ramalinga prasad tadepalli
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会
Shinji Kobayashi
Android Bluetooth Introduction
Android Bluetooth Introduction
Erin Yueh
HTML5 VIDEO on Chromecast
HTML5 VIDEO on Chromecast
Katsumi Onishi
Bot framework概要
Bot framework概要
Tsubasa Yoshino
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
Recomendados
EC2 F1 Virtual JTAG
EC2 F1 Virtual JTAG
Kenta IDA
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
Benjamin Zores
Android framework design and development
Android framework design and development
ramalinga prasad tadepalli
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会
Shinji Kobayashi
Android Bluetooth Introduction
Android Bluetooth Introduction
Erin Yueh
HTML5 VIDEO on Chromecast
HTML5 VIDEO on Chromecast
Katsumi Onishi
Bot framework概要
Bot framework概要
Tsubasa Yoshino
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
JavaScript And Keywords
JavaScript And Keywords
uupaa
runC概要と使い方
runC概要と使い方
Yuji Oshima
ストリーミングのげんざい
ストリーミングのげんざい
Tetsuya Morimoto
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
Bluetoothl-Low-Energy入門講座-part1
Bluetoothl-Low-Energy入門講座-part1
edy555
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
Raspberry pi三分クッキング(さいたま開発勉強会 Vol 9)
Raspberry pi三分クッキング(さいたま開発勉強会 Vol 9)
integra66
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
ROBOTIS Japan
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
Kengo Nakajima
HTTP入門
HTTP入門
Sota Sugiura
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
hagino 3000
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
TAKUYA OHTA
HCL Sametime V12 概要
HCL Sametime V12 概要
Software Info HCL Japan
HTTP/2.0と標準化
HTTP/2.0と標準化
Taketo Takashima
PIC RoR Heroku
PIC RoR Heroku
mgwsuzuki
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Hideki Takase
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
MRTGの導入と運用
MRTGの導入と運用
kohei Yamamoto
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
Más contenido relacionado
Similar a Port Bluedroid to RTOS
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
JavaScript And Keywords
JavaScript And Keywords
uupaa
runC概要と使い方
runC概要と使い方
Yuji Oshima
ストリーミングのげんざい
ストリーミングのげんざい
Tetsuya Morimoto
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
Bluetoothl-Low-Energy入門講座-part1
Bluetoothl-Low-Energy入門講座-part1
edy555
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
Raspberry pi三分クッキング(さいたま開発勉強会 Vol 9)
Raspberry pi三分クッキング(さいたま開発勉強会 Vol 9)
integra66
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
ROBOTIS Japan
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
Kengo Nakajima
HTTP入門
HTTP入門
Sota Sugiura
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
hagino 3000
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
TAKUYA OHTA
HCL Sametime V12 概要
HCL Sametime V12 概要
Software Info HCL Japan
HTTP/2.0と標準化
HTTP/2.0と標準化
Taketo Takashima
PIC RoR Heroku
PIC RoR Heroku
mgwsuzuki
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Hideki Takase
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
MRTGの導入と運用
MRTGの導入と運用
kohei Yamamoto
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
Similar a Port Bluedroid to RTOS
(20)
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
JavaScript And Keywords
JavaScript And Keywords
runC概要と使い方
runC概要と使い方
ストリーミングのげんざい
ストリーミングのげんざい
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
Bluetoothl-Low-Energy入門講座-part1
Bluetoothl-Low-Energy入門講座-part1
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Raspberry pi三分クッキング(さいたま開発勉強会 Vol 9)
Raspberry pi三分クッキング(さいたま開発勉強会 Vol 9)
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
HTTP入門
HTTP入門
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
HCL Sametime V12 概要
HCL Sametime V12 概要
HTTP/2.0と標準化
HTTP/2.0と標準化
PIC RoR Heroku
PIC RoR Heroku
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
How to run P4 BMv2
How to run P4 BMv2
MRTGの導入と運用
MRTGの導入と運用
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Port Bluedroid to RTOS
1.
Port Bluedroid to
RTOS by スカイストリーム せきね
2.
Bluedroid • AndroidのBluetooth プロトコルスタック •
BroadcomとGoogleが開発 • AOSPでソースコード公開 • https://android.googlesource.com/ platform/external/bluetooth/bluedroid/ • Apache License 2
3.
• Protocols • ATT
AVCTP AVDTP BNEP BTM L2CAP MCAP OBEX RFCOMM SDP SMP • Profiles • A2DP AVRCP BIP BPP CTP DI DUN FTP GAP GATT GOEP HCRP HDP HFP HIDP HSP ICP LAP MAP OPP PAN PBAP SAP SPP SYNCH VDP • Bluedroidの開発は2015-03で停止したが system/btとして開発が継続 (link)
4.
GOOD • Apachie License
2 • BT/BLE dual stack • 対応しているプロトコル・Profileが多い • 必要なプロトコル・プロファイルのみのコンフ ィグできる • 独自のメモリ管理機構があるのでmallocが無い OSでも動作
5.
BAD • ドキュメント無し • コミュニティ無し •
テストコード無し • Bluetoohロゴ認証テストコード無し
6.
SOURCE CODE 言語:だいたいC言語 規模:18万行ぐらい (clocで調査) bta/
抽象化レイヤ btif/ 上位向けAPI hci/ HCIドライバ gki/ OS依存コード stack/ プロトコル・プロファイル
7.
TASK
8.
GKI Generic Kernel Interface •
タスク管理 • タスク間通信 • タイマ • メモリ管理
9.
PORTING • Linuxで最小限のソースコードになるようにす る • btif->bta->stackの順でコンパイルエラーを取 る •
HCIとドライバを接続する • GKIを移植する • 動かしならがデバッグする。
10.
PORTING RESULT • ターゲット •
CPU ARM • OS uITRON4.0互換OS • コンパイラ ARM Realview • BLEのみに変更 • ソースコード 9万行 • ROM 約100KB / RAM 約100KB
11.
Bluetooth SIG Qualification • テストプランを入手し、どのテストを受験する か決める •
テストのシーケンスを行うプログラムを開発 • PTSで自分でテストする • テストラボで本番テストをする 認証はpassできた
12.
sample code btgatt_srvc_id_t servc_id1
= { { {0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00}, 0, }, bt_uuid_t app_uuid1 = {{ 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x19, 0x2a, 0x00, 0x00 }}; bt_uuid_t app_uuid1 = {{ 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x19, 0x2b, 0x00, 0x00 }}; btIf = get_bluetooth_interface(); sGattIf->init(&sGattCallbacks); btIf->enable(); sGattIf = btIf->get_profile_interface(BT_PROFILE_GATT_ID); sGattIf->server->register_server(&app_uuid1); sGattIf->server->add_service(4 , &servc_id1, 24); sGattIf->server->add_characteristic(4, 40, &app_uuid2, 0x02+0x10, 0x01); sGattIf->server->start_service(4, 40, 1); sGattIf->client->set_adv_data( 5 /* client_if */, 0 /* set_scan_resp */, 1 /* include_name */, 0 /* include_txpower */, 0x20 /* min_interval */, 0x100 /* max_interval */, 0 /* appearance */, 0 /* manifactureer_len */, NULL /* manifacturer_data */, 0 /* service_data_len */, NULL /* service_data */, 0 /* service_uuid_len */, NULL /* service_uuid */ ); sGattIf->client->listen( 5 /* server_if */, 1 /* start */ );
13.
PR スカイストリームでは、 • Bluedroid の各種OSへの移植 •
Bluetooth認証のサポート • 技術基準適合証明 / FCC / CE のサポート • Wi-Fi認証のサポート を行っています お問い合わせ:http://www.skystream.co.jp/ 人材も募集中です
14.
おまけ
15.
モバイルプラットフォームの Bluetoothプロトコルスタッ ク • iOS :
Bluemagic -> Apple? • Android : BlueZ -> Bluedroid -> system/bt • Windows Mobile : Microsoft? • Firefox OS : BlueZ -> Bluedroid • Tizen : BlueZ
Descargar ahora