0

NUCLEO-L476RGボードを使用しています。ボードにある LED を切り替えようとしています。ポート A へのクロックを有効にするには、レジスタ値を 0x01 に設定する必要があります。

レジスタ「 AHB2 ペリフェラル クロック イネーブル レジスタ (RCC_AHB2ENR) 」のアドレスを 0x01 に見つけるのを手伝ってください。

私はアセンブリでプログラミングしているため、アドレスを直接見つけています。

ここでGPIO部分のアドレスを見つけました:

LDR R0, =0x48000000; GPIOA_MODER address
LDR R1, =0xABFFF7FF; GPIOA_MODER value
STR R1, [R0];

LDR R0, =0x48000004; GPIOA_OTYPER address
LDR R1, =0x00000000; GPIOA_OTYPER value
STR R1, [R0];

LDR R0, =0x48000014; GPIOA_ODR address
LDR R1, =0x00000000; GPIOA_ODR value
STR R1, [R0];

レジスターのアドレスを見つける方法を教えてください。ありがとう!

製品の詳細はこちら: http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu -nucleo/nucleo-l476rg.html

私は間違っているかもしれませんが、ここで住所を計算しました: 誰でも確認できますか:

#define RCC_BASE              (AHB1PERIPH_BASE + 0x1000)
#define AHB1PERIPH_BASE       (PERIPH_BASE + 0x00020000)
#define PERIPH_BASE           ((uint32_t)0x40000000) /*!< Peripheral base address */

したがってRCC_BASE = 0x40000000 + 0x00020000 + 0x1000 + 0x4C = 0x4002104c

4

1 に答える 1