【解決!】armcc/armclangでビルドしたプログラムがBKPT命令で停止する

armcc/armclangでビルドしたプログラムを実行すると、なぜかmain()にたどり着くことなくBKPT命令で停止してしまいます。

なんだこれ?BKPT命令なんて書いてないのに・・・

原因はセミホスティング

__main(armcc/armclang標準のスタートアップルーチン)内で実行されるセミホスティングがらみの処理が原因でした。

セミホスティングってなに???という方はこちらを参照してください。
ARM Information Center : セミホスティング

解決方法

原因さえわかれば解決は簡単。セミホスティングを無効化すればOKです。

セミホスティングを無効化する方法はこちらを参照してください。

eng-notebook.com