爲什麼adrl r2,mem_cfg_val這裏不用ldr r2,=mem_cfg_val,

請教書中sdram裸機代碼

memsetup:
mov r1, #MEM_CTL_BASE
adrl r2,mem_cfg_val
add r3,  r1,#52
1:
ldr r4,  [r2],#4
str r4,  [r1],#4
cmp r1,r3
bne 1b
mov pc,lr
mem_cfg_val:
  .long 0x22011110
  .long 0x00000700
  .long 0x00000700
  ······
書中的SDRAM裸機例子,爲什麼adrl r2,mem_cfg_val這裏不用ldr r2,=mem_cfg_val,雖然說adrl是相對尋址,ldr是絕對尋址,但是我感覺效果一樣,請教大家,謝謝

回覆:請教書中sdram裸機代碼

如果是用ldr r2,=mem_cfg_val,那麼r2的值應該是0x3xxxxxxx,它位於SDRAM中;
但是剛啓動系統時,SDRAM尚未被初始化,裏面的數據是隨機的;
你貼的這段代碼,是用來初始化SDRAM的
發佈了12 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章