Engineer's Notebook

コンピュータ関係のTipsやお役立ち情報などをエンジニアが綴ります

アドセンスレスポンシブ


ABテスト横長

【armcc】セミホスティングを無効化する方法

投稿日:2017-09-30 更新日:

armccでビルドすると、デフォルトでセミホスティングを使おうとしてしまいます。

セミホスティングに対応していないシステムでarmccを使う場合には、これがトラブルの元になるんですよね。。。

そんなときは、セミホスティングを無効化してしまいましょう。
 

セミホスティングとは?

セミホスティングについては、ARMのこちらに詳しく解説されています。
ARM Information Center : セミホスティング

 

セミホスティングの無効化方法

セミホスティングを無効化する方法はこちらを見てください。
ARM Information Center : 非セミホスティング環境向けのアプリケーションの作成

とはいっても、具体的にどうすればいいかよくわかりませんよね。。。

 

具体的なコード

ということで、具体的なコードのご紹介です。

このコードをコンパイル、リンクすればOKです。

__use_no_semihostingが「セミホスティングは使わないよ」という指定です。ARMCC 6.xとそれ以前で指定方法がちょっと違うので#ifで場合分けしています。

そのあとに続くのが、セミホスティングに関係する関数の独自実装です。armccが持つライブラリ内にも同じ関数があるのですが、そちらはセミホスティング前提の処理になっているので、これをセミホスティングを使わない独自実装の関数に置き換えます。

上の例では何もしない空関数に置き換えていますが、例えばシリアルにメッセージを出力するとか、システムに応じて書き換えてください。

もし、リンク時に

のようなエラーメッセージが表示されたら、上記ファイルにその関数を実装してください。

これでセミホスティングを無効化できます。

アドセンス 336x280


アドセンス 336x280


関連コンテンツ

よく一緒に読まれている記事

-ソフトウェア開発
-,

Copyright© Engineer's Notebook , 2017 All Rights Reserved Powered by AFFINGER4.