久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > s5pc100中uboot移植之內存控制器的設置
s5pc100中uboot移植之內存控制器的設置
時間:2017-01-05作者:華清(qing)遠見

s5pc100是(shi)三星公(gong)司(si)推(tui)出的(de)(de)基(ji)于Cortax-A8核心的(de)(de)一款專門針對應用、消費類電(dian)子產品而設計的(de)(de)芯(xin)片(pian),針對它的(de)(de)介紹網上有很(hen)多了,我們就不(bu)專門介紹這(zhe)款芯(xin)片(pian)了。

今天是(shi)針對(dui)U-boot的(de)移植。我們先來看看u-boot的(de)特點(dian),u-boot是(shi)Boot-loader的(de)一種可(ke)(ke)以負責(ze)板子上電(dian)后硬(ying)件初始化工作,以及內核引導。它可(ke)(ke)以為用戶提供一個可(ke)(ke)交互的(de)界面(mian),使開(kai)機過程可(ke)(ke)控,可(ke)(ke)調(diao),方便開(kai)發人員調(diao)試(shi)。

今天(tian)我們移植的版本是(shi)u-boot1.3.1這是(shi)一個比較成(cheng)熟(shu)的版本,我們先來看看要(yao)移植一個u-boot需要(yao)注意哪(na)些問(wen)題。

首先(xian)(xian)我們應該先(xian)(xian)拿到一個u-boot源碼(ma),應該是如下圖(tu):

《源碼》

其中比較(jiao)重(zhong)要的、有(you)針對(dui)性的目錄(lu)是board, cpu, include等。我們要修改的大部(bu)分內容將集中在這些目錄(lu)里面(mian)。

由(you)于,篇幅有限(xian)這次只介(jie)紹CPU中針對內存控(kong)制(zhi)器的初(chu)始化部分的內容:

ldr r0, =0xE6000000
        ldr r1, =0xE0000000
        ldr r2, [r1]
        bic r2, #0xfffffdff
        mov r2, r2, lsr #9
        cmp r2, #0x1
   &nbsp;   &nbsp;beq onenand_pop

 這部分內容是用匯(hui)編語言寫(xie)的(de)(de)(de)看起(qi)來比(bi)較清爽(shuang),沒有太多的(de)(de)(de)復(fu)雜的(de)(de)(de)邏輯。

上(shang)面的(de)(de)(de)代碼是(shi)用來(lai)判斷我(wo)(wo)們處理器(qi)的(de)(de)(de)封裝形式的(de)(de)(de),其(qi)中(zhong)r1中(zhong)存放著芯片(pian)(pian)ID寄(ji)存器(qi)的(de)(de)(de)地(di)址,這是(shi)一(yi)(yi)個32位(wei)寄(ji)存器(qi),其(qi)中(zhong)記(ji)錄(lu)了芯片(pian)(pian)的(de)(de)(de)型號(hao)如果是(shi)s5pc100的(de)(de)(de)話(hua),這個寄(ji)存器(qi)的(de)(de)(de)前20位(wei)應該是(shi)“0x43100”。其(qi)中(zhong),第9位(wei)是(shi)用來(lai)判斷芯片(pian)(pian)的(de)(de)(de)封裝形式的(de)(de)(de),如果為(wei)1,表(biao)示是(shi)POP形式就(jiu)是(shi)。為(wei)0,表(biao)示是(shi)分(fen)立元(yuan)件。我(wo)(wo)們一(yi)(yi)般使(shi)用分(fen)立式元(yuan)件。

ldr r1, =0x6a101000
        str r1, [r0, #0x18]
        ldr r1, =0x000084f4
        str r1, [r0, #0x1c]
        ldr r1, =0x0
&nbsp;       str r1, [r0, #0x20]

這部分是真對(dui),DDR內存而設置(zhi)的,DLL(delay locked loop)參數。

ldr r1, =0x6a101002
        str r1, [r0,#0x18]
        ldr r1, =0x6a101003
         str r1, [r0,#0x18]

這是開啟DLL工作。
        ldr r2, =0xe6000040
        loop1:
        ldr r1,[r2]
        ands r1,r1,#4
&nbsp;       beq loop1

檢查(cha)DLL鎖,是否已經(jing)鎖上。

ldr r1,[r2]
        mov r1,r1, LSR #(0x6)
        ldr r2, =0xE6000018
        ldr r3,[r2]
        bic r3,r3,#(0xff000000)
        orr r1,r3,r2
     &nbsp;  str r1,[r2]

ldr r1, =0x6a101003
     &nbsp;  str r1, [r0, #0x18]

ldr r1, =0x6a101009
        str r1, [r0, #0x18]

完成(cheng)必(bi)要的設置,暫(zan)停DLL。

ldr r1, =0x20f01313
        str r1, [r0, #0x08]
        ldr r1, =0x40f01313
        str r1, [r0, #0x0c]

配置(zhi)256MB內存AXI設置(zhi)地址。

ldr r1, =0x20000000
        str r1, [r0, #0x14]
        ldr r1, =0x00100004
 &nbsp;      str r1, [r0, #0x28]

設置自刷新(xin)周期

ldr r1, =0x0000050E
        str r1,[r0, #0x30]
        ldr r1, =0x16233297
        str r1, [r0,#0x34]
        ldr r1, =0x23230000
        str r1, [r0,#0x38]

ldr r1, =0x07c80232
        str r1, [r0, #]

這個地方是設置內存芯片的交流(AC)參數時序信息包括TimingAref, TimingRow, TimingData 和(he) TimingPower

ldr r1, =0x07000000
        str r1, [r0, #0x10]
        ldr r1, =0x01000000
        str r1, [r0, #0x10]

ldr r1, =0x00020000
  &nbsp;     str r1, [r0, #0x10]

ldr r1, =0x00030000
     &nbsp;  str r1, [r0, #0x10]

ldr r1, =0x00010400
       &nbsp;str r1, [r0, #0x10]

ldr r1, =0x00000532
&nbsp;       str r1, [r0, #0x10]

ldr r1, =0x01000000
        str r1, [r0, #0x10]

ldr r1, =0x05000000
  &nbsp;     str r1, [r0, #0x10]

ldr r1, =0x00000432
  &nbsp;     str r1, [r0, #0x10]

ldr r1, =0x00010780
        str r1, [r0, #0x10]

ldr r1, =0x00010402
        str r1, [r0, #0x10]

首(shou)先是喚醒chip0,然后所有模塊預充電(dian)(這是為讀取操作(zuo)做準備),對bank2-3發msr/emsr命令(ling)(模式設(she)定),設(she)定內(nei)存進(jin)入(ru)自(zi)動刷新模式。后是對EMRS寄(ji)存器進(jin)行設(she)設(she)置。

ldr r1, =0x00ff20b0
        str r1, [r0, #0x0]
        ldr r1, =0x00212413
        str r1, [r0, #0x4]
 &nbsp; &nbsp;    b exit_cpu_init

打開自動刷新,設定讀(du)數(shu)據的取(qu)周期,設定內存(cun)的類型為DDR2和32位(wei)位(wei)寬。芯(xin)片數(shu)是(shi)2片,BL(burst length)=4。

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)