找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4318|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

uboot編譯驗(yàn)證流程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:261244 發(fā)表于 2017-12-13 20:37 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
【目標(biāo)】:uboot能把kernel加載起來(lái)
【準(zhǔn)備】:
1、資料(原理圖,芯片手冊(cè)),代碼(u-boot-2013.01.tar.bz2)
2、是否支持芯片(arch/arm/cpu/armv7/)
    Y:go
    N:(下載最新的uboot,找廠家)
3、是否支持板子 (board)
    Y:編譯 驗(yàn)證 一下  交付。
    N:(下載最新的uboot,找廠家,自己搞 借鑒 相同SOC的板子 origen)
               
【借鑒】
1、解壓
    把u-boot-2013.01.tar.bz2 上傳到Ubuntu ,解壓
    tar -xvf u-boot-2013.01.tar.bz2
2、修改源碼:
        #進(jìn)入頂層目錄后
    cp -a board/samsung/origen board/samsung/fs4412  
    cp include/configs/origen.h include/configs/fs4412.h

【編譯】
1、在boards.cfg 添加 fs4412目標(biāo)
//Target              ARCH      CPU       Board name  Vendor             SoC         Options
fs4412                             arm         armv7             fs4412                 samsung        exynos

2、
修改Makefile:  CROSS_Cxx = arm-linux-

   make distclean   //第一次編譯的時(shí)候才需要
   make fs4412_config
   make     //   生成 u-boot.bin

【燒寫(xiě)】
【第一種】
1、把SD拔出,插入電腦   
2、ubuntu下識(shí)別到     ls /dev/sd*   如果顯示了/dev/sdb 那么就有了。fdisk -l
3、使用工具里面的mkuboot.sh進(jìn)行燒寫(xiě)
    1)修改 mkuboot.sh
         ./mkuboot.sh
    2) sudo ./mkuboot.sh
【第二種】保證sd卡里面已經(jīng)有好的u-boot
1、把撥碼開(kāi)關(guān)撥到SD卡啟動(dòng)
2、進(jìn)入fs4412# 界面
3、把u-boot.bin下載到板子上
    tftp 41000000 u-boot.bin
4、movi write u-boot 41000000  //把uboot燒寫(xiě)到emmc中的u-boot分區(qū)中
5、斷電,撥碼開(kāi)關(guān)撥到EMMC啟動(dòng)
6、查看效果

驗(yàn)證:
        情況是沒(méi)有輸出???
        點(diǎn)一個(gè)燈來(lái)試試,測(cè)試下我們編譯的u-boot到底在不在運(yùn)行?
        #if 1
                ldr r0, =0x11000c40 @GPK2_7 led2
                ldr r1, [r0]
                bic r1, r1, #0xf0000000
                orr r1, r1, #0x10000000
                str r1, [r0]

                ldr r0, =0x11000c44
                mov r1,#0xff
                str r1, [r0]
#endif

        現(xiàn)象:燈沒(méi)亮,uboot程序沒(méi)有執(zhí)行
        解決方法:  看用戶手冊(cè)第五章啟動(dòng)順序
        將bl1、bl2、u-boot.bin弄到一起燒寫(xiě)到sd卡或者emmc上
                bl1--》bl2---》u-boot.bin
        使用CodeSign4SecureBoot/build.sh來(lái)進(jìn)行編譯
       
        現(xiàn)象:燈一閃一閃的?
        分析:可能是看門(mén)狗引起的,所以關(guān)閉看門(mén)狗
        #if 1 /*for close watchdog */   
/* PS-Hold high */
                ldr r0, =0x1002330c
                ldr r1, [r0]
                orr r1, r1, #0x300
                str r1, [r0]         
                ldr     r0, =0x11000c08
                ldr r1, =0x0
                str r1, [r0]
/* Clear  MASK_WDT_RESET_REQUEST  */
                ldr r0, =0x1002040c
                ldr r1, =0x00
                str r1, [r0]
#endif         
     現(xiàn)象:串口沒(méi)有輸出

時(shí)鐘初始化:串口初始化代碼沒(méi)問(wèn)題,串口時(shí)鐘有問(wèn)題
        ldr r0, =0x10030000
        ldr r1, =0x666666  
        ldr r2, =CLK_SRC_PERIL0_OFFSET
        str r1, [r0, r2]
        ldr r1, =0x777777
        ldr r2, =CLK_DIV_PERIL0_OFFSET
        str r1, [r0, r2]

                把90行bl tzpc_init屏蔽掉


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表