【概要】
FreeRTOSは多くのマイコンに移植して使われることが前提になっていますので、
データ型など移植したマイコンに合わせてまとめて変更ができるように、専用の
型名を用意し、さらに移植する関数の所在がすぐわかるように、関数の名前ににも
接頭辞で区別しています。
これらの移植に必要な再設定は、「portmacro.h」というファイルでまとめて行われて
います。
【FreeRTOSの名前規則】
FreeRTOS内で使われているデータ型やAPI関数名には接頭辞に下記
規則が使われています。
@ データ型
移植を前提にしているため、接頭辞に「port」が使われています。
PIC32MXの場合には対応するデータ型は下表のようになります。
これらの定義は「portmacro.h」の中で行われています。
FreeRTOSの
データ型PIC32MXの
データ型備考 portCHAR char portFLOAT float portDOUBLE double portSHORT short portLONG long portTickType portSHORT
portLONG16ビット指定の場合(注1)
32ビット指定の場合portSTACK_TYPE unsigned long portBASE_TYPE long
(注1) 16ビット/32ビットの指定はFreeRTOSConfig.h内の
configUSE_16_BIT_TICKS = 1; で16ビット指定
configUSE_16_BIT_TICKS = 0; で32ビット指定
A 変数名の接頭辞
(1) 符号の有無とポインタ区別
記号 意味内容 なし 符号有りデータ u 符号なしデータ p ポインタ
(2) データ型による接頭辞
記号 データ型 c char s short l long x portBASE_TYPE、その他
《使用例》 pxTaskTag、 uxTaskNumber
B 関数名の接頭辞
各関数には下記の区別による接頭辞が追加されています。
接頭辞 意味内容 vTask 戻り値がvoid型でTask.c内で定義 xQueue 戻り値がportTYPE_BASE型でqueue.c内で定義 vSemaphore 戻り値がvoid型でsemaphr.c内で定義 prv ローカル関数
《使用例》 prvLockQueue(pxQueue)
C マクロ命令の接頭辞
各マクロ命令には定義されているファイル名の接頭辞が追加され、
大文字で定義されている。
接頭辞 意味内容 port portable.h内で定義
《使用例》 portMAX_DELAYtask task.h内で定義
《使用例》 taskENTER_CRITICALqueue queue.c内で定義
《使用例》 queueDONT_BLOCKpd projdefs.h内で定義
《使用例》 pdTRUEconfig FreeRTOSConfig.h内で定義
《使用例》 configUSE_PREEMPSIONerr projdefs.h内で定義
《使用例》 errQUEUE_FULL
目次に戻る