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

2016-11-28 07:37:16
Satoru Ueda @Sat_U

今回は毎回リモートで参加のTim BirdさんやFrank Rowand さんも直接参加です。 elinux.org/Japan_Technica… #CELFJP

2016-11-28 07:38:37
suzaki @KuniSuzaki

久しぶりに(5年ぶり?)Japan Technical Jamboree 59に参加します。 elinux.org/Japan_Technica… #CELFJP

2016-12-02 10:06:32
Satoru Ueda @Sat_U

#celfjp 第59回ジャンボリー開始です!! ARM TechCon で参加者少ないかと思っていましたが・・・

2016-12-02 10:25:35
まさみさん⋈語りたい @mhiramat

4.7カーネルで入ったftrace histogram、まだ記事書いてなかったよね。 #CELFJP

2016-12-02 10:30:32
suzaki @KuniSuzaki

Kernel sizeでNicolas Pitreの仕事(System Call elimination)の紹介。これ試しているけどまだきちんとボルドできないでいます。何か情報があればください。 connect.linaro.org/resource/sfo15… #CELFJP

2016-12-02 11:00:29
Satoru Ueda @Sat_U

#celfjp ああ、この時間帯で55分で戻ってというのは無理だったか。誰も戻ってこられない。

2016-12-02 12:53:00
Satoru Ueda @Sat_U

ソニーの石川さん。NuttXの話! #celfjp

2016-12-02 13:18:35
まさみさん⋈語りたい @mhiramat

NuttXをポーティングする上でAndroidのWakeLockを同じようなAPIで提供するようにする話、アプリの開発者がAndroidに慣れているので、同じ概念のAPIがあれば勝手に対応してくれるとのこと。#CELFJP

2016-12-02 13:34:46
まさみさん⋈語りたい @mhiramat

NuttX、RTOSだけどELFローディングサポートしているので、最初からメモリのアドレスに固定しなくていい。デバッグ用のバイナリにロードして切り替えれるのも非常に嬉しい #CELFJP

2016-12-02 13:36:24
まさみさん⋈語りたい @mhiramat

ELFローダにセクションキャッシュ機能を追加して、使っていないメモリ領域にロードし、IOを減らした。あとC++11を使っていたりしてシンボルが長いから初めからハッシュにしておいた。結果、30倍近く高速化 #CELFJP

2016-12-02 13:39:48
まさみさん⋈語りたい @mhiramat

ESが来る前にFPGAで実装できた、さらにFPGAが来る前にはQemuで実装できた→結果ESが来てから4ヶ月で製品化。つまりHWが出てくるまでの間にどれだけ先行開発できるかが鍵 #CELFJP

2016-12-02 13:42:22
まさみさん⋈語りたい @mhiramat

openOCDでデバッグするときに、OS対応解析機能があると、OS内部のスレッドやタスクの解析機能が使えるようになる。そこでNuttX向けのサポートをOpenOCDに追加した。 #CELFJP

2016-12-02 13:46:24
まさみさん⋈語りたい @mhiramat

デバッグのためNuttXにコアダンプ機能も追加したらしい。#CELFJP

2016-12-02 13:48:16
まさみさん⋈語りたい @mhiramat

OpenOCDだけではなく、デバッグのためにadbのプロトコルを話せるエージェント?をNuttXにスクラッチから作ったらしい。これでファイルなども取ってこれるようになったと。 #CELFJP

2016-12-02 13:49:38
まさみさん⋈語りたい @mhiramat

ユニットテストもGoogletestから作ってpushして動かせるようにしたらしい。これでC++のユニットテストが実行できるようになったと。 #CELFJP

2016-12-02 13:51:45
まさみさん⋈語りたい @mhiramat

demo. ELFにしてロード・アンロードすることで、ボタンを押してUIが変わると、裏で動くアプリも切り替わる。ロードする瞬間、DVFSでクロックブーストすることで高速化。このデバッグ機能は製品にも入っているので、開発者モードにはいればadbでデバッグできる #CELFJP

2016-12-02 13:55:37
まさみさん⋈語りたい @mhiramat

テストも自動化されていて、スクリプトで外部からadb経由で動かすことができる。これによって並行テストが可能になったし、nightlyでテストを走らせ続けられるようになった。 #CELFJP

2016-12-02 13:56:50
まさみさん⋈語りたい @mhiramat

UIのマニュアルを作るために、スクリーンショットを取る機能も追加した。やろうと思えば、このスクリーンショットとテストを組み合わせれば、見た目のテストもできそうだけど、実際にはかなり難しい(多分正しい答えが何かを定義しにくいんだろう) #CELFJP

2016-12-02 13:58:25
まさみさん⋈語りたい @mhiramat

Cortex-M3でMPUを使って開発してみた結果、MPUのリージョン設定が限定的なので、MMUでやるみたいにきちんと保護できるわけではない、この部分が難しいとのこと。メモリ破壊が起きることはある。Qemuを使ってシミュレーションも併用してアプリのテストをした。 #CELFJP

2016-12-02 14:00:20
まさみさん⋈語りたい @mhiramat

メモリの制限が厳しいのが厳しかったとのこと。 #CELFJP

2016-12-02 14:00:47
まさみさん⋈語りたい @mhiramat

NuttXにもバグが結構あったが、OpenOCDで追いかけられたのが良かった。しかしOSSを使うことで再利用性が大きいのが助かったらしい。 #CELFJP

2016-12-02 14:01:44
まさみさん⋈語りたい @mhiramat

NuttXを選んだ理由→POSIX(ライクなAPI)とlibcサポートが最初から入っていたのが大きかった。POSIXベースのソフトウェア資産(bt stack)を持っていたので、ほとんど修正しないで使いまわせた。アプリ開発者も慣れている #CELFJP

2016-12-02 14:05:08
まさみさん⋈語りたい @mhiramat

ライセンスがBSDだったのもRTOSには良かった。またLinuxらいくなデバイスドライバの作りになっていたので、開発するときに楽だったというのも大きいとのこと。 #CELFJP

2016-12-02 14:06:11
まさみさん⋈語りたい @mhiramat

NuttX、SMPサポートが入ってき始めているのでこれを使いたいとのこと。またNetworkスタックもあるらしい。 #CELFJP

2016-12-02 14:07:24