赞
踩
1.4412的SOC和origen的SOC相同,但在origen基础上需要修改一些外围的网卡、硬件驱动设置。
2.因为uboot源码并不支持我们的开发板,这里我们需要从源码支持的开发板中找一个硬件与我们最类似的,在其基础上进行修改,这里我们参考的是samsung公司的origen
通过实验手册注册开发板信息 ,详见实验手册
3.编译完成后会在源码顶层目录下生成u-boot.bin文件,但该文件还不能在我们的开发板 上运行,因为以上操作我们只是把origen相关的文件的名字改成了fs4412,使uboot能识别fs4412开发板,但文件中的代码还是origen的,和我们的开发板不匹配,所以我们还需要进一步进行修改和配置
4.添加三星加密引导方式
考虑芯片启动的安全性,Exynos4412需要三星提供的初始引导加密后我们的u-boot才 能被引导运行,所以我们需要在uboot源码中添加三星提供的加密处理代码
u-boot-fs4412.bin在build.sh文件中,将三星、自己编写的引导文件、u-boot.bin合成的一个文件,是可以在开发板上运行的文件。
5.参照之前的实验将生成的u-boot-fs4412.bin烧写到SD卡中,开发板选择SD卡启动, 然后上电查看现象,若LED2点亮则说明我自己移植的u-boot已经能够被加载运行
虽然uboot已经能在开发板上加载运行,但是此时的uboot还不能在终端上打印信息,原因在于uboot源码中对UART的配置与我们实际的硬件不匹配。
修改UART配置:使能在终端上打印信息
1.修改UART源码
2.uboot没有喂狗操作,需要关闭看门狗。
3.网卡移植
虽然可以通过终端输入命令,但此时的uboot还不能使用ping、tftp等命令,原因在于命令都是操作网络的,而uboot源码中网卡的相关配置与我们当前的板子不匹配,所以我们还要对网卡进行移植。网卡是计算机中用于连接计算机和网络之间的硬件设备,也称网络适配器。网卡的主要作用是实现计算机与网络之间的数据传输和通信。
因为uboot源码中对EMMC的配置与我们的板子不匹配,这里还需要对EMMC相关的代码进行修改和配置
3.1 修改EMMC初始化代码
3.2添加EMMC命令
3.3修改EMMC配置代码
因为uboot源码中对电源管理芯片的配置与我们的板子不匹配,后续有可能会导致内核 启动卡死,这里还需要对电源管理芯片相关的代码进行修改和配置
4.1修改电源管理相关代码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。