BCM2837のIllegal access type-X IRQについて
BCM2837のIllegal access について質問させてください。
"BCM2837 ARM Peripherals"の"Illegal access type-0 IRQ (7)"および"Illegal access type-1 IRQ (6)"には、"That signal is asserted when either an address bit 31 or 30 was high or when an access was seen on the ARM Peripheral bus.", "That can either be an address bit 29..26 was high or when a burst access was seen on the GPU Peripheral bus."と書かれています。
しかし、下記のコードを実行しても、IRQ は発生しませんでした。
--------------------------------------------------------------------------------
icr = _tp_getenareg1(intnum);
icr |= ( 1 << intnum );
_tp_setenareg1(intnum);
--------------------------------------------------------------------------------
_tp_getenareg1:
mov w1, #0x7E00
lsl w1, w1, #16
mov w2, #0xB210
orr w1, w1, w2
ldr w0, [x1, #0x00]
br lr
--------------------------------------------------------------------------------
mov w0, 0x3C00
lsl w0, w0, #16
mov w1, 0x00000001
str w1, [x0, #0x00]
br lr
--------------------------------------------------------------------------------
マニュアルの記述から、29bit 目から26bit 目までに1が立ったアドレスにアクセスするとIllegal access type-1が発生すると考えていたのですが、何か大きな勘違いをしているのでしょうか?
有識者のご意見を頂けると幸いに存じます。
"BCM2837 ARM Peripherals"の"Illegal access type-0 IRQ (7)"および"Illegal access type-1 IRQ (6)"には、"That signal is asserted when either an address bit 31 or 30 was high or when an access was seen on the ARM Peripheral bus.", "That can either be an address bit 29..26 was high or when a burst access was seen on the GPU Peripheral bus."と書かれています。
しかし、下記のコードを実行しても、IRQ は発生しませんでした。
--------------------------------------------------------------------------------
icr = _tp_getenareg1(intnum);
icr |= ( 1 << intnum );
_tp_setenareg1(intnum);
--------------------------------------------------------------------------------
_tp_getenareg1:
mov w1, #0x7E00
lsl w1, w1, #16
mov w2, #0xB210
orr w1, w1, w2
ldr w0, [x1, #0x00]
br lr
--------------------------------------------------------------------------------
mov w0, 0x3C00
lsl w0, w0, #16
mov w1, 0x00000001
str w1, [x0, #0x00]
br lr
--------------------------------------------------------------------------------
マニュアルの記述から、29bit 目から26bit 目までに1が立ったアドレスにアクセスするとIllegal access type-1が発生すると考えていたのですが、何か大きな勘違いをしているのでしょうか?
有識者のご意見を頂けると幸いに存じます。
Re: BCM2837のIllegal access type-X IRQについて
割り込みを許可するenable register (Enable Basic IRQs)のアドレスを0x7e00b218から0x3f00b218に変更したところ、無事割り込みが発生しました。
たくさんの御高覧、ありがとうございました。
たくさんの御高覧、ありがとうございました。
Jump to
- Community
- General discussion
- Announcements
- Other languages
- Deutsch
- Español
- Français
- Italiano
- Nederlands
- 日本語
- Polski
- Português
- Русский
- Türkçe
- User groups and events
- Raspberry Pi Official Magazine
- Using the Raspberry Pi
- Beginners
- Troubleshooting
- Advanced users
- Assistive technology and accessibility
- Education
- Picademy
- Teaching and learning resources
- Staffroom, classroom and projects
- Astro Pi
- Mathematica
- High Altitude Balloon
- Weather station
- Programming
- C/C++
- Java
- Python
- Scratch
- Other programming languages
- Windows 10 for IoT
- Wolfram Language
- Bare metal, Assembly language
- Graphics programming
- OpenGLES
- OpenVG
- OpenMAX
- General programming discussion
- Projects
- Networking and servers
- Automation, sensing and robotics
- Graphics, sound and multimedia
- Other projects
- Gaming
- Media centres
- AIY Projects
- Hardware and peripherals
- Camera board
- Compute Module
- Official Display
- HATs and other add-ons
- Device Tree
- Interfacing (DSI, CSI, I2C, etc.)
- Keyboard computers (400, 500, 500+)
- Raspberry Pi Pico
- General
- SDK
- MicroPython
- Other RP2040 boards
- Zephyr
- Rust
- AI Accelerator
- AI Camera - IMX500
- Hailo
- Software
- Raspberry Pi OS
- Raspberry Pi Connect
- Raspberry Pi Desktop for PC and Mac
- Beta testing
- Other
- Android
- Debian
- FreeBSD
- Gentoo
- Linux Kernel
- NetBSD
- openSUSE
- Plan 9
- Puppy
- Arch
- Pidora / Fedora
- RISCOS
- Ubuntu
- Ye Olde Pi Shoppe
- For sale
- Wanted
- Off topic
- Off topic discussion