概要 VSCodeでArduino開発環境を構築するまでのメモ。 Windows10 20H2 上で環境構築した。*1 VSCodeで開発環境を構築できるようなので、VSCode入門もかねて環境構築した。 目次 概要 目次 ダウンロード VSCode Arduino SDK VSCodeのarduino拡張 設定 VSCode…
golang についてのメモ。適宜追加。 The Go Programming Language 目次 目次 組み込み関数 ドキュメント string アクセス方法ごとの返り値 slice lengthとcapacity sliceは参照型 sliceのcopy sliceの一部を参照する array 宣言 arrayを参照するsliceの生成 …
加筆修正したものをこちらに書きました。v2.2.0からbinary.Write相当のAPI、bit.Writeをサポートしました。 Golangでバイナリ等のbit操作を行うためのライブラリ go-bit | Zenn 概要 go で 主にバイナリファイルの読み出し等に使えるbit操作ライブラリを作り…
追記 Go1.15 からのreflectパッケージの挙動の違いについて | Zenn にも掲載してみました。 概要 Go1.15からreflectパッケージの一部挙動が変わった。これにより、Go1.14以前で動作していたコードがPanicしうる。 非公開構造体を埋め込み、その構造体のメソ…
概要 fluentbit.io fluent-bit には Lua スクリプトでfilterできるプラグインがあります。 これを使うと、下記のようなことができます。 recordに情報を追加する 特定の条件にマッチしたrecordをフィルタする record内の特定の情報を削除する 目次 概要 目次…
概要 UEFI Shellについてのメモ。 目次 概要 目次 UEFI Shellとは UEFI Shell の動作環境構築 Ubuntu 20.04上のQEMU上でShellを試す インストール方法 起動方法 Shell上からホスト上のディレクトリにアクセスできるようにする リンク ソース ユースケース he…
概要 Golangで、MessagePackの解析用ライブラリとそれを使用したサンプルツールを作成しました。 github.com ビルド済みバイナリはReleases から取得できます。 MessagePackとは JSONのようなデータ構造を、バイナリ形式で表現したデータ形式です。 大抵の場…
UEFI の Runtime serviceをLinuxのカーネル空間からアクセスする方法について。 手元にあった Linux 4.1.27 で確認しています。 ざっくりまとめ include/linux/efi.h に efiという構造体が定義されていて、そこにRuntime serviceの各APIの関数ポインタが集約…
Fluent-Bit v0.12 が2017/08にリリースされました。parser pluginが少しずつ充実してきました。 http://fluentbit.io/download/ Fluent-Bit とは? Cで書かれた軽量なLog forwarder です。どんなソフトかは下記記事を参照して下さい。 nokute.hatenablog.com …
Fluent-Bit v0.11 が2017/03にリリースされました。今回のリリースはかなりすごいですよ! http://fluentbit.io/download/ おおまかなTopic in_tail Plugin (ログをはじめとするファイルの各行を収集) in_disk Plugin (ストレージへの Read/Write アクセスサ…
FluentBitとは IoT機器や組み込み機器を対象としたオープンソースのデータコレクタです。名前から分かる通り、Fluentdの兄弟アプリで、Treasure Dataのエンジニアが中心となって開発が進められています。 このソフトでは、例えば、 定期的にCPU使用率を取得…
mtraceについてのメモ。 何ができるのか mallocして、freeし忘れたと思われる領域をピックアップしてくれる。 ただし、GNU拡張機能なので、どこの環境でも使えるわけではない。 どうやるのか 3行のソース修正、デバッグオプションビルド、トレースしながら実…
参考にしたサイト 下記サイトのお作法でやってみた。 そのままだと、私の環境下ではpush時に403になったので、メモしておく。 blog.mogmet.com qiita.com rcmdnk.github.io
Linux Kernel 4.1からARMでもearly_memtest可能になった メモリチェックソフトとしてはmemtest86が有名だけれど、このソフトのチェック処理はX86のアセンブラで書かれており、ARM上では動作しない。 移植作業はホネが折れるがメモリテストはしておきたい。 …
(参考サイト) Kernel Building - Raspberry Pi Documentation RaspberryPi - Raspberry Piのカーネルをクロスコンパイルする - Qiita Raspberry Pi2のカーネルの再構築とGW-450Dを使えるようにする。 - 石を売る raspberry pi 2のカーネルソースとツール取…
出力方法 Logクラスのメソッドを使う。 Log.dのように、ログレベルの頭文字のメソッドが用意されている。 ERRORより酷いエラー*1の場合は、wtf *2 メソッドを使う。 フォーマット 幾つかある。logcat -v <format_name> でフォーマット指定が可能。 threadtime [日付] [時</format_name>…