新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TQ2440國嵌學院gboot-內存初始化

        TQ2440國嵌學院gboot-內存初始化

        作者: 時間:2016-11-26 來源:網絡 收藏

        下一個寄存器是


        得到0x008c04f5

        下面是banksize寄存器
        得到0x000000b1

        最后一組


        得到0x00000030,因為只需要設定CAS的潛伏期,在時序圖中有介紹

        代碼如下:

        #define mem_contrl 0x48000000//宏定義基地址
        init_sdram://跳轉到的函數
        ldr r0, =mem_contrl//偽指令,r0指向基地址所指向的內存單元
        add r3, r0, #4*13//因為是以循環的方式進行賦值,因此用來比對的尾地址r0+4*13,因為有13個寄存器
        adrl r1, mem_data//將待設定的值放入R1中

        0://進入循環
        ldr r2, [r1], #4將r2指向R1指向的地址,然后R1+4
        str r2, [r0], #4
        cmp r0, r3//比較r0,r3的大小
        bne 0b//判斷是否相等,b判斷,ne不相等,跳到0,然后b表示向前跳轉
        mov pc, lr

        mem_data:
        .long 0x22000000
        .long 0x00000700
        .long 0x00000700
        .long 0x00000700
        .long 0x00000700
        .long 0x00000700
        .long 0x00000700
        .long 0x00018001
        .long 0x00018001
        .long 0x008c04f5
        .long 0x000000b1
        .long 0x00000030
        .long 0x00000030


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 大姚县| 锡林郭勒盟| 太白县| 丹巴县| 泗水县| 忻州市| 城固县| 定兴县| 怀集县| 通道| 延庆县| 大冶市| 贵州省| 田东县| 岑巩县| 龙州县| 蓬莱市| 义马市| 赣榆县| 霍林郭勒市| 溧阳市| 中西区| 酉阳| 内乡县| 山阴县| 芮城县| 峨边| 米林县| 宜都市| 霸州市| 道孚县| 襄汾县| 丘北县| 通化县| 三穗县| 聂荣县| 聂拉木县| 临江市| 苏尼特右旗| 岳池县| 彭山县|