Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
9
Help us understand the problem. What is going on with this article?
@typo-kun

Raspberry Pi2でGPIO制御(メモリマップトレジスタ)

More than 5 years have passed since last update.

RaspberryPi の場合

RaspberryPiでは、SoCがBCM2835だったため、
ペリフェラルレジスタアドレスは、以下であった。
0x20000000

ペリフェラルレジスタアドレス+GPIOオフセット0x00200000となる
0x20200000
に対しアクセスすることでGPIOを制御できる。

RaspberryPi2の場合

RaspberryPi2では、SoCがBCM2836(BCM2709?)であるため、
上記アドレスでは、GPIOを制御できない。
BCM2836(BCM2709?)のペリフェラルレジスタアドレスは、以下となる。
0x3F000000

GPIOオフセットは、0x00200000のままであるため
0x3F200000
に対しアクセスすることでGPIOを制御できる。

参考HP

Jun's Homepage Raspberry Pi と Raspberry Pi2の非互換性
http://www.mztn.org/rpi/rpi42.html

こじ研 Raspberry Pi 応用編
http://www.myu.ac.jp/~xkozima/lab/raspTutorial3.html

#define BCM2708_PERI_BASE 0x3F000000
https://github.com/raspberrypi/linux/blob/cccc0886453edffc761ab30fa38cebfda434c36a/arch/arm/mach-bcm2709/include/mach/platform.h

9
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
typo-kun

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
9
Help us understand the problem. What is going on with this article?