EFINIX RISC-V SDK 最適化オプション
作成者:mou-mou
embedded_sw\hcb_cpu\software\standalone\commonあるいはembedded_sw\hcb_cpu\software\freeRTOS\commonにあるstandalone.mkを編集します。
元のコードは以下のように記述されております。
define LIST_RULE
$(1)
@mkdir -p $(dir $(word 1, $(subst $(COLON), ,$(1))))
@echo "CC $(word 2,$(subst $(COLON), ,$(1)))"
@$(RISCV_CC) -c $(CFLAGS) $(INC) -o $(subst $(COLON), ,$(1))
endef
-oの手前に -O*を挿入します。
define LIST_RULE
$(1)
@mkdir -p $(dir $(word 1, $(subst $(COLON), ,$(1))))
@echo "CC $(word 2,$(subst $(COLON), ,$(1)))"
@$(RISCV_CC) -c $(CFLAGS) $(INC) -O3 -o $(subst $(COLON), ,$(1))
endef
-O3 と -Ofastは同じ結果となります。速度優先の場合は、この何れかが良いでしょう。
-Osが最小サイズとなります。オンチップRAMを節約したい場合などには、こちらが良いでしょう。
とくに速度サイズともに問題無い場合は、自動生成のmakefileのままでよいでしょう。最適化オプションを記述しない場合は、-Ogと同じ結果となります。