MATLAB Coder(1)からの続きです。
今回は、M-Fileで書いたアルゴリズムをハードウェアに実装するための方法について考えて見ます。
M-Fileでもって演算アルゴリズムを作成し、MATLABである程度の検証を行ったとしましょう。次は、実際にハードウェアに実装して、ちゃんと動くか試してみる番です。なんだかんだ言って、実機に勝る検証対象はありませんからね。
具体的には、マイコンを用意して、そこにCコードをコンパイルしたファームウェアを書き込む形になるかと思います。

さて、何も考えずに、MATLAB Coderを使ってM-FileをCコードに変換したら終了、めでたしめでたし。という風に行けばいいのですが、さすがにそれは油断しすぎです。それでうまく行ったとしても、よっぽどラッキーだっただけでしょう。
続きを読む
MATLAB Coderとは、MATLABのm-fileからCコードを生成してくれるツールです。なーんだ、それだけかとも思うのですが、意外と大きな変化への第一歩なのかも分かりません。
MBD(Model Based Development)という言葉がありますが、それと同じようなイメージで、MBD(M-file Based Development)という分野が出来るかも?なんて思ったりしてます。(まぁ、今は単なる言葉遊びですけどね)
MBD(モデルベース開発)という言葉には色々含まれますが、やはり制御ロジックをSimulinkモデルで書くのが1つのキーになっている気がします。そのメリットは、ロジックを自然言語で表現するより曖昧さがなく、そしてCで書いたりするよりも簡単に書けるところにある気がします。
特に、Cというのは「とりあえず書ける」レベルにはすぐいけますが、「品質の良いコードを書ける」レベルに行くのは結構ホネが折れます。それくらいなら、Simulinkモデルの作り方を習得したほうが遥かに早かったりします。
モデルベース開発のメリット
これのアナロジーでいくと、M-fileベース開発だって成り立ちそうです。
M-Fileベース開発のメリット
もちろん、「モデルベース開発」と「M-Fileベース開発」のどっちを選ぶ?と聞かれたら、まずモデルベース開発を選ぶと思います。
しかし、「CやSimulinkは分からないけど、m-fileなら分かる」「既に、m-fileで作った資産がいっぱいある」という場合であれば、M-Fileベース開発というのもアリだと思います。
という長い前置きをしたところで、MATLAB Coderの概要についてさっくりまとめてみます。
続きを読む
MATLAB Coderの件も気にしつつ、ping代わりにしょうもない小ネタを。(忙しい!忙しい!忙しい!)
ウチは、田舎の小さな小さなソフト屋さんなわけですが、ソフトというのは頭を使います。物事を理解して、判断して、お客様のお役に立つような何かを作っていきます。
そんな仕事をしていると、「このロジックはどう実現したらいいだろう?」とか、「なんで、こんな現象がおきているんだろう?」とか、他人と議論しないといけないときがあります。運が良ければサクサクと話が進みますが、そういうケースばかりでもありません。
続きを読む