mbedでインラインアセンブラ [マイコン]
どれもこれもよくわからないが、
main.cpp
://Nucleo_blink_led2
:#include "mbed.h"
:DigitalOut myled(LED1);
:DigitalOut myout(D8);
:int main() {
: while(1) {
: myled = 1; // LED is ON
: myout = 0;
: wait(0.2); // 200 ms
: myled = 0; // LED is OFF
: myout = 1;
: __asm volatile
: (
: " NOP \n"
: " NOP \n"
: " NOP \n"
: " NOP \n"
: );
: wait(1.0); // 1 sec
: }
:}
これでよいのか? とりあえずは、エラーが出ない。
できあがったバイナリファイルはNOPが無いときより6バイト増えている。
しかし、わからないのは、NOP1つでは無いときと変わらない。
次はもう少し中身のあるアセンブラにしよう。
あっ、: はスペースが消えないように入れただけで、
本当はありません。でも、消えているなあ。インデントはどうするのだ。
追記
見つけました。
STM32マイコンでアセンブリしたい!(インラインアセンブラ編)
http://blueeyes.sakura.ne.jp/2018/01/23/825/
main.cpp
://Nucleo_blink_led2
:#include "mbed.h"
:DigitalOut myled(LED1);
:DigitalOut myout(D8);
:int main() {
: while(1) {
: myled = 1; // LED is ON
: myout = 0;
: wait(0.2); // 200 ms
: myled = 0; // LED is OFF
: myout = 1;
: __asm volatile
: (
: " NOP \n"
: " NOP \n"
: " NOP \n"
: " NOP \n"
: );
: wait(1.0); // 1 sec
: }
:}
これでよいのか? とりあえずは、エラーが出ない。
できあがったバイナリファイルはNOPが無いときより6バイト増えている。
しかし、わからないのは、NOP1つでは無いときと変わらない。
次はもう少し中身のあるアセンブラにしよう。
あっ、: はスペースが消えないように入れただけで、
本当はありません。でも、消えているなあ。インデントはどうするのだ。
追記
見つけました。
STM32マイコンでアセンブリしたい!(インラインアセンブラ編)
http://blueeyes.sakura.ne.jp/2018/01/23/825/
2018-01-22 23:35
nice!(0)
コメント(0)
コメント 0