声明:此文仅为个人学习记录,文中错误之处欢迎大家指正
最近买了块Samsung s5p6818开发板,准备学习嵌入式Linux移植和u-boot移植,然而发现互联网上关于6818开发板资料是少之又少,遂萌生了自己查阅现有资料来自己移植u-boot和Linux,本人小白一枚,刚接触这个大坑,不知什么时能填完。
本人刚接触嵌入式Linux,先前只玩过8051、STM32、uc/OS-II,文中不妥之处恳请大家指出,望大家谅解
简单介绍下S5P6818,其为cortex-A53 8核64bitCPU,架构为ARM-v8
u-boot官方网站为: http://www.denx.de/wiki/U-Boot/
源码下载地址为: ftp://ftp.denx.de/pub/u-boot/
翻看开发板资料,发现商家并没有开源u-boot源码,在网上找到的相关教程大部分都是S3C2410/S3C2440或4412的视频和资料,然而其使用的u-boot版本过于老旧,目录结构与新版的有很大差别,旧版目录说明网上很多都有介绍,这里不再赘述。下面简单说一下u-boot.2014.07版本目录结构;
我们先进入 “ arch\arm\cpu ” 里面,可以看到如下目录:(这个目录的意思是arm平台架构的cpu。arch目录先还包含了avr32、x86、powerpc等架构的cpu目录,因其与我的目的无关,故不再介绍)
因为6818CPU使用的是ARMv8架构,所以我们到时移植到我们自己的目标板时,主要是移植这里面的 “ armv8”文件夹里面的内容,我们看看里面都有什么:
看到这里面的文件,包含了C语言文件,makefile、以及汇编文件(熟悉STM32的同学可能会看到一个熟悉的汇编文件: “ start.s ”,这个文件就是cpu上电首先执行的代码,也就是u-boot的入口)。
下面我们来到 “ board\samsung " 文件夹下:
我们看到这里有很多文件夹,我们主要关心"smdk" 开头的文件夹,这个和我们移植有很大关系。smdk是 Samsung MCU Develop Kit 的缩写,也就是三星提供的评估板,
这里与S5P6818最相近的为 smdk5420 文件夹,以后移植要参照这个来移植
至此,u-boot目录介绍完毕