stm32f103のサンプルプログラムを見るとReset_Handlerのみ割込関数として宣言してあり他の割込ハンドラー関数は割込関数になってない。
cortex-m3では割込み発生時にハード的にレジスタを待避し、戻るときにレジスタを復帰してくれるので通常の関数として宣言してOKということらしい。
ではReset_Handlerが割込関数として宣言してあるのは何故か?その理由がどうも良く判らない。
ちなみにReset_Handlerを通常の関数として宣言してプログラムを組んでも正常に動作した。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment