s5pv210uboot移植教程(原创)

-
自己移植了x210v3的开发板的uboot和Linux心得,这块开发板基于s5pv210芯片。和其他的210开发板差不多,如果你是210的板子,那么可以参考我写得教程,希望对你有所帮助。
root@crazyrain: /home/share/uhoot/u-hoot-2012 10# vim README </pre>以下内容截取白READ文件:φp)/)p> uboot目永结构信息:可以想得到,我们最常修改的是 哪些文件?〈p>p> board 不同的开发板硬件不同,这个当然得要改</p> p>arch/arm/cpu/xxx 体系结构相关,有时有点改动</〉< p>includc/ configs/x.h--—开发板的配置文件,毫无疑问必须 Ex</p>p>Configuration Options: -----Configuration depends on the combination of board and CPu type: allsuch information is kept in a configuration file" include/configs/board name> h". Example: For a TQM823L module, all configuration settings are in include/ configs/TQM823L h"./p>p></p<pre name="code class=html >Directory Hierarchy: /arch Architecture specific file 体系结构相关文件, 也就是包含的所有支持处理器的类型 /arm Files generic to ARM architecture arm欠理器支持 CPU specific files 支持的 arm cpu /arm720t Files specific to ARM 720 CPUs- 具体的cpu类型 /arm920t Files specific to ARM 920 CPUs /at91 Files specific to Atmel AT91RM9200 CPU /Imx Files specific to Freescale MC9328 i MX CPUs /s3c24x0 Files specific to Samsung $3C24X0 CPUs arm925t Files ic to arm 925 CPus /arm926e js Files specific to ARM 926 CPUs /arm1136 Files specific to ARM 1136 CPUs /lxp Files specific to Intel XScale IXP CPUs / pxa Files specific to Intel Xscale PXA CPu /s3c44b0 Files specific to Samsung S3C44B0 CPUs /sa1100 Files specific to Intel StrongARM SAl100 CPUs /lib Architecture specific library files 出arm体 系的库文件 Machine/ arch independent aPI for external apps-这里一般 不用修改,有兴趣的自己了解 Board dependent files-- 开发板相 关文件 /common Misc architerture independent functions- 通用代码文 件,包括uoot命令和一些通用函数。 /disk Code for disk drive partition handling /doc Documentation (don t expect too much) /drivers Commonl y used device drivers- 各类设备驱 动程序 /examples Example code for standalone applications, etc Filesystem code (cramfs, ext2, jffs2, ctc) 支持的文 件系统 /include Header Files- 头文件和开 发板配置信息,所有的开发板配置文件都位于/ include/ configs日录下 Files generic to all architectures /libfdt Library files to support flattened device trees Library files to support LZMa decompression brary files to support lzo decompression /net Networking code 一支持的各 种网络协议 If Test tc Real time Clock drivers too ls Tools to build s- Record or u- Boot images,etc.-常用工具, 如制作 iMage的 mkimage工具 /Makefile 控制整个工程的编译 4建立编译配置文件 ubot这么大的一个「程文件,不可能全编译吧。这时候就得建立编译配置文件,当然 uboot本身就建立 好」一些默认配置文件,我们只需 make xXXx config 为什么是 XXx config呢?在很多博客里,经常看到有人写到 make xxx config建立配置,让我们来看看根 源在哪?看 README文档:对于 uboot支持的开发板,只需: Later we will add a configuration tool- probably similar to or even identical to what's used for the Linux kernel. Right now, we have to do the configuration by hand which means creating some symbolic inks and editing some confi guration files. We use the 'l'. boards as an examp⊥ e here Selection of Processor Archi tecture and Board lype For all supported boards there are ready-to-use default configurations available; just type make (board name> config Example: For a tQM823L module type: cd u-boot Imake TQM823L config 正如前面所说,我们在goni这垬开发板的基础上做修改,那么goni的配置怎么建立呢? make goni_ config 吗?很遗憾弹出错误信息,显然 Makefile里没有这个目标 rootGcrazyrain: / home/ share/uboot/u-boot-2012 10# make goni config No rule to make target goni config. Stop nakc:**「 goni config错误1 这里有两种思路可以解决。第一,去看 Makefile。第¨,还记得前面说的配置文件目录( include/ configs) 吗?去配置文件目录看看 root@crazyrain: /home/ share/ uboot/u-boot-2012 10# ls include/ configs/ grep goni 5 然后 rootocrazyrain: /home/share/uboot/u-boot-2012 10# make s5p goni config Configuring for s5p goni board 果然ok 这样好像有投机取巧的味道在里面,那么接下来将分析 Makefile文件建立自己的开发板配置文 件 x210V3开发板u-boot-2012.10移植之三- mkconfig分析 疯雨版权所有,转载请注明 thttp://blog.csdn.net/u0103469671 编辑顶层的 Makefile文件 root@crazyrain: /home/sharc/uboot/u-boot-2012 10# vim Makefile 搜索s5 p goni config目标,没找到。那么就是说这个目标是由其他文件产生的,并不是直接在 Makefile 中给出的。那么搜索 config,发现如下代码 config unconfig as(MKCONFIG)-A $(a: config) 下子愣是没看懂,%是个道配符,那么::这个是什么规则呢?表小没见过。百度双冒号规则,以下内 容来白htto/ olog chinaunix. net/uid20536947-d-1931549htm makefile双冒号规则 双冒号规则就是使用“∷:"代替旾通规则的"得到的规则。当同一个文作作为多个规则的日标时,双冒号规 则的处理和普通规则的处理过程完全不同(双冒号规则允许在多个规则中为同一个日标指定不同的重建日 标的命令)。 首先需要明确的是: Makefile中,一个目标可以出现在多个规则中。但是这些规则必须是同一类型的规 则,要么都是普通规则,要么都是双冒号规则。而不允许一个目标同时出现在两种不同类型的规则中。 双冒号规则和普通规则的处理的不同点表现在以下几个方面: 1.双冒号規则中,当依赖文件比目标更新时。规则将会被执行。对于一个没有依赖而只有命令行的双 冒号规则,当引用此目标时,规则的命令将会被无条件执行。而普通规则,当规则的目标文件存在时,此 规则的命令水远不会被执行(目标文件水远是最新的)。 当同一个文件作为多个双冒号规则的目标时。这些不同的规则会被独立的处理,而不是像—通规则 那样合并所有的依赖到一个目标文件。这就意味着对这些规则的处理就像多个不同的普通规则一样。就是 说多个双冒号规则中的每一个的依赖文件被改变之后,make只执行此规则定义的命令,而其它的以这个 文件作为目标的双冒号规则将不会被执行 我们来看一个例子,在我们的 Makefile中包含以下两个规则 Newprog foo c $(CC) S(CFLAGS)S<-o S@ Newprog barc S(CC) S(CFLAGS)S<-o S@ 如果foo.c文件被修改,执行make以后将根据"foo.c"文件重建目标ˆ Newprog"。而如果bar.c"被修改那么 ¨ Newprog’将根据"bar.c被重建。回想一下,如果以上两个规则为普通规时岀现的情况是什么?(make 将会出错并提示错误信息) 当同一^目标出现冇多个双冒号规则中时,规则的执行顺序和普通规则的执行顺序一样,按照其在 Makefile中的书写顺序执行。 GNU make的双冒号规则给我们提供一种根据依媖的更新情况而执行不同的命令来重建同一目标的机 制。一般这种需要的情况很少,所以双冒号规则的使用比较罕见。一般双冒号规则都需要定义命令,如果 个双冒号规则没有定义命令,在执行規则时将为其目标自动查找隐含规则。 搞清楚了,继续分析 @表示去回显,就是在控制台看不到命令信息。$(表示引用变量,$( MKCONFIG)就是引用 MKCONFIG变量,搜索这个变量 MKCONF IG SRCTREE)/mkconfig export MKCONFIG SRCTREE S (CURDIR CURDIR是 makefile的内嵌变量,显示当前路径 S(aC: config-)什么意思? 这里使用了 Makefile中的替换引用规则,格式为$ARAB严或者ARAB,意思是:替换变量"VAR 中所有“A"字符结尾的字为“B”结尾的字。 类似常看到的例子ob-s( srcfiles:%c=%o):由c得到对应的0文件 @代表的是目标s5 p goni config,那么$(@: config=)就是将s5 p goni config中的 config替 换为空!得到s5pgor 那么 aS( MKCONFIG)-As(@: config-)就等价于/ mkconfig -A s5 o gonl 接下来分析 mkconfig文件 vim mkconfig #!/bin /sh Script to create header files and links to configure U-Boot for a specific board Parameters: Target Architecture CPu Board [VENDOR] [SOC C)2002-2010 DENX Software Engineering, Wolfgang Denk <wdadenx de> aPPenD-no Default: Create new config filc BOARD NAME= Name to print in make output TARGETS= cpu board= endor ptions Automatic mode e=egrep-i[[: space: ]*$( 2: [[: space: ]]"b g echo"make:米 No rule to make target、$2 config.Stop.”&2 it 1 add default board name if needed 「$#=3]&&set${line}${} el if[MAKEFLAGS+set)$ MAKELEVEL +set="setset]:then 4 only warn when using a config target in the Makefile cat <<-EOF warning: Please migrate to boards. cfg. Failure to do so will mean removal of your board in the next release. EOF sleep 冰**米冰冰水冰**冰水冰冰*冰冰冰冰冰冰**冰水冰*冰 S表示参数个数./ mkconfig-As5 D gonl包含2个参数,$1表示第一个参数-A,$2表示第二个参数 s5p goni 如果参数个数等于2并且第一个参数为-A运行then后面的命令这里完全满足\是转义字符先不管。 egrep命令检索扩展的止则表达式(包括表达式组和可选项),i不区分大小写,[: space:]匹配空自字 符,包括空格,tdb,*匹配0个或多个字符 egrep-i"[: space:]*${2}[l: space:]]" boards.cfg也就是在 boards.cfg文件中查找s5 p gonl 字符串 所以要建立自己的配置文件,必须在这里建立自己的配置项,在 boards.cfg文件s5 p gonl后添加一行: x210v3 arm x210V3 samsung sbpc lxx 其实分析到这里就可以了, make x2103 config试试,果然 root@crazyrain: /home/ share/uhoot/u-hoot-2012 10# make x210v 3 config Configuring for x210v3 board 说明配置已经生效,不过make一下应该会出问题,因为还有很多文件没有建立。不管他make一下试试 home/share/uboot/u-boot-2012 10/include/ config. h: 10: fatal error: configs/ x210v3 h: No such file or director compilation terminated nake:*[lib/asm- off sets.s]错误1 先接着往下分析,后面冉来解决这个问题 水水水水米水水冰水水水水水冰末水水水水水水水冰水冰水水水水水水水冰水水水水水水冰水水水水水水岩水水来水水冰水水冰冰水水水水水水来冰水冰水水水水冰水水水水水 while[ $ -gt 0: do o) shift: break a)shift: aPPend=yes -n) shift BOARD NAME$ 1% config": shift t)shift: TARGETS="echo s1sed S TARGETS shift 米) break esac 米水求冰水*冰*来水米冰水我是分割线米水求*米串水米*冰来水* 这里判断参数个数是否(gt是大于的意思)大于零,我们这里参数明显多于零,所以继续执行。由于我 们的$1是″-A",所以直接退出,继续下面执行。 米*半半率半半半半水半*半半半*米半半半*半*半客半半*米半*半半*半*半半客率半半半*米半半半*半率半*半半*半半半半*半半*半*字半半*半半*半* LS#-1t4」&&exit1 S# -gt 7&& exit 1 米米*半字米**米我是分割线率米*米米*米米半米半 S#表示参数个数,如果参数个数小于4个大于7个就退出,我们得到六个参数:"x210v3 arm arm7 x210v3 sansung s5pc1xx",所以不会退出 水水水水*水冰水水水水水水冰水本水水水冰冰水水水冰水水冰水水水水水本水水水水冰水水冰水水水水水冰冰水水水水水冰水水水水水冰木水水冰水本水水冰水冰水水水 Strip all options and/ or config suffixes CONFIG NAME=$1% config [S(BOARD NAMEJ "] BOARD NAME="$[1% config

-
2018-06-06
-
2017-04-13
-
2016-09-28
-
2016-06-04
18.87MB
u-boot-2017.07移植到s5pv210教程(含对应源码)
2017-10-29u-boot-2017.07移植到s5pv210教程(含对应源码),注意这只是移植了单板信息,还没有其他驱动,其他驱动以后慢慢补上,新手的东西肯定更适合新手,欢迎下载。
关于s5pv210的uboot启动_course
2017-06-16.word 0x2000为什么要加这句呢,只有这句在第一句话的时候才会启动成功, .word 0x2000可以 .word 0 .word 0x2000 .word 0 .word 不行 之前我是把.word 0x2000看成是当前的运行地址是0x2000,因为a8启动时,会加载它内部 的代码去判断是sd卡启动还是Nand启动,我之前的想法是,可能那段代码是占0x2000 所以要这样的写法,但是在第三种情况不行的情况下,就觉得不是这个意思。。求大神解答
- s5pv210-uboot分析(二) 1502018-09-09 本文继续上一篇博客分析 ldr r0, =INF_REG_BASE ldr r1, [r0, #INF_REG3_OFFSET] cmp r1, #BOOT_NAND /* 0x0 =&gt; boot device is nand */ //读取启动信息寄存器并判断是否...
8.28MB
uboot-s5pv210
2013-07-22基于s5pv210 uboot,这是被移植好的uboot
69B
UBoot(基于三星A8-s5pv210 )
2019-02-15UBoot(基于三星A8-s5pv210 )
26KB
s5pv210 的uboot移植
2018-03-03从uboot官网对s5pv210的uboot进行移植,针对cortex-A8板子
7.64MB
S5PV210 u-boot移植详细教程及移植好工程
2017-05-06S5pv210 u-boot移植好工程及详细教程说明文档..............................................................
- 移植u-boot-2014.4到S5PV210/TQ210(完整) 90042014-06-25本文更多的是教会大家如何学习 1.1 概述 1.2 u-boot配置过程分析 1.3 u-boot编译过程分析 1.4 SPL 1.5 添加自己的单板 1.6 移植u-boot-spl.bin 1.7 u-boot.bin内存布局分析 1.8 u-boot重定位 1.9 u-boot启动流程总结 1.10 支持命令补全和历史命令 1.11
-
学院
三维地图GIS大数据可视化
三维地图GIS大数据可视化
-
博客
C++ ceil函数使用时,分子为1.0和1引发的误差
C++ ceil函数使用时,分子为1.0和1引发的误差
-
下载
install_flash_player_ax_cn_34_0_0_92离线安装包.zip
install_flash_player_ax_cn_34_0_0_92离线安装包.zip
-
博客
linux下网卡bonding配置
linux下网卡bonding配置
-
学院
【数据分析-随到随学】Hive详解
【数据分析-随到随学】Hive详解
-
下载
关于remix-IDE资源
关于remix-IDE资源
-
下载
将两条宽带通过两个路由器组成一个局域网的方法.zip
将两条宽带通过两个路由器组成一个局域网的方法.zip
-
博客
(SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------第一个SSM项目从创建到运行-详细(IDEA) ---(3) Mybatis集成
(SSM) springMVC + spring + Mybatis(MySQL)学习笔记 ------第一个SSM项目从创建到运行-详细(IDEA) ---(3) Mybatis集成
-
学院
前端性能优化
前端性能优化
-
博客
7-29 删除字符串中的子串 (20分)
7-29 删除字符串中的子串 (20分)
-
学院
【数据分析-随到随学】互联网行业业务指标及行业数
【数据分析-随到随学】互联网行业业务指标及行业数
-
博客
.NET 云原生架构师训练营(模块二 基础巩固 Scrum 核心)--学习笔记
.NET 云原生架构师训练营(模块二 基础巩固 Scrum 核心)--学习笔记
-
下载
glibc-static-2.17-292.el7.x86_64.rpm
glibc-static-2.17-292.el7.x86_64.rpm
-
学院
单片机完全学习课程全五季套餐
单片机完全学习课程全五季套餐
-
学院
pyechart数据可视化
pyechart数据可视化
-
下载
install_flash_player_ax_cn_34_0_0_92离线安装包
install_flash_player_ax_cn_34_0_0_92离线安装包
-
博客
2021-01-16——访问者模式在JDK以及Spring源码中的应用
2021-01-16——访问者模式在JDK以及Spring源码中的应用
-
下载
华工数字通信原理大作业
华工数字通信原理大作业
-
下载
linux下 如何安装开源软件 手把手教你源代码安装方式.zip
linux下 如何安装开源软件 手把手教你源代码安装方式.zip
-
学院
Cocos Creator游戏开发-连连看 (接入腾讯优量汇广告)
Cocos Creator游戏开发-连连看 (接入腾讯优量汇广告)
-
博客
详述Deep Learning中的各种卷积(二)
详述Deep Learning中的各种卷积(二)
-
下载
数据结构算法实现(严蔚敏版配套实现程序)
数据结构算法实现(严蔚敏版配套实现程序)
-
博客
插入的结点的next指针指向下一个结点的方式完成插入操作
插入的结点的next指针指向下一个结点的方式完成插入操作
-
博客
先验概率、后验概率、贝叶斯公式的通俗解释
先验概率、后验概率、贝叶斯公式的通俗解释
-
下载
最新EasyX库下载
最新EasyX库下载
-
学院
(新)备战2021软考网络工程师历年真题培训套餐
(新)备战2021软考网络工程师历年真题培训套餐
-
学院
【数据分析-随到随学】数据分析建模和预测
【数据分析-随到随学】数据分析建模和预测
-
学院
朱有鹏老师嵌入式linux核心课程2期介绍
朱有鹏老师嵌入式linux核心课程2期介绍
-
下载
gostudy_zip dos下怎么样才能下go棋
gostudy_zip dos下怎么样才能下go棋
-
下载
Duet Display windows版 version 1.9.2.7
Duet Display windows版 version 1.9.2.7