Linux Foundation CEWG Japan Jamboree #59

http://elinux.org/Japan_Technical_Jamboree_59 こちらのまとめです!
0
Satoru Ueda @Sat_U
今週の金曜日は、Linux Foundation CEWGのJapan Jamboree です!中野サンプラザ8階研修室で、午前10時~。 elinux.org/Japan_Technica… #CELFJP
Satoru Ueda @Sat_U
今回は毎回リモートで参加のTim BirdさんやFrank Rowand さんも直接参加です。 elinux.org/Japan_Technica… #CELFJP
suzaki @KuniSuzaki
久しぶりに(5年ぶり?)Japan Technical Jamboree 59に参加します。 elinux.org/Japan_Technica… #CELFJP
Satoru Ueda @Sat_U
#celfjp 第59回ジャンボリー開始です!! ARM TechCon で参加者少ないかと思っていましたが・・・
まさみさん⋈語りたい @mhiramat
4.7カーネルで入ったftrace histogram、まだ記事書いてなかったよね。 #CELFJP
suzaki @KuniSuzaki
Kernel sizeでNicolas Pitreの仕事(System Call elimination)の紹介。これ試しているけどまだきちんとボルドできないでいます。何か情報があればください。 connect.linaro.org/resource/sfo15… #CELFJP
Satoru Ueda @Sat_U
#celfjp ああ、この時間帯で55分で戻ってというのは無理だったか。誰も戻ってこられない。
Satoru Ueda @Sat_U
ソニーの石川さん。NuttXの話! #celfjp
まさみさん⋈語りたい @mhiramat
NuttXをポーティングする上でAndroidのWakeLockを同じようなAPIで提供するようにする話、アプリの開発者がAndroidに慣れているので、同じ概念のAPIがあれば勝手に対応してくれるとのこと。#CELFJP
まさみさん⋈語りたい @mhiramat
NuttX、RTOSだけどELFローディングサポートしているので、最初からメモリのアドレスに固定しなくていい。デバッグ用のバイナリにロードして切り替えれるのも非常に嬉しい #CELFJP
まさみさん⋈語りたい @mhiramat
ELFローダにセクションキャッシュ機能を追加して、使っていないメモリ領域にロードし、IOを減らした。あとC++11を使っていたりしてシンボルが長いから初めからハッシュにしておいた。結果、30倍近く高速化 #CELFJP
まさみさん⋈語りたい @mhiramat
ESが来る前にFPGAで実装できた、さらにFPGAが来る前にはQemuで実装できた→結果ESが来てから4ヶ月で製品化。つまりHWが出てくるまでの間にどれだけ先行開発できるかが鍵 #CELFJP
まさみさん⋈語りたい @mhiramat
openOCDでデバッグするときに、OS対応解析機能があると、OS内部のスレッドやタスクの解析機能が使えるようになる。そこでNuttX向けのサポートをOpenOCDに追加した。 #CELFJP
まさみさん⋈語りたい @mhiramat
デバッグのためNuttXにコアダンプ機能も追加したらしい。#CELFJP
まさみさん⋈語りたい @mhiramat
OpenOCDだけではなく、デバッグのためにadbのプロトコルを話せるエージェント?をNuttXにスクラッチから作ったらしい。これでファイルなども取ってこれるようになったと。 #CELFJP
まさみさん⋈語りたい @mhiramat
ユニットテストもGoogletestから作ってpushして動かせるようにしたらしい。これでC++のユニットテストが実行できるようになったと。 #CELFJP
まさみさん⋈語りたい @mhiramat
demo. ELFにしてロード・アンロードすることで、ボタンを押してUIが変わると、裏で動くアプリも切り替わる。ロードする瞬間、DVFSでクロックブーストすることで高速化。このデバッグ機能は製品にも入っているので、開発者モードにはいればadbでデバッグできる #CELFJP
まさみさん⋈語りたい @mhiramat
テストも自動化されていて、スクリプトで外部からadb経由で動かすことができる。これによって並行テストが可能になったし、nightlyでテストを走らせ続けられるようになった。 #CELFJP
まさみさん⋈語りたい @mhiramat
UIのマニュアルを作るために、スクリーンショットを取る機能も追加した。やろうと思えば、このスクリーンショットとテストを組み合わせれば、見た目のテストもできそうだけど、実際にはかなり難しい(多分正しい答えが何かを定義しにくいんだろう) #CELFJP
まさみさん⋈語りたい @mhiramat
Cortex-M3でMPUを使って開発してみた結果、MPUのリージョン設定が限定的なので、MMUでやるみたいにきちんと保護できるわけではない、この部分が難しいとのこと。メモリ破壊が起きることはある。Qemuを使ってシミュレーションも併用してアプリのテストをした。 #CELFJP
まさみさん⋈語りたい @mhiramat
メモリの制限が厳しいのが厳しかったとのこと。 #CELFJP
まさみさん⋈語りたい @mhiramat
NuttXにもバグが結構あったが、OpenOCDで追いかけられたのが良かった。しかしOSSを使うことで再利用性が大きいのが助かったらしい。 #CELFJP
まさみさん⋈語りたい @mhiramat
NuttXを選んだ理由→POSIX(ライクなAPI)とlibcサポートが最初から入っていたのが大きかった。POSIXベースのソフトウェア資産(bt stack)を持っていたので、ほとんど修正しないで使いまわせた。アプリ開発者も慣れている #CELFJP
まさみさん⋈語りたい @mhiramat
ライセンスがBSDだったのもRTOSには良かった。またLinuxらいくなデバイスドライバの作りになっていたので、開発するときに楽だったというのも大きいとのこと。 #CELFJP
まさみさん⋈語りたい @mhiramat
NuttX、SMPサポートが入ってき始めているのでこれを使いたいとのこと。またNetworkスタックもあるらしい。 #CELFJP
残りを読む(17)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする