LoginSignup
3
0

More than 5 years have passed since last update.

CubeMXのオプション Do not generate the main()について

Last updated at Posted at 2019-02-16

はじめに

stm32のGUIツール「stm32 CubeMX」内部の「Project Setting」内部に
「Do not generate the main()」という関数がある.最近全然stm32の開発をしていなかったこともありこれがどう役立つのかあまり考えたことがなかった.

自分の考え結果としての,利点,欠点をメモする.

利点

CPPでの開発がしやすくなる

デフォルトだと,main関数が.cファイルないから呼ばれると,CからCPPの関数を呼び出すのがめんどくさい(個人的に).  
このため,main関数は.cppファイルないに記載されていると都合が良さそう,
しかし,CubeMXは基本的にmain.cにmain関数が記載されているため,別途.cppファイル内にmain関数を書いても,main関数の競合が生じかねない.このオプションを指定することで問題が解決する.

欠点

CubeMXで生成された初期設定の関数MX_○○_Init()系の関数,Systickまわりの初期化関数を自分で呼び出す(自分で書く必要がある)
この結果,ペリフェラルを追加したり削除してもこれがmain関数には反映されないので注意が必要.

まとめ

組み込みでもcppを使ってみたいなと感じていたので,このオプションはうれしいと感じた.

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0