資源描述:
《exynos4412-uboot移植筆記》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Exynos4412uboot移植筆記一、準(zhǔn)備原料三星原廠提供的UBOOT代碼-u-boot-samsung-dev.二、在4212平臺(tái)代碼基礎(chǔ)上修改成自己的平臺(tái)YYGY44121.用戶目錄下新建文件夾yygy4412-ubootcd,mkdiryygy4412-uboot2.進(jìn)入yygy4412-uboot文件夾,將三星平臺(tái)代碼壓縮文件拷貝至此。解壓,重命名為:yygy4412-uboottar-vxfu-boot-samsung-dev.tar.gzmvu-boot-samsung-devyygy441
2、2-uboot3.拷貝迅為的CodeSign4SecureBoot文件夾到當(dāng)前目錄。至此當(dāng)前目錄結(jié)構(gòu)為:4.進(jìn)入文件夾yygy4412-ubootcdyygy4412-uboot進(jìn)入三星平臺(tái)cdboard/samsungcp-rfsmdk4212yygy4412cdyygy4412Mvclock_init_smdk4212.Sclock_init_yygy4412.SMvmem_init_smdk4212.Smem_init_yygy4412.SMvsmdk4212.cyygy4412.cMvsmdk421
3、2_val.hyygy4212_val.hMvsmdk4412_val.hyygy4412_val.hVilowlevel_init.S#ifdefCONFIG_EXYNOS4412#include"smdk4412_val.h"http://改為#include"yygy4412_val.h"#else#include"smdk4212_val.h"http://改為#include"yygy4212_val.h"#endifViclock_init_yygy4412.S#ifdefCONFIG_EXYNOS4412#inc
4、lude"smdk4412_val.h"http://改為#include"yygy4412_val.h"#else#include"smdk4212_val.h"http://改為#include"yygy4212_val.h"#endifViMakefile33行:COBJS-y:=smdk4212.o//改為:COBJS-y:=yygy4412.o37行;SOBJS+=mem_init_smdk4212.o//改為:SOBJS+=mem_init_yygy4412.o38;SOBJS+=clock_init_smdk42
5、12.o//改為:SOBJS+=clock_init_yygy4412.oCd,cdyygy4412-uboot/yygy4412-uboot修改boards.cfg添加yygy4412armarmv7yygy4412samsungexynosCp-avinclude/configs/smdk4412.hinclude/configs/yygy4412.hViinclude/configs/yygy4412.h265:#defineCONFIG_SYS_PROMPT"SMDK4412#"改為:#define
6、CONFIG_SYS_PROMPT"YYGY4412#"319:#defineCONFIG_IDENT_STRING"forSMDK4412"改為;#defineCONFIG_IDENT_STRING"forYYGY4412"Viu-boot.ldsboard/samsung/smdk4212/libsmdk4212.o(.text)修改為:board/samsung/yygy4412/libyygy4412.o(.text)1.編譯makeyygy4412_configmake2.制作UBOOT因CPUe
7、xynos_4412的啟動(dòng)過程是BL0//BL0固化在iram中的程序(關(guān)閉看門狗,關(guān)閉中斷及MMU,時(shí)鐘設(shè)置,檢測(cè)om決定啟動(dòng)方式,拷貝bl1到iram中BL1<8k/*BL1初始化化環(huán)境(中斷初始化,設(shè)置堆棧等),搬移bl2代碼到RAM中,并允許它,BL1是三星提供的,無源碼,見CodeSign4SecureBoot/E4412_N.bl1.SCP2G.bin
8、如果想看源碼,可以反匯編分析,如arm-none-linux-gnueabi-objdump-D-bbinary-marmE4412_N.bl1
9、.SCP2G.bin>b1.asmBL2<14k//bl2完成基本硬件初始化(Low_init.s時(shí)鐘串口內(nèi)存flash等)u-boot.bin所以我們單獨(dú)運(yùn)行u-boot是不行的,需使用三星提供的BL1BL2進(jìn)行打包加密校驗(yàn)cp-rfsdfuse_q.///sdfuse_q三星提供的加密處理(checksum)Cpmkuboot.///拷貝SD卡制作UBOOT腳本。//cp-rfCodeSign4SecureB