STM32F303K8のブートプログラム

[コンテンツ]
STM32F303K8内蔵クロック(HSI 8MHz)だけを使用するのであれば、ブートプログラムは IARのEWARMの場合はSTM32CubeF3 内のProjectsフォルダ下を利用すればmain関数まで実行できるようになります。
必要なファイルは以下の通り。
・startup_stm32f303x8.s :無修正で利用
・system_stm32f3xx.c :無修正で利用
・stm32f3xx_it.c :無修正で利用
・main.c :main関数内は空でも良い
・stm32f3xx_it.h
・stm32_assert.h
・main.h

次のステップとしては、クロックアップさせる事になると思います。
STM32CubeF3では、HALまたはLLペリフェラルドライバを提供しています。
HALドライバは、少々ソフトウェア的な作りとなっており、該当MCU以外の処理ロジックが含まれていて理解し辛いです。
LLドライバは、該当MCU以外の処理ロジックはコンパイルフラグにより排除できる形となっています。

ローカルな実装では、動作クロックはPLLを用いて48MHzにしました。
以下のようにmain関数でLLドライバを使用してます。

#include "stm32f3xx_ll.h"

int main(void)
{
	/* クロック設定の確認のためにクロックをMCOポート(18pin:PA8)に出力する */
	LL_RCC_ConfigMCO( LL_RCC_MCO1SOURCE_PLLCLK, LL_RCC_MCO1_DIV_1 );

	/* Configure the system clock to 48 MHz */
	SystemClock_Config();

	/* Infinite loop */
	while (1);
}

次のステップでFreeRTOSを実装します。
STM32CubeF3に含まれているver9.0とオフィシャル ver7.6の消費リソース具合を調べようと思ってます。
組み込みシステムで使用するRTOSの機能は、セマフォとメッセージがあれば事足りるからです。