タグ

ブックマーク / qiita.com/tetsu_koba (3)

  • クロスコンパイルを考慮したbindgenの使い方 - Qiita

    先日の記事の続き。 RustLinuxのinput eventをダンプする (bindgen使用) ビルド時にbindgenするように変更 bindgen users guide のチュートリアルに従って、cargoでビルドするときにbindgenを実行するようにbuild.rsを作りました。 そのソースコードはgithubに置きました。 クロスビルドに対応できるようにbuild.rs を修正 ARM64向けにクロスビルドするとbindgenでエラーが発生するようになりました。 クロスビルドのときには参照するシステムのヘッダファイルもそれに応じて変える必要がありますが、それがbindgenに伝わっていないのが原因です。 環境変数 SYSROOTが設定されている場合には、それを--sysroot=に反映させるようにbuild.rs を書き直しました。 extern crate bindge

    クロスコンパイルを考慮したbindgenの使い方 - Qiita
    komlow
    komlow 2018/10/15
  • Linuxのユーザーランドをinitから全てまるごとgolangで書く - Qiita

    gokrazy を試してみました。 gokrazyとは https://gokrazy.org/ "gokrazy is a pure-Go userland for your Raspberry Pi 3 appliances" Linuxのユーザーランドをinitから全てまるごとgolangで書いてあるシステムで、しかもコマンド一発でRaspberry Pi 3用にビルドして、ブートするSDカードを作成してくれます。 Quick startの手順通りにSDカードを作って動作することを確認しました。 (ただし、host名gokrazyの解決ができなったので、別の方法でラズパイのIPアドレスを特定してIPアドレス直接指定で、そこで動くWebサーバに接続しました。) びっくりする小ささ SDカード上に作られたルートファイルシステムを見てみました。 $ df -h . Filesystem S

    Linuxのユーザーランドをinitから全てまるごとgolangで書く - Qiita
  • 組み込みLinuxでGolangのススメ - Qiita

    一年近く、組み込みLinuxでのユーザープロセスをgolangで書くことを試していたのですが、これはいける! という感触を持ちました。 仲間を増やしたいと思うので、ここにその情報を紹介します。 #何をしたか 既存の製品をベースにして、新機能の実装をGolangで書いてみました。 既存の部分はCで書いてあります。Golangで書いた新機能部分は別プロセスになっています。 既存部分とのやりとりは場面によって以下を使い分けました。 cgoによる関数呼び出し UNIXドメインソケットの通信 シグナル Golangで書いた部分には以下の要素を含みます。 UARTやi2cで接続されたセンサーからデータを受け取る インターネット上のWebサービスAPIを使用する 2Dグラフィックスの描画 (cairoを使用) 最大性能を目指すよりも、十分な性能を手早く形にすることを重視しました。 #Golangでよか

    組み込みLinuxでGolangのススメ - Qiita
  • 1