C言語 volatile 組み込み機器向けのソースコードでとても重要になるキーワード、それがvolatileです。volatileとは必ずメモリアクセスをともなうコードを生成する、という意味です。コンパイラの仕事の一つに最適化があります。その名の通り、プログラムを... 2020.04.04 C言語ソフトウェア
C言語 あなたのintは何バイト? C言語におけるint型というのは何バイトなのでしょうか? int i; C言語におけるint型というのは、言語上のサイズ規定はありません。そのCPUにおけるもっとも扱いやすいサイズがint型ということになります。 int... 2020.03.30 C言語ソフトウェア
ソフトウェア 同期式関数と非同期式関数 同期式関数とは、その関数を呼んで戻ってきたとき、目的の処理が完了している関数のこと。 非同期式関数とは、その関数を呼んで戻ってきても、その処理を行うという指示を出しただけで、処理そのものは終わっていない関数のこと。コールバック関数を... 2020.03.28 ソフトウェア
ソフトウェア テストに使う値の選び方 そのソフトウェアはちゃんと動きますか?どうやったら自信を持って動くと言えるのでしょうか?十分にテストをすれば、少なくともそのテストと同じ条件で動かした場合には動くと言えますね。テストに使う値の選び方について、適切に選べばテストケースを減ら... 2020.03.28 ソフトウェア
ハードウェア IO電圧 デジタルとアナログの違いは何か?アナログは連続している世界、デジタルは飛び飛びの世界です。例えば身長は160cmの次にとつぜん170cmになるわけではなく、160.00001cmになり、160.00002cmになり、ちょっとずつ伸びていき... 2019.09.22 ハードウェア
C言語 DebugビルドとReleaseビルド 親切な開発環境を使うと、DebugビルトとReleaseビルドが最初から用意されています。何が違うのでしょう? Debugビルドはデバッグしやすいようにできています。コンパイラの最適化は無しか最低レベルに設定されていて、1行ずつステ... 2019.04.06 C言語ソフトウェア
C言語 リンカ PC上でのプログラミングではあまりリンカを意識することはありません。なぜなら、すべてのプログラムはHDD/SSDに保存され、実行時にはすべてRAM上に置かれるからです。組み込みソフトウェアの開発ではリンカの存在がとても大事です。 リ... 2019.03.23 C言語ソフトウェア
C言語 ROMとRAM 組込みソフトウェアの世界では、メモリにはROMとRAMが存在します。パソコンの場合、すべてのソフトウェアやファイルはHDDやSSDなどに保存されていて、必要になった時にはDRAMに持ってきて、そこからCPUで読み書きします。一方、小規模な... 2019.02.13 C言語ソフトウェア
未分類 OS X macOS Mojave 10.14対応 FTDI VCPドライバをインストールする方法 何もしなくていいんです! 声を大にして言いたい。何もしてはいけない!とりあえずUSBケーブルでMacに接続してみてください。そしてターミナルを開いて /dev の下をみてみましょう。(lsコマンド例を書きたいんですがなぜか書けない.... 2018.12.09 未分類
ハードウェア その電池は何日持ちますか? 電子回路が動くためには電源が必ず必要です。無からエネルギーを生み出して動くことはできません。電源になるのはACアダプタを経由したDC電源、電源回路が作り出すDC電源、リチウムイオン電池、単三電池、コイン電池などの電池などがあります。ACア... 2018.12.09 ハードウェア