VSCodeでarduino開発環境構築メモ

概要 VSCodeでArduino開発環境を構築するまでのメモ。 Windows10 20H2 上で環境構築した。*1 VSCodeで開発環境を構築できるようなので、VSCode入門もかねて環境構築した。 目次 概要 目次 ダウンロード VSCode Arduino SDK VSCodeのarduino拡張 設定 VSCode…

golang メモ

golang についてのメモ。適宜追加。 The Go Programming Language 目次 目次 組み込み関数 ドキュメント string アクセス方法ごとの返り値 slice lengthとcapacity sliceは参照型 sliceのcopy sliceの一部を参照する array 宣言 arrayを参照するsliceの生成 …

Golangでバイナリ等のbit操作を行うためのライブラリ go-bit

Go

加筆修正したものをこちらに書きました。v2.2.0からbinary.Write相当のAPI、bit.Writeをサポートしました。 Golangでバイナリ等のbit操作を行うためのライブラリ go-bit | Zenn 概要 go で 主にバイナリファイルの読み出し等に使えるbit操作ライブラリを作り…

Go1.15 からのreflectパッケージの挙動の違いについて

追記 Go1.15 からのreflectパッケージの挙動の違いについて | Zenn にも掲載してみました。 概要 Go1.15からreflectパッケージの一部挙動が変わった。これにより、Go1.14以前で動作していたコードがPanicしうる。 非公開構造体を埋め込み、その構造体のメソ…

fluent-bit の lua filter plugin 使用例

概要 fluentbit.io fluent-bit には Lua スクリプトでfilterできるプラグインがあります。 これを使うと、下記のようなことができます。 recordに情報を追加する 特定の条件にマッチしたrecordをフィルタする record内の特定の情報を削除する 目次 概要 目次…

UEFI Shell の コマンド

概要 UEFI Shellについてのメモ。 目次 概要 目次 UEFI Shellとは UEFI Shell の動作環境構築 Ubuntu 20.04上のQEMU上でShellを試す インストール方法 起動方法 Shell上からホスト上のディレクトリにアクセスできるようにする リンク ソース ユースケース he…

MessagePackを解析するためのライブラリ/ツール msgpack-microscope

概要 Golangで、MessagePackの解析用ライブラリとそれを使用したサンプルツールを作成しました。 github.com ビルド済みバイナリはReleases から取得できます。 MessagePackとは JSONのようなデータ構造を、バイナリ形式で表現したデータ形式です。 大抵の場…

カーネル空間からUEFI Runtime APIを触る

UEFI の Runtime serviceをLinuxのカーネル空間からアクセスする方法について。 手元にあった Linux 4.1.27 で確認しています。 ざっくりまとめ include/linux/efi.h に efiという構造体が定義されていて、そこにRuntime serviceの各APIの関数ポインタが集約…

Fluent-Bit v0.12 リリース

Fluent-Bit v0.12 が2017/08にリリースされました。parser pluginが少しずつ充実してきました。 http://fluentbit.io/download/ Fluent-Bit とは? Cで書かれた軽量なLog forwarder です。どんなソフトかは下記記事を参照して下さい。 nokute.hatenablog.com …

Fluent-Bit v0.11 リリース

Fluent-Bit v0.11 が2017/03にリリースされました。今回のリリースはかなりすごいですよ! http://fluentbit.io/download/ おおまかなTopic in_tail Plugin (ログをはじめとするファイルの各行を収集) in_disk Plugin (ストレージへの Read/Write アクセスサ…

IoTや組み込み向けのデータコレクタ、FluentBitについて

OSS

FluentBitとは IoT機器や組み込み機器を対象としたオープンソースのデータコレクタです。名前から分かる通り、Fluentdの兄弟アプリで、Treasure Dataのエンジニアが中心となって開発が進められています。 このソフトでは、例えば、 定期的にCPU使用率を取得…

freeし忘れた領域を教えてくれるmtrace

mtraceについてのメモ。 何ができるのか mallocして、freeし忘れたと思われる領域をピックアップしてくれる。 ただし、GNU拡張機能なので、どこの環境でも使えるわけではない。 どうやるのか 3行のソース修正、デバッグオプションビルド、トレースしながら実…

GithubでPull Requestするまで

参考にしたサイト 下記サイトのお作法でやってみた。 そのままだと、私の環境下ではpush時に403になったので、メモしておく。 blog.mogmet.com qiita.com rcmdnk.github.io

ARMでメモリテスト Raspberry Pi2 でLinuxのearly_memtest

Linux Kernel 4.1からARMでもearly_memtest可能になった メモリチェックソフトとしてはmemtest86が有名だけれど、このソフトのチェック処理はX86のアセンブラで書かれており、ARM上では動作しない。 移植作業はホネが折れるがメモリテストはしておきたい。 …

Raspberry Pi 2 カーネル4.0.7のクロスコンパイルメモ

(参考サイト) Kernel Building - Raspberry Pi Documentation RaspberryPi - Raspberry Piのカーネルをクロスコンパイルする - Qiita Raspberry Pi2のカーネルの再構築とGW-450Dを使えるようにする。 - 石を売る raspberry pi 2のカーネルソースとツール取…

AndroidのLogについて

出力方法 Logクラスのメソッドを使う。 Log.dのように、ログレベルの頭文字のメソッドが用意されている。 ERRORより酷いエラー*1の場合は、wtf *2 メソッドを使う。 フォーマット 幾つかある。logcat -v <format_name> でフォーマット指定が可能。 threadtime [日付] [時</format_name>…