stm32

ARMのレジスタ達

x86_64のレジスタ名なら知っているけど、armのレジスタ名はまた違うからややこしい。armのリファレンスを読むときに混乱しないように、ここでまとめておく。 レジスタ名 役割 r0~r12 汎用レジスタ r13 (sp) スタックポインタ r14 (lp) リンクレジスタまたは…

STM32F3探訪〜GPIOx_ODR vs GPIOx_BSRR 〜

STM32F3のGPIOピンのoutput用レジスタには、GPIOx_ODRというものと、GPIOx_BSRRという二種類ある。その違いを調べたので、書き留めておく。 ODRとBSRRは共に書き込み可能なレジスタであり、GPIOのoutput値を決めるのに使える。BSRRはリファレンスに、 Bits 3…

HALの内部構造~TIM3を追いかける~

STM32F303K8をターゲットとしてCubeMXを使って自動生成したソースコードを追いかけることで、HALライブラリの中身を理解する。この記事では、TIM3に関係する部分を見て行く。 TIM3の設定 まず、CubeMXでTIM3をInternal Clockを使うように設定する。そして、N…

STM32Nucleoボード調査(割り込みベクタ)

startup_stm32f303x8.s(スタートアップルーチン)では、以下のように割り込みベクタテーブルが指定されている。 /****************************************************************************** * * The minimal vector table for a Cortex-M4. Note th…