Project

General

Profile

Actions

UsingAmazonFreeRtos » History » Revision 3

« Previous | Revision 3/4 (diff) | Next »
mole lord, 09/12/2020 01:52 PM


UsingAmazonFreeRtos

FreeRTOSはSTM32CubeMX上で組み込むことができます。しかし、将来Ethernetにつなぐことを考えるとAmazonがgitリポジトリで配布しているFreeRTOSを使うほうが楽そうです。
CubeMXで作るのはピン設定の自動生成だけにして、それとAmazon FreeRTOSを合体させてみます。

ドキュメントのありか

FreeRTOS ドキュメント

CubeMXプロジェクトの設定

SVC_Handler, PendSV_Handler, SysTick_Handlerの重複を避けるために、以下の設定をします。

  • System Core - NVIC の Code Generationタブで、 System Service~ と Pendable Request~ と System tick timer のチェックを外します

Amazon FreeRTOSのgitリポジトリをクローン

自分で作ったgitリポジトリのworkフォルダの中で、submoduleとして https://github.com/aws/amazon-freertos.git の tag 202007.00 をクローンします。

Makefileの設定

BUILD_DIRのあとに、AMAZON_DIRを追加します。

BUILD_DIR = build
AMAZON_DIR = ../../amazon-freertos

C_SOURCES および C_INCLUDES に、以下のようにFreeRTOSのソースを追加します。

C_SOURCES =  \
$(AMAZON_DIR)/freertos_kernel/portable/MemMang/heap_4.c \
$(AMAZON_DIR)/freertos_kernel/portable/GCC/ARM_CM4F/port.c \
$(AMAZON_DIR)/freertos_kernel/croutine.c \
$(AMAZON_DIR)/freertos_kernel/event_groups.c \
$(AMAZON_DIR)/freertos_kernel/list.c \
$(AMAZON_DIR)/freertos_kernel/queue.c \
$(AMAZON_DIR)/freertos_kernel/stream_buffer.c \
$(AMAZON_DIR)/freertos_kernel/tasks.c \
$(AMAZON_DIR)/freertos_kernel/timers.c \
Core/Src/main.c \
...

C_INCLUDES =  \
-I$(AMAZON_DIR)/freertos_kernel/portable/GCC/ARM_CM4F \
-I$(AMAZON_DIR)/freertos_kernel/include \
-ICore/Inc \
...


累計表示回数:210

Updated by mole lord 6 months ago · 3 revisions