2017-01-01から1年間の記事一覧

OpenOCD + ST-LinkでFirmware書き込み

OpenOCDを使ってSTM32F401 Nucleo-64にST-Link経由でFirmwareを書き込む。 OpenOCDとST-Linkドライバのインストール Arch Linuxなら以下のコマンドでインストールする。 $ pacman -S openocd stlink Firmwareを書き込む OpenOCDで指定できるinterface, targe…

Rustでクロスコンパイル

x86_64-unknown-linux-gnuのホスト環境上で、CHIP向けのバイナリをRustでクロスコンパイルすることを目的とする。 概要 rustup target add ${target_triple} でターゲットのツールチェインを追加 ターゲットのリンカをインストール Cargoのconfigファイルに…

環境構築の検証用にDockerを使う

Rustのクロスコンパイル環境構築の検証にDockerを使い始めた。 開発環境を構築する際、最初は試行錯誤しながら行なうため、さぁ環境が構築ができた、となった時に行なってきた手順のどれが最低限必要なものだったのかがわからなくなることが多い。 必要だと…

Target Triple

Rustのコンパイラのソースコードの中で使用されていた"Triple"という言葉の意味がわからなかったので調べた。 Target Triplet - OSDev Wiki Target Triplets describe a platform on which code runs and are a core concept in the GNU build system. They …

Arch Linux上にRe:VIEWをインストールする

書籍執筆支援システムRe:VIEWの環境構築のメモ。 依存パッケージのインストール Re:VIEWを使うために必要なパッケージをインストールする。 $ sudo pacman -S ruby ruby-rubyzip texlive-most texlive-langjapanese poppler-data dvipdfmxのフォントのエラー…

vim-plug: プラグインがインストール済みかどうかを判定する

Vim

追記: 以下の記事にfunction! s:plug.is_installed(name)としてプラグインの存在確認方法が載っていました。 おい、NeoBundle もいいけど vim-plug 使えよ by @b4b4r07 on @Qiita 例として、プラグインの存在確認をするための関数を定義してみます。vim-plug…

bit置換

bit

ある値のn bit目からn+m bit目までを別の値で置き換えたい、という時がある。 例えば、以下のような値a,bがあったとして uint8_t a = 0b01010101; // 0x55 uint8_t b = 0b10101010; // 0xAA aの値の2〜4bit目をbの値で置き換えた値cを求めたい。 a,bが上記の…