ユーザ作成memcpy() を強制使用

テクニカル・ノート 17095

アーキテクチャ:

Arm

コンポーネント:

compiler

更新日:

2021/10/28 3:25

はじめに

本テクニカルノートでは、アプリケーションに対して独自のデータコピー関数を強制的に使用させる方法について説明します。

解説

ランタイムライブラリで用意されているmemcpy()、__aeabi_memcpy()、__aeabi_memcpy4()、__aeabi_memcpy8()関数の代わりに、独自に定義したmemcpy()関数をアプリケーションに使わせたいとします。

memcpy()をオーバーライドする方法として、2通りの推奨方法があります:

  • コンパイラとライブラリで使用されているAEABIの実装関数、すなわち、__aeabi_memcpy()、__aeabi_memcpy4()、and __aeabi_memcpy8()をオーバーライドする
    • version 8.50.9 でのテンプレートを  このリンク からダウンロードできます
  • 独自に定義した関数名を使用する(例: my_memcpy())
    • ライブラリには、__aeabi_memcpy()、__aeabi_memcpy4()、__aeabi_memcpy8()の呼び出しが含まれていますが、これらはオーバーライドされないことに注意してください。

まとめ

独自のmemcpy()を強制的に使用させる方法は他にもあると思いますが、上記の2つの方法をお勧めします。

全ての製品名は、それぞれの所有者の商標または登録商標です

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。