アライメントのなく頃に 目明し編
AS「君の速さに対する情熱は、保守性を凌駕した。さあ、解き放ってごらん。その新しい技術を!」 通常、.alignというPseudo命令はバイト境界を調整するために使います。例えば、32ビットのデータを4の倍数のアドレスに … “アライメントのなく頃に 目明し編”の続きを読む
旧ブログ(blogger)で投稿されていた記事です。
AS「君の速さに対する情熱は、保守性を凌駕した。さあ、解き放ってごらん。その新しい技術を!」 通常、.alignというPseudo命令はバイト境界を調整するために使います。例えば、32ビットのデータを4の倍数のアドレスに … “アライメントのなく頃に 目明し編”の続きを読む
スラマッマラム N.C.です。 注意:ここでの遅延回路は、モータドライバにおいてデッドタイム生成用の遅延回路のことです。また、ダイオードは「一方通行」ですが、何も「アクセラレイト(加速)」してはくれません。 以前、ショッ … “遅延回路に適したダイオードとは?”の続きを読む
あ…ありのまま 今 起こった事を話すぜ!『データのアライメントをしようと思ったらいつのまにかメモリを大量消費していた』コンパイルミスだとかリンカのバグだとかそんなチャチなもんじゃあ 断じてねえもっと恐ろしいものの片鱗を味 … “alignの罠”の続きを読む
スラマッマラムー N.C.です。 コイルは天邪鬼です。どれだけ天邪鬼なのかを表す値が自己インダクタンスです。モータはコイルです。従って、自己インダクタンスを持ちます。では、その値はいくらぐらいなのでしょうか?先日、実際に … “モータのエル”の続きを読む
普段コンパイラといえばgccを使っている人が多いと思います。もしくはWindowsならVisual Studio付属のマイクロソフトのコンパイラでしょうか。しかし、MacやLinuxではほとんどの人がgccを使っていると … “clang”の続きを読む
CC「訳がわからないよ。どうして人間はそんなに、char型の符号にこだわるんだい?」 いきなりですが、次のC言語のコードを見てください [c]#include <stdio.h> void foo(int a … “char is signed?”の続きを読む
C言語のプリミティブ型にはchar, shot, int, longなどがあります。 shortは「ショート」、intは「イント」、longは「ロング」と読みますが、charはどう読むでしょうか? 身の回りには、「キャラ … “charの読み方”の続きを読む
マイコンなどの低レベル処理をしているとビットを意識した処理を行うことが多いです。パリティ、CRCなどが代表的です。 今回はその仲間である「1となっているビットの個数を数える」方法の高速化を紹介します。 通常は1ビットずつ … “1の個数を数える(in assembler)”の続きを読む
スラマッスィアンー N.C.です。 前回投稿した、SBDに関する記事ですが、Qの求め方省略していました。しかし、この前まで考えていたよりもはるかに簡単に計算できることに気づいたので、その方法で計算しなおし、計算方法もうp … “ちょっと反省”の続きを読む
久々にプログラミングの話題です。 さて、AVRでは適切な初期化を行えばprintfを用いることができます。また、avr-gccはデフォルトでは文字列定数をRAMに配置しますが、適切な記述を行うことでROMに配置することが … “可変長引数マクロ”の続きを読む