获取u-boot源代码

  在u-boot官方网站下载uboot源码。ftp://ftp.denx.de/pub/u-boot/

  因为是第一次移植uboot,所以这里选的版本是 u-boot-2013.01

  解压文件到 /home/tiny4412下。

cd /home/tiny4412/
tar xvf u-boot-2013.01

  根据 Linux嵌入式驱动学习之路③u-boot配置分析  中可知在执行mkconfig时会从boards.cfg中提取相应的信息。

  所以在boards.cfg中添加相应的信息。

  tiny4412(目标板型号)   arm(CPU架构)         armv7(CPU型号)       tiny4412(开发板名称)            samsung(生产厂家)        exynos(片上系统)

  打开makefile,指定交叉工具链为 arm-linux-

  找一个最类似的board配置修改。这里我们参考的是 origen

cd board/samsung/
cp origen tiny4412 -rf
cd tiny4412/

  修改makefile信息 将origen该为tiny4412

  将origen.c该为tiny4412.c

将$(obj)/include/configs/origen.h 复制为tiny4412.H

将tiny441.h中原来的#define CONFIG_SYS_PROMPT "ORIGEN #" 改成

将原来的#define CONFIG_IDENT_STRING "for ORIGEN" 改成

  

  编译u-boot 

make distclean
make tiny4412_config
make

编译完成后会生成可执行的u-boot.bin文件。  

将友善之臂中提供的sd_fuse文件夹复制到顶层目录中。

编译用于生成bl2的工具

cd sd_fuse; make

将一张大于4G的SDHC卡插入电脑。假设已被识别为/dev/sdb

cd sd_fuse/tiny4412/
sudo ./sd_fusing.sh /dev/sdb

  若有以下提示,则制作成功。

    U-boot image is fused successfully.
    Eject SD card and insert it again.

  将sd卡放入开发板,从SD卡启动,无任何现象。

  确认第一条指令运行到了。(点灯)

  在arch/arm/cpu/armv7/start.s的reset 中添加下面几句话

 /* led (GPM4_0~3) on */    /*点亮LED灯*/
ldr r0, =0x110002E0
ldr r1, =0x00001111
str r1, [r0]
ldr r1, =0x0e
str r1, [r0, #0x04]

  重新制作sd卡,启动,led被点亮。

  然后,我把led灯的指令放到lowlevel_init中,发现灯点不亮。

  反汇编后,查看了一下我觉得没有问题。一直不知道是为什么。后来在整理相对跳转和绝对跳转笔记时,突然想起来会不会是lowlevel_init这个代码在代码段的位置中太靠后了,因为上电之后内存并没有初始化。所以我修改了链接脚本器。

在arm/arm/cpu/armv7目录中的u-boot.lds的CPUDIR/start.o (.text*)后加上下面一段话后,led灯被点亮。

CPUDIR/start.o (.text*)
board/samsung/tiny4412/libtiny4412.o (.text)
arch/arm/cpu/armv7/exynos/libexynos.o (.text)

sdf

u-boot移植初步尝试-tiny4412的更多相关文章

  1. Python爬虫学习:二、爬虫的初步尝试

    我使用的编辑器是IDLE,版本为Python2.7.11,Windows平台. 本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:二.爬虫的初步尝试 1.尝试抓取指定网页 ...

  2. 用R进行微博分析的初步尝试

    新浪微博如火如荼,基于微博的各种应用也层出不穷. 有一种共识似乎是:微博数据蕴含着丰富的信息,加以适当的挖掘.可以实现众多商业应用.恰好社会网络分析也是我之前有所了解并持续学习的一个领域,因此我做了微 ...

  3. spring boot初步尝试

    第一次知道spring boot这个项目是为在学习spring的时候,在官网上看到的,那个时候不知道这个项目是干嘛的,也就没再继续关注了 这些天实习没什么事做,一直没用spring框架了,就想着去官网 ...

  4. 标题:u-boot 移植步骤详解

    1 U-Boot简介U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目.从FADSROM.8xxROM.PPCBOOT逐步发展演化而来.其源码目录.编译形式与 ...

  5. OSX 上初步尝试 asp.net 5

    去年微软最令开源狗界振奋的消息就是 ASP.NET 的开放与开源这一消息了. 根据微软的介绍,与我之前的一些总结,可以看到 ASP.NET 以及 .NET 平台会有下面几个变化: 代码使用 Apach ...

  6. -boot移植(十一)---代码修改---支持nandflash

    一.移植前的修改 1.1 include/configs/jz2440修改 原来的定义: 可以看出,要先定义CONFIG_CMD_NAND才能使能NANDFlash. 这个在我们文件中的82行有定义, ...

  7. spring boot docker 初尝试

    Docker服务中进程间通信通过/var/run/docker.sock实现,默认服务不提供监听端口,因此使用docker remote api 需要手动绑定端口. 在centos7.2下,可以进行这 ...

  8. nginx初步尝试

    导师要我学习下nginx,弄个简单的负载均衡出来,具体就是请求发送到nginx上,然后nginx将请求转发到后面的两个jetty应用上,这两个应用的代码是一样的,只是监听的端口不同,由于是简单尝试,因 ...

  9. 【阿里云产品公测】性能测试服务PTS的初步尝试

        性能测试服务PTS,对于像我这样对测试毫无概念的新手来说,这服务真的太好了,使用简单,官方教程又明细,连我这样的新手一看都明白了怎样使用. _%GGl$kH   下面是我来简单尝试一下,更多功 ...

随机推荐

  1. ArcGIS中国工具2.2正式发布

    ArcGIS中国工具2.2新功能 1. 2.0全面支持ArcGIS10.3 2. 全面修改成插件,原来部分是独立运行的EXE 3. 可以制作倾斜的矩形图框 4. 修改宗地(地块)左上角为第一个点,填写 ...

  2. Understanding the Uncertain Geographic Context Problem

    "The areal units (zonal objects) used in many geographical studies are arbitrary, modifiable, a ...

  3. Android Activity和Fragment的转场动画

    Android Activity和Fragment的转场动画 Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, ...

  4. 【Gson】2.2.4 StackOverflowError 异常

    正文 错误: 08-09 09:56:51.904: E/AndroidRuntime(16384): java.lang.StackOverflowError 08-09 09:56:51.904: ...

  5. 【Android】中兴ZTE sdcard路径的问题

    测试机: ZTE U950 现象: 用Environment.getExternalStorageDirectory()取到的路径是/mnt/sdcard 真相: /mnt/sdcard/是一个空文件 ...

  6. linux下使用yum安装mysql详解

    1.安装客户端和服务器端 确认mysql是否已安装: ? 1 2 yum list installed mysql* rpm -qa | grep mysql* 查看是否有安装包: ? 1 yum l ...

  7. safari浏览器添加书签的方法

    说起来自己也是够笨的,竟然找了半天没发现safari的添加书签按钮.为了减少别的朋友遇到这个问题的解决时间. 我做下截图说明,其实就是safari的分享按钮. 希望对你能有所帮助

  8. (视频)《快速创建网站》 3.3 国际化高大上 - WordPress多语言支持

    本文是<快速创建网站>系列的第7篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  9. 伪造http的ip地址,突破ip限制的投票程序

    某WEB投票程序, 使用 ip 限制和cookie限制技术,来限制每个ip每天只能投一次票,使用的是php开发,获取访问者的 ip 使用了搜狐的接口: http://txt.go.sohu.com/i ...

  10. c++双字符常量

    ascii表中 A是65,B是66,16706是A乘256+B 一些双字符的汉字也可以通过此方法转为int数字