目次 このページのソースコードを表示
公開日:
更新日:

PortMacro.hで宣言されているOSコア部分の関数をここで定義します. このファイルはAVRマイコン専用です.

機能

include 関係

  • Port.c
    • ArduinOS.h
      • (略)
    • Task.h
      • (略)
    • wiring-private.h

スクリプトQA

__attribute__((__always_inline__))

コンパイラにインライン関数であることを強制する.

対象箇所
                inline void PortSaveContext(void) __attribute__((__always_inline__));
                
                // ...
                
                inline void PortRestoreContext(void) __attribute__((__always_inline__));
参考

"6.45 An Inline Function is As Fast As a Macro". Using the GNU Compiler Collection (GCC). accessed at 2020-05-25

__attribute__((naked))

コンパイラにアセンブリが含まれた関数であることを伝える.

対象箇所
                void PortYield(void) __attribute__((naked));
                
                // ...
                
                void PortYieldFromTick(void) __attribute__((naked));
参考

"__attribute__((naked)) function attribute". armKEIL. accessed at 2020-05-25

参照

「https://contentsviewer.work/Master/Arduino/ArduinOS/Scripting/Port.c」から取得