uboot移植(七)——移植三星官方uboot(一)
? 在這里移植的uboot源碼是三星官方提供的
1:移植前準備:
? 下載并解壓uboot源代碼,并創建Source Insight工程,注意linux源代碼不能在
共享文件中直接解壓,原因是linux中采用了很多鏈接功能,而這個功能在windows
里面是沒有的,所以在共享文件夾中編譯會出錯,解壓代碼
tar -jxvf name2:查看Makefile
? 在編譯之前要看Makefile中的交叉編譯工具鏈的設置是否和我們虛擬機中交叉編譯工具鏈的配置相同(主要是安裝路徑和版本)
ifeq?($(ARCH),arm) #CROSS_COMPILE?=?arm-linux- #CROSS_COMPILE?=?/usr/local/arm/4.4.1-eabi-cortex-a8/usr/bin/arm-linux- #CROSS_COMPILE?=?/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux- CROSS_COMPILE?=?/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi- endif3:編譯、燒錄
? 使用make smdkv210single_config,對應include/configs/smdkv210single.h頭文件
運行的現象為:SD checksun Error,開發板供電鎖存開啟
分析:
(1)打印的第一個SD CHECKSUM ERROR可以理解,因為那是SD0通道的iNand校驗失敗,
(2)開發板供電鎖存是在uboot啟動的第一階段的lowlevel_init.S中完成的,開發板供電鎖存但沒有打印OK說明錯誤發生在開發板供電鎖存與DDR初始化之間,分析可知開發板是沒有PMIC(電源管理模塊)的,所以當uboot跳轉到PMIC_InitIp這個函數時就會發生死循環,所以這行代碼應該屏蔽掉
//bl?PMIC_InitIp4: uboot成功啟動,并打印出如下信息
SD?checksum?Error OKU-Boot?1.3.4?(Aug??5?2016?-?15:08:57)?for?SMDKV210CPU:??S5PV210@1000MHz(OK) APLL?=?1000MHz,?HclkMsys?=?200MHz,?PclkMsys?=?100MHz MPLL?=?667MHz,?EPLL?=?80MHz HclkDsys?=?166MHz,?PclkDsys?=?83MHz HclkPsys?=?133MHz,?PclkPsys?=?66MHz SCLKA2M??=?200MHz Serial?=?CLKUART Board:???SMDKV210 DRAM:?????1?GB Flash:???8?MB SD/MMC:??unrecognised?EXT_CSD?structure?version?6 unrecognised?EXT_CSD?structure?version?6 Card?init?fail! 0?MB NAND:????0?MB The?input?address?don't?need?a?virtual-to-physical?translation?:?23e9c008 ***?Warning?-?using?default?environmentIn:??????serial Out:?????serial Err:?????serial checking?mode?for?fastboot?... Hit?any?key?to?stop?autoboot:??0no?devices?availableno?devices?available get_format --------?0?-------- Wrong?Image?Format?for?bootm?command ERROR:?can't?get?kernel?p_w_picpath! SMDKV210?#至此說明uboot已經成功啟動,只是uboot啟動第二階段的配置有不正確,需要進一步修改
轉載于:https://blog.51cto.com/11674570/1835704
總結
以上是生活随笔為你收集整理的uboot移植(七)——移植三星官方uboot(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 收藏 | 史上最全的“大数据”学习资源
 - 下一篇: Etsy如何及为什么迁移到API优先的架