1.26 $Sub$$ を使用してセミホストと非セミホストの I/O 機能を混合

$Sub$$ を使用して、セミホストと非セミホストの機能を混合することができます。

例えば、UART に直接書き込む fputc() の実装と、fputc() のセミホスト実装の場合、関数に渡される FILE * ポインタの特性によって、これらを両方とも提供できます。

$Sub$$ を使用してセミホスティングと非セミホスティングの I/O 機能を混合

int $Super$$fputc(int c, FILE *fp); int $Sub$$fputc(int c, FILE *fp) {     if (fp == (FILE *)MAGIC_NUM) // MAGIC_NUM は特殊な値であり、     {                            // すべての通常の FILE * ポインタの                                  // 値と異なる。         write_to_UART(c);         return c;     }     else     {         return $Super$$fputc(c, fp);     } }
関連する概念
1.25 セミホスティング環境のアプリケーションでの C および C ++ ライブラリの使用
1.27 非セミホスティング環境でのライブラリの使用
関連情報
ELF for the ARM Architecture
$Super$$ と $Sub$$ を使用したシンボル定義へのパッチの適用
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.