自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——NAND 启动

我们知道 s5pv210启动方式有很多种,sd卡和nand flash 启动就是其中的两种,前面我们实现的都是基于sd卡启动,这节我们开始实现从nand flash 启动:      从 NAND 启动 u-boot,需要 BL1 初始化 NAND 控制器,然后从 NAND 拷贝 BL2 到 DDR 内存。这里的BL1 即我们移植的 u-boot-spl.bin,BL2 即我们移植的 u-bo

2014-07-23 15:37:17 2980 7

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——NAND 8位硬件ECC

这节我们实现nand的ecc,保存环境变量到nand flash 中。然后把我们之前的led灯烧写到nand flash 中,开机启动,在 tiny210.h 中定义宏 CONFIG_S5PV210_NAND_HWECC、CONFIG_SYS_NAND_ECCSIZE、CONFIG_SYS_NAND_ECCBYTESCONFIG_SYS_NAND_ECCSIZE 定义了消息长度,即每多

2014-07-23 14:34:12 1987

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——NAND添加分区

这里的分区只是为了操作的方便。假设有个分区 kernel,其地址区间为 0x20000~0x320000,其大小为 0x300000在没有分区的情况下,对这块区间的操作如下:nand erase 20000 300000        擦除操作nand write 20000000 20000 300000    写操作nand read 20000000 20000 300000

2014-07-23 14:10:25 1611

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植NAND FLASH

这节我们开始移植nand flash:通过查看帮助文档 doc/README.nand,要支持 NAND,需要配置CONFIG_CMD_NAND我们修改 tiny210.h,把 CONFIG_CMD_ONENAND 屏蔽掉,同时加上CONFIG_CMD_NAND:编译出错 ,没有定义 CONFIG_SYS_MAX_NAND_DEVICE,最大 NAND 设备数,我们的板子只有 1 个

2014-07-23 10:47:13 1652 1

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植网卡

tiny210 板载的网卡芯片是 DM9000A,接在 S5PV210 的 SROM 控制器的 BANK1 上。S5PV210 的 SROM 控制器支持 8/16 位  NOR  Flash/PROM/SRAM 内存。分为 6 个 bank,每个 bank 寻址空间达 128MB。每个 bank 有一个片选信号 nGCS[5:0],用来选通外接的内存芯片。当发的地址在bank1 的寻址

2014-07-22 16:45:09 2164 1

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——命令补全和历史命令

我们知道 Linux 的 shell 支持按 Tab 键自动补全命令,以及历史命令。 使用非常方便,我们也想让 u-boot支持这些功能:让 u-boot shell 支持 tab、命令历史-jdzwl-ChinaUnix 博客”一文有说明,需要配置 2 个宏CONFIG_CMDLINE_EDITING 和 CONFIG_AUTO_COMPLETE,我们在 tiny210.h 中增加这 2 个

2014-07-22 16:06:29 1188

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot.bin(打印串口控制台)

在之前我们移植的代码中,都没看到明显的效果,这节我们实现控制台的打印信息。在上节,我们看到调用 relocate_code 重定位。在 u-boot 的帮助文档 doc/README.arm-relocation 中对重定位有说明。u-boot 为了生成位置无关码,在链接时指定了-pie 选项,这个选项在 u-boot-2014.04/arch/arm/config.mk 中指定:

2014-07-22 12:36:37 1888

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot.bin(修改显示信息)

我们平时在使用u-boot时 ,u-boot启动会打印一些基本信息,比如说cpu型号、内存da

2014-07-22 11:26:01 1950

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot.bin(内存布局)

在前面我们已经成功的实现了u-boot-spl.bin 现在kansh

2014-07-21 16:43:57 1361

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(点亮led灯)

在这节,我们要完成u-boot-spl.bin移植,并且通过这个程序,kaobei

2014-07-21 13:26:24 2147 2

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(内存初始化)

这节我们完成内存的初始化:

2014-07-21 10:59:52 1599

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(时钟初始化)

首先移植 u-boot-spl.bin我们采用 SPL 方式,因此需要在单板配置文件 u-boot-2014.04/include/configs/smdkv210.h 中添加宏

2014-07-20 17:11:39 1597

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(核心初始化)

注意:所有修改或添加的代码都标注有“add by zjh”或者“modied by zjh” ,这样方便查看。关于 u-boot 中的命令的使用,大家可以百度“uboot 命令详解”,或者查看 u-boot 的帮助文档。首先大致分析一下 u-boot 的代码走向,通过看链接脚本 u-boot-2014.04/arch/arm/cpu/u-boot.lds 和u-boot-2014.04

2014-07-20 15:12:53 2422 1

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植开始

前几节记录的都是一些准备知识。现在我们开始正在的移植了 。

2014-07-20 14:21:55 1708

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——SPL

什么是SPL 的全称为 secondary program loader,即第 2 阶段程序加载器,即我们要实现的 BL1

2014-07-20 13:28:34 1630

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——编译过程

这里引入一个 Makefile 的知识点,GUN make 的执行过程分为两个阶段:      第一阶段:读取所有的 makefile 文件(包括“MAKIFILES”变量指定的、指示符“include”指定的、以及命令行选项“-f(--file)”指定的 makefile 文件),内建所有的变量、明确规则和隐含规则,并建立所有目标和依赖之间的依赖关系结构链表。      第二阶段:根据第

2014-07-20 13:14:15 1669

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——配置过程(三)

这节我们换种方法分析,从重点开始,也把我们前面分析的lian

2014-07-20 11:46:19 1536

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——配置过程(二)

上节我们分析到第149-1390行,由于比较长,我们这节继续分析。这是一个条件语句,我们拆分分析:(第153-158行)PHONY += allifeq ($(KBUILD_EXTMOD),)_all: allelse_all: modulesendif     这段比较简单,如果KBUILD_EXTMOD为空的话,_all这个目标就要依赖all,反之依赖modules。(第

2014-07-20 10:39:21 1443

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——配置过程(一)

刚开拿到u-boot

2014-07-19 19:43:53 1729

原创 tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——前言

在看国嵌新版视频中,看到了uboot的分析,刚好手中有块tiny210的板子,(视频上提供的是smart210,应该是同一块板子),因为刚刚学习嵌入式linux,想尝试一下uboot的移植,于是想把中间的移植的过程记录下来,以供以后参考,同时希望得到大家的指导,希望中间的错误同学们能指出,共同进步:

2014-07-19 17:44:37 1379

tiny210_u-boot_2014.04_v2.0

基于2014.04 u-boot版本tiny210的移植,实现了nand flash 和sd卡启动,实现了网卡和nand flash 驱动的移植。

2014-07-23

tiny210_uboot_2014.04_v1.1

这是在基于1.0版本之后的移植,实现了spl和u-boot部分,从sd卡启动,打印串口控制台信息

2014-07-22

tiny210_uboot_2014.04_v1.0

这是tiny210 移植u-boot2014.04的初始代码 实现了spl部分,通过spl拷贝led测试程序到内存运行,里面也包含了led测试程序。

2014-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除