あらすじ Google Summer of Code(GSoC)でやることの一つとして、STM32F7マイコンでUART(シリアル)を使うためのLinuxドライバを書いています。 STM32F7とSTM32F4のシリアルペリフェラルはほとんど同じ*1なので、STM32F4のものをベースにSTM32F7向けのコード…
これまでのあらすじ 2016年の2月の終わり頃,Raspberry Pi 3(以下,RasPi3)が発売されました. 日本では技適のいろいろがありまして,その1ヶ月後の3月終わり頃から秋月やマルツなどで購入できるようになりました. RasPi3の特徴は,Raspberry Pi 2まで採…
一連のツイート @tnishinaga そのデバイスのことは分からないのですが、アップストリームに投げる前提ですか?手元で切り替えるだけだったたらconfigシンボルでifdefiしてしまえばいいと思います。https://t.co/FCpxTh1M9y— nekomatu@名古屋 (@nekomatu) Mar…
問題 いつの間にかlibvirtを使っていた仮想マシンが起動も設定もできなくなっていた. 以下のコマンドでlibvirtを再起動しても,長時間待たされた後にタイムアウトする. $ sudo systemctl restart libvirtd.service journalctlでログを見てみると,dmidecod…
本日1週間ぶりくらいに pacman -Syu したところ,以下のエラーが出ました. error: confuse: signature from "Thorsten Töpper <atsutane@freethoughts.de>" is unknown trust 調べてみると以下の記事がヒット. [Solved] confuse 2.7-3 install error: mainatainer gpg key is unknown</atsutane@freethoughts.de>…
tnishinaga.hatenablog.com この記事の続きです. 前回はLinuxカーネルをビルドして動かしてみるところまでやりました. 今回はdebianのイメージを作って動かしてみたいと思います. debootstrapでdebian環境を作る debootstrapはdebianの基本システムを簡単…
先日,セキュリティミニキャンプ沖縄2015にチューターとして参加させていただきました. そこでお手伝いしながら木藤さんの講義「組込みシステム解体新書(入門編)」を聞いていたところ,組み込み機器をいじりたい欲がむくむくと湧き出してきたので,以前とあ…
この記事はmbed Advent Calendar 2015の9日目の記事です. お久しぶりです. 今回の紹介するPyOCDは,mbedのプログラミングやデバッグに使えるPythonのライブラリです. 昨年のmbedアドベントカレンダーではmbedをデバッグするために使用していました. tnis…
UEFIアプリケーションでファイルを任意のメモリアドレスにロードする方法についてのメモです. ブートローダーを作ったりするのに役立つと思います. 開発環境はEDK2(28f27af6f007c3794fcc9d098ef91713160f4e5b),OSはArch Linuxを使いました. これを行う…
リモート接続してCUI環境で作業することが多くなってきたので,CUIなテキストエディタも使えるように環境を整備し始めました. 基本的に政治と宗教の話はしないのですが,私はemacsを使うことにしました. emacsベテランの方はいろいろ教えていただけると嬉…
VyOSのISOイメージをビルドする方法のメモです. 最新バージョンのVyOSを用いる場合等は,自分でISOビルドしないと使えないはずです. 基本的な手順は以下のサイトを参照. Howto build an ISO image - VyOS vyos/build-isogithub.com ISOの作り方 1. ビルド…
以下の様な設定をEdgeRouterに行ったが,DHCPv6-pdが失敗してIPが降ってこない. set interfaces ethernet eth0 pppoe 1 user-id imhXXXXXXX@bnf6.iij.ad.jp set interfaces ethernet eth0 pppoe 1 password mypass set interfaces ethernet eth0 pppoe 1 mt…
家のネット回線が光になりました. プロパイダは iijmioひかり です. キャッシュバック価格などを含めたひと月あたりの回線価格は他のプロパイダのほうが安いのですが,評判を見ると耐えられないほど速度が出ないとあったので,国内老舗ISPであるIIJなら信…
3月27-29日にKernelVMキャンプに参加してきました. その成果報告をここに書きます. 知らない方のために説明すると,KernelVMキャンプは東京の山奥に籠もり昼夜問わず黙々とハックし続ける非常に厳しいキャンプで……えっ? 温泉? あいまいみー? 女装ヒルク…
タイトルのとおりです. BareMetalなRaspberry Pi2にJTAGデバッガをつなげて,gdbでレジスタ読んだり実行止めたり出来ました. とりあえず,メモだけ残します. 参考にしたサイト http://www.raspberrypi.org/forums/viewtopic.php?f=72&t=100268 用意するも…
以下の様な16bit即値をレジスタr0に代入するコードをコンパイルしたところ,エラーとなったので,解決策をメモする. ターゲットはRaspberry Pi 2.コンパイラはgcc 4.7.2 mov r0, #0xffff ARMの公式ドキュメントを読んでみると ARMv6T2 以上のアーキテクチ…
ARMの仮想化支援機能を使ってみたかったので, 現在しゅううさん(@syuu1228)と一緒に教育用自作VMMを作成中です. もちろん,BareMetalで. 対象ボードは,とりあえずCortex-A7を積んだRaspberry Pi 2を予定中. (ARM64なボードが届いたらそちらに移るかも…
go言語コンパイラのビルド方法が,半年前に触ったときと違ったので,現在の方法をメモっておく. 環境 Fedora 21 x86_64 Golang 1.4.2 ( c62b003eba484d54c2707b379d29240e5367e98f ) インストール方法 ソースのクローン 半年前はmercurialで管理していた気…
Raspberry Pi 2が届いたので、とりあえず使用感・性能・消費電流について簡単にチェックしてみました。 使用感 かなり快適です。感動しました。 Raspberry Pi 1はCUIですら反応が遅く、デスクトップを起動すると遅すぎてとても使えないレベルでした。 しかし…
LPC812をmbedライブラリを用いて開発したかったので、mbedライブラリのビルド方法を調べました。 事前準備 Python2.xのインストールとパスの設定 Keil MDK-ARM v5のインストール インストール方法 基本は高橋さんの記事のとおりですが、少々変更点があります…
mbed LPC1768でWDTを使う方法を調べたので、備忘録として記す。 リファレンス LPC176x/5x User manual WDTとは Watch Dog Timer、直訳で番犬タイマー。 マイコンの暴走や無限ループに陥った際、強制的にリセットをかける機構。 WDTはカウントダウンタイマー…
mbed Advent Calendar 2014の11日目です。 まえおき mbedとの関わり 現在私はmbedのプログラムを アセンブリ言語でコードをゴリゴリ実装して、バグを作っては治すを繰り返す日々をおくっています。 デバッガは必須 アセンブリ言語はCに比べて低級な言語なの…
先日mbed用のコンパイル環境を作る方法を解説した際、PyOCDのインストール方法については省略した。 mbedのオフラインコンパイル環境を作った - Toshifumi Nishinagaの技術めも その理由はPyOCDがLinuxとWindowsにしか対応しておらず、Linux上でのインストー…
GCCを用いてC++のファイルからCやアセンブラで定義した関数が呼び出せない問題に引っかかったので、解決方法を記す。 解決方法 ヘッダなどでの関数定義に、以下のように "C" を入れるだけ。 extern "C" void hoge(void); これだけでCやアセンブラの関数を呼…
AVRマイコンとはお手軽マイコン開発ツール群Arduinoに使われているマイコンである。 今回はATMEGA2560を用いる必要があったので、マイコン基板にはArduino MEGA2560を用いた。 書き込み器はAVRISP mk2を購入した。 開発環境の構築 基本的には、橋本商会さん…
mbedとは、お手軽マイコン開発ツール群であるArduinoのARM版のようなものである。 オンラインのIDEを用い、mbedライブラリとユーザーの公開しているライブラリを用いてお手軽に開発を行うことができる。 しかし、デバッグはオンラインでは行えない。 デバッ…
背景 タイトルそのままなので省略。 なお、crosstool-ngのインストールにはhomebrewを用いた。 $ brew install crosstool-ng crosstoo-ng version $ brew info crosstool-ng crosstool-ng: stable 1.19.0 http://crosstool-ng.org /usr/local/Cellar/crossto…
自宅でメインに使っているMBPの動作が遅すぎて遅すぎて仕事にならないのでこれを機に買い換えたかったのですが、 まるまる買い換えるほどお金の余裕がないので、HDDをSSDに換えることで高速化を図ることにしました。 今回購入したSSDは以下。 SanDisk SSD Ul…
著書「BareMetalで遊ぶ Raspberry Pi」追記のため、U-Bootを使ってプログラムをネットワークブートさせながら開発しようとしたのですが、RasPiがプログラムを拾ってこれずにこけてしまいました。 試しにログを吐かせてみると、こんなエラーが出ていました。 …
C言語でメモリ関連のバグを作ったときは普通coredumpを読んで調べて行くみたいだけれど、私の環境ではなぜかcoredumpが出ませんでした。 調べて見ると、最近のLinuxではulimitで設定しないとcoredumpを吐いてくれないらしい。 デバッグ/コアダンプ - S.T.K W…