色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

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

s5pc100是三星公司推出的基于Cortax-A8核心的一款專門針對應用、消費類電子產(chǎn)品而設計的芯片,針對它的介紹網(wǎng)上有很多了,我們就不專門介紹這款芯片了。

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

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

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

《源碼》

其中比較重要的、有針對性的目錄是board, cpu, include等。我們要修改的大部分內(nèi)容將集中在這些目錄里面。

由于,篇幅有限這次只介紹CPU中針對內(nèi)存控制器的初始化部分的內(nèi)容:

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

這部分內(nèi)容是用匯編語言寫的看起來比較清爽,沒有太多的復雜的邏輯。

上面的代碼是用來判斷我們處理器的封裝形式的,其中r1中存放著芯片ID寄存器的地址,這是一個32位寄存器,其中記錄了芯片的型號如果是s5pc100的話,這個寄存器的前20位應該是“0x43100”。其中,第9位是用來判斷芯片的封裝形式的,如果為1,表示是POP形式就是。為0,表示是分立元件。我們一般使用分立式元件。

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

這部分是真對,DDR內(nèi)存而設置的,DLL(delay locked loop)參數(shù)。

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
        beq loop1

檢查DLL鎖,是否已經(jīng)鎖上。

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

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

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

完成必要的設置,暫停DLL。

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

配置256MB內(nèi)存AXI設置地址。

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

設置自刷新周期

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, #]

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

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

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

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

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

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

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

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

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

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

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

首先是喚醒chip0,然后所有模塊預充電(這是為讀取操作做準備),對bank2-3發(fā)msr/emsr命令(模式設定),設定內(nèi)存進入自動刷新模式。后是對EMRS寄存器進行設設置。

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

打開自動刷新,設定讀數(shù)據(jù)的取周期,設定內(nèi)存的類型為DDR2和32位位寬。芯片數(shù)是2片,BL(burst length)=4。

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 性欧美VIDEOFREE高清精品 | 国产成人AV乱码在线观看 | 亚洲专区欧美专区 | 亚洲精品无码一区二区三区久久久 | 日本黄页网站免费观看 | 麻豆美女裸体aaaa片 | 亚洲狠狠色综合蜜桃 | 国产乱人伦偷精品视频免观看 | 168黄色网 | 黄色在线免费播放 | 不卡一卡二卡三乱码免费网站 | 日本牲交大片免费观看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲精品久久久久AV无码 | 国产成人免费视频在线网站2 | 亚欧成A人无码精品VA片 | 免费高清A级毛片在线播放 性按摩无码中文 | 久久人人槡人妻人人玩夜色AV | 亚洲精品无码一区二区三区久久久 | 精品乱码久久久久久久 | 男人被口爽还是啪啪爽 | 成人午夜国产内射主播 | yyyyyy高清成人观看免费 | 忘忧草日本社区 | 亚洲AV噜噜狠狠网址蜜桃 | 终极斗罗4第三季免费播放 在线免费国产视频 | 美女脱了内裤张开腿让男人桶网站 | 亚洲中文字幕av无码区 | 男人的天堂a视频区在线 | 超清精品丝袜国产自在线拍 | 亚洲在AV人极品无码 | 亚洲欧美日韩久久精品 | 亚洲日韩欧洲无码AV夜夜摸 | 亚洲成AV人片在线观看无线 | 无码国产精品一区二区免费VR | A级毛片无码久久精品免费 大香伊蕉日本一区二区 | 亚洲一区二区三区成人网站 | 欧美疯狂性bbbbbxxxxx | 激情射精爽到偷偷C视频无码 | 国产精品 亚洲 无码 在线 | 国产成人无码精品久久久小说 |