C

d16(An) の記述方法

C

bitswap (データバスのビットを不規則に交換する)をソフトでやらせると必然的に命令が大量のものになり、10MHz の CPU にやらせるのは現実的ではないと判断した。そこでハードウェアで代替処理をやらせる。 moveq #1,%d1 and.l %d2,%d1 moveq #15,%d0 lsl.l …

ぷち fatfs を PC 上で試してみる

C

組み込み機器用のミドルウェアであるぷち fatfs (以下、pff) は移植性の高いソースとなっており、 fat のディスクイメージを用意すれば PC 上でも簡単に動作を確認することができます。 PC 上で動かす利点 一見遠回りする感がありますが、ターゲット上でのデ…

RAM テストソース

C

static bool ram_fill(uint32_t *ram, int size, uint32_t d) { uint32_t *r = ram; int s = size; while(s != 0){ *r++ = d; *r++ = d; *r++ = d; *r++ = d; s -= 4; } while(size != 0){ int result; result = *ram++ == d; result &= *ram++ == d; result…

global 変数の使い方

C

存在自体が好ましくない extern な global 変数を使うときは、 .h に定義が書いてあったり、ソースファイルの #include の次の関数の外あたりに宣言を書きがち。 extern int global_value; void nantara(int val) { if(val == xxx){ nanika_shori(global_val…