三星官方smdkv210 uboot移植到我的s5pv210开发板

北京 2020-7-26 19:44 周日 昨天外面闷热 今日凉快。空调一开啥事没有!O(∩_∩)O

用了差不多两个周末蹲家里移植的。进度比较慢,算是把uboot相关的一些东西基本了解了。

uboot相关的暂时告一段落。之后对linux内核相关的进行整理。

------------------------------------------------------------------------

代码路径:https://github.com/1301876780/-SMDKV210-uboot-s5pv210 每遇到一个问题,解决后我都会上传到我的github

网上找了一张uboot启动流程图。在移植的时候,对照这张图来看看移植时问题出现在了哪个阶段

目标:从三星官方smdkv210的uboot移植到我的s5pv210开发板中能够正常引导内核启动。 这个是我s5pv210正常启动时的打印信息

一.环境配置及编译

  1. 检查Makefile中的交叉编译工具链

  1. 配置make smdkv210single_config,对应include/configs/smdkv210single.h头文件,相当于配置文件,包含各种配置

  1. 配置编译 make distclean/make smdkv210single_config/make
  2. 下载 uboot/sd_fusing目录下有sd_fusing.sh脚本,用来烧录。

 

二.uboot移植修改(我们用通道2启动,SD卡方式来烧录)

确认时钟部分的配置

(1)时钟部分的运行结果本来就是对的,时钟部分的代码在lowlevel_init.S中的bl system_clock_init调用的这个函数中。函数的代码部分是没任何问题的,根本不需要改动,要改动的是寄存器写入的值,这些值都在配置头文件(smdkv210single.h)中用宏定义定义出来了。如果时钟部分要更改,关键是去更改头文件中的宏定义。

(2)三星移植时已经把210常用的各种时钟配置全都计算好用宏开关来控制了。只要打开相应的宏开关就能将系统配置为各种不同的频率。

问题1: UBOOT无打印问题

1)uboot无串口打印。这个打印是在INand启动失败时打印的(默认优先从通道0,INand启动),不是uboot中打印的。说明启动方式选择正常。

2)power灯正常亮了,说明开发板的供电锁存正常。

分析:开发板第一次打印的是OK,说明问题出现在了供电锁存之后,打印“O”之前。这一段的代码处理包括:

开发板供电锁存>>>比较运行地址和链接地址决定是否需要beq  1f>>> PMIC_InitIp>> system_clock_init>> mem_ctrl_asm_init>>1:

我们开发板没有集成”PMIC 电源管理集成电路(Power Management IC)”模块。把这个去掉试试

验证后打印如下: 

我们一步步解决打印的这几个问题

-------------------------------------------------------------

问题2:DRAM的大小不对,我们只用了两片都是256M的内存,总共只有512M。但是却显示了1G(三星原厂用的是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值