かめら工房

ものを作ったり,写真撮ったり

Semihostingとかいうのを使ってみる

どうも かめらです.

前回の最後にprintfでうんたらかんたらってのやりたいってのを書いたんですが,

 

できてません().

ただ,CooCox CoIDEの機能にsemihostingという機能があってそれを使うとPCとシリアル通信っぽい挙動が真似できるらしいので実装してみました.

といってもほぼやることはないんですが・・・.
以下やり方


1.Repository STEP3のCOMMONタブのSemihostingにチェックを入れる.

f:id:ks7jistra:20150901014120p:plain


2.ConfigurationのDebuggerタブでSemihosting Enableにチェックを入れる.

f:id:ks7jistra:20150901014123p:plain


3.printf.cの中身を書き換える.

f:id:ks7jistra:20150901014126p:plain


stdio/printf.cを開き,先頭に#include <semihosting.h>と記述し,PrintChar関数に追記する.
semihostingの機能を使う.ここでは,SH_SendChar(c);と追記する.

4.使う
main関数の中で普通にprintfしたい内容を書いてマイコンに書き込み

f:id:ks7jistra:20150901014129p:plain

(内容は超適当

5.デバッグ(Ctrl+F5)

f:id:ks7jistra:20150901014132p:plain

 

6.表示

f:id:ks7jistra:20150901014135p:plain

下のSemihostingタブに結果が表示される.

 

ただしこのprintfデバッグ,アホみたいに速度が遅いのであくまで動作確認用としてお使いください.(画像では伝わらないがDelayも何も入れてないのにiの数が0.1sくらいでカウントアップされてる

 

あると便利なくても困らない機能なので覚えておけばいいかもです.