ARM7 head s GPIO暫存器配置

2021-09-23 13:39:30 字數 989 閱讀 8956

最近在做乙個平台優化系統啟動時間的任務,然後根據硬體block圖以及端子配置表,選了乙個測試端子,gpio10,來量測系統時間,uboot 中加了如下**作為uboot 啟動時間點開始**如下,uboot 啟動開始點在start.s中,實現** 如下:

— a/arch/arm/cpu/armv7/start.s

+++ b/arch/arm/cpu/armv7/start.s

@@ -127,7 +127,7 @@ switch_to_hypervisor_ret:

b _do_nonsec_entry

3: @ no str boot

#endif

-

+#define sta_gpio0_base_test 0x48120000

++void _gpio_test()+{

kernel 中本來打算等gpio 初始化完了,在init 程序開始前拉一段gpio,但是考慮到kernel 初始化部分可能也需要佔時間,於是在head.s 中加入了一段彙編**,本來對彙編不熟悉,現學些了下,結果對照datasheet gpio 的配置,最後設定成功了以此記錄下問題,彙編**如下:

diff --git a/arch/arm/boot/compressed/head.s b/arch/arm/boot/compressed/head.s

index fc6d541549a2…9a81ecc0ff80 100644

— a/arch/arm/boot/compressed/head.s

+++ b/arch/arm/boot/compressed/head.s

@@ -543,6 +543,17 @@ not_relocated: mov r0, #0

mov r1, sp @ malloc space above stack

add r2, sp, #0x10000 @ 64k max

mov r3, r7

+

ARM暫存器整理

arm有37個暫存器,31個通用暫存器 r0 r15 32位 和6個狀態暫存器 1.通用暫存器 使用者模式 系統模式 特權模式 中止模式 未定義指令模式 外部中斷模式 快速中斷模式。可分為 未備份暫存器r0 r7 備份暫存器 r8 r14 程式計數器 pc r15 注 r0 r7在所有模式下指的同一...

ARM暫存器介紹

arm微處理器支援7種執行模式,分別為 1.使用者模式 usr arm處理器正常的程式執行狀態 2.快速中斷模式 fiq 用於高速資料傳輸或通道管理 3.外部中斷模式 irq 用於通用的中斷處理 4.管理模式 svc 作業系統使用的保護模式 5.資料訪問終止模式 abt 當資料或指令預取終止時進入該...

arm暫存器別名

apcs,arm 過程呼叫標準 arm procedure call standard 提供了緊湊的編寫例程的一種機制,定義的例程可以與其他例程交織在一起。最顯著的一點是對這些例程來自 沒有明確的限制。它們可以編譯自 c pascal 也可以是用組合語言寫成的。apcs 對我們通常稱為 r0 到 r...