タグ

ARMに関するMonMonMonのブックマーク (4)

  • ARMマイコンを使ったスプリットキーボードの作り方 - 5z6p Instruments

    この記事では Casasagiの開発から得た知見として、ARMマイコン STM32F072C8T6を使用したスプリットキーボードの回路や動作とQMK Firmwareの実装についてATMEGA32u4(pro micro)との差を中心に解説します。 開発中のキーボードのため、間違えた情報が混ざっているかもしれませんし、QMK Firmwareの実装も変わっているかもしれません。ご注意下さい。 最初にまとめ 基的にはATMEGA32u4(Pro Micro)の回路と同じUSBの5V電源から3.3Vにする必要があるUSBの信号線に抵抗は要らないシリアルLED(WS2812b互換のSK6812MINI)を使うなら QMK Firmwareのドキュメント WS2812 Driver を読むプルアップ抵抗で5Vに吊るスプリットの通信は QMK Firmwareのドキュメント ‘serial’ Dr

    ARMマイコンを使ったスプリットキーボードの作り方 - 5z6p Instruments
  • ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita

    // gcc-10 -march=armv8.3-a arm-jcvt.c という風にコンパイル #include <stdio.h> #include <math.h> #include <inttypes.h> #include <arm_acle.h> // Prototype: // int32_t __jcvt(double); #if defined(__GNUC__) __attribute__((noinline)) #endif int32_t cast_double_to_i32(double x) { return (int32_t)x; } int main(void) { printf("(int32_t)(-2.8) = %" PRId32 "\n", cast_double_to_i32(-2.8)); printf("(int32_t)1.99 = %" P

    ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita
  • ARMアセンブリについてのメモ - ももいろテクノロジー

    ARM EABI(armel)についてのメモ。 RealView Compilation Tools アセンブラガイド バージョン 4.0 ARMレジスタ r0からr15までのレジスタとcpsrレジスタがあり、r11はフレームポインタ(fp)、r12はプロシージャ内呼び出しスクラッチレジスタ(ip; intra-procedure call scratch register)、r13はスタックレジスタ(sp)、r14はリンクレジスタ(lr)、r15はプログラムカウンタ(pc)として使われる。 cpsrレジスタは主にフラグレジスタの役割を持つ。 x86との比較でいえば、fpはebp、spはesp、lrはリターンアドレス、pcはeip、cpsrはeflagsにそれぞれ対応する。 ただし、 pcは演算の際、現在実行している命令のアドレス+8として評価される ことに注意。 また、objdumpコマ

    ARMアセンブリについてのメモ - ももいろテクノロジー
  • 関数呼び出しsh、ARM、x86編 - ぱたへね

    残りのプロセッサについても、さっとまとめました。 Cソース/アセンブラはここにまとめてあります。 SH SHの場合、引数が4つまではレジスタ渡し、5つ目からスタックを使用します。 関数の呼出はjsr命令を使い、戻るときはrts命令を使います。 他のRISCプロセッサと違い、戻り先がスタックに保存される所が特徴です。 ARM ARMの場合も、引数が4つまではレジスタ渡し、5つ目からスタックを使用します。 関数の呼出はbl命令を使います。この命令により、戻り先はlr(リンクレジスタ)に保存されます。関数から戻るときはmov pc, lrでPCを上書きします。gccは、mov命令の代わりにbx lr命令を出しますが、プロセッサのモード変更を行うという点を除き無条件ジャンプと等価です。 x86 x86は引数はスタック渡し、戻り先もスタックに格納します。 x86はわかりやすい説明が多いので、リンクの

    関数呼び出しsh、ARM、x86編 - ぱたへね
  • 1