読者です 読者をやめる 読者になる 読者になる

/home/tnishinaga/TechMEMO

日々行ったこと、面白かったことを書き留めます。

QEMUでCortex-M3/M4マイコンボードをエミュレーションしてLチカする話

GNU ARM Eclipse QEMUを用いるとCortex-Mマイコンのプログラムをエミュレータを使ってパソコンの上で行うことができました。

PyOCDを使ってmbedをデバッグする(2015年末ver)

この記事はmbed Advent Calendar 2015の9日目の記事です. お久しぶりです. 今回の紹介するPyOCDは,mbedのプログラミングやデバッグに使えるPythonのライブラリです. 昨年のmbedアドベントカレンダーではmbedをデバッグするために使用していました. tnis…

mbed LPC1768でWatchDogTimerを扱う

mbed LPC1768でWDTを使う方法を調べたので、備忘録として記す。 リファレンス LPC176x/5x User manual WDTとは Watch Dog Timer、直訳で番犬タイマー。 マイコンの暴走や無限ループに陥った際、強制的にリセットをかける機構。 WDTはカウントダウンタイマー…

Macでmbedをデバッグする方法についてのまとめ

mbed Advent Calendar 2014の11日目です。 まえおき mbedとの関わり 現在私はmbedのプログラムを アセンブリ言語でコードをゴリゴリ実装して、バグを作っては治すを繰り返す日々をおくっています。 デバッガは必須 アセンブリ言語はCに比べて低級な言語なの…

MacにPyOCDをインストールする方法について

先日mbed用のコンパイル環境を作る方法を解説した際、PyOCDのインストール方法については省略した。 mbedのオフラインコンパイル環境を作った - Toshifumi Nishinagaの技術めも その理由はPyOCDがLinuxとWindowsにしか対応しておらず、Linux上でのインストー…

mbedのC++コードからCやアセンブラの関数を呼び出す

GCCを用いてC++のファイルからCやアセンブラで定義した関数が呼び出せない問題に引っかかったので、解決方法を記す。 解決方法 ヘッダなどでの関数定義に、以下のように "C" を入れるだけ。 extern "C" void hoge(void); これだけでCやアセンブラの関数を呼…

mbedのオフラインコンパイル環境を作った

mbedとは、お手軽マイコン開発ツール群であるArduinoのARM版のようなものである。 オンラインのIDEを用い、mbedライブラリとユーザーの公開しているライブラリを用いてお手軽に開発を行うことができる。 しかし、デバッグはオンラインでは行えない。 デバッ…