
前回はArmの32ビットと64ビットのモードと命令セット(機械語命令の幅は、どちらも32ビット)の件でした。Arm(腕)には、Thumb(親指)あり、今回は、32ビットモードのArmプロセッサの多くが備えるThumbという名の16ビット幅の機械語命令セットにどうやって切り替えるのか、というところを実際に動かして確認してみたいと思います。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回はArmの32ビットと64ビットのモードと命令セット(機械語命令の幅は、どちらも32ビット)の件でした。Arm(腕)には、Thumb(親指)あり、今回は、32ビットモードのArmプロセッサの多くが備えるThumbという名の16ビット幅の機械語命令セットにどうやって切り替えるのか、というところを実際に動かして確認してみたいと思います。
遥かな昔、結構アセンブラ書いていた時期があるのですが、この頃(といっても多分二十年くらい前から)はあまり書かなくなりました。仕事のせいもあるけれど、多分、昔に比べたら書かなくても済むことが多いから。そのせいもあってArmには時折お世話になっておりながら、ほとんどArmでアセンブラ書いたことがありませぬ。最近、Raspberry Pi 3 model B+ を触ることが結構多く、この際、ちょっとArmのアセンブラを勉強しておこうと思い立った次第。 “ぐだぐだ低レベルプログラミング(2) ラズパイでアセンブラ、最初の一歩かな?” の続きを読む
前回、Raspberry Pi 3のカーネルモジュールがビルドできるようになったので、つい嬉しくなって、ユーザモードで ArmコアのPMCCNTRレジスタを読み取れるようにするモジュールを書いてみました。しかし、マルチコアのことを棚にあげて書いたせいで、使い勝手が悪すぎました。今回は、マルチコア問題を回避しつつ、多少使いでを改良してみました。 “ぐだぐだ低レベルプログラミング(1) Raspberry Pi 3, PMC利用カーネルモジュール改版” の続きを読む