ok6410移植u-boot

既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的。

一、配置编译u-boot

  A. 解压 u-boot 压缩文件
  B. 进入解压生成文件中
  C. 执行 make distclean 和 make clean
  D. make forlinx_nand_ram256_config
  E. make CROSS_COMPILE=arm-linux- ARCH=arm

  其中D. make forlinx_nand_ram256_config是配置u-boot,至于后面的参数是因为我用的是飞凌公司的Ok6410A开发板,可以通过查看u-boot里面makefile的目标文件得到。进入u-boot解压好的源码中执行:vim Makefile   使用低行模式/forlinx

  其中E步骤中的:make CROSS_COMPILE=arm-linux- ARCH=arm 是指定makefile中可能使用到的编译器arm-linux-,并且指定平台arm进行编译

二、下载镜像文件到开发板

  选择从SD卡启动然后通过dnw下载生成的u-boot.bin文件:/home/dnw  u-boot.bin  50000000

三、u-boot命令学习

  上一步下载完u-boot镜像后,设置开发板从nandflash启动

  待开发板从nandflash启动以后进入命令行,通过help命令查看当前开发板可以支持的命令。下面学习几个通用的u-boot命令

3.1 查看环境变量
  printenv =print
3.2 添加、修改、删除环境变量
  1).setenv name value
    add/modify
  2).setenv name
    delete
3.3 保存环境变量到 flash
  saveenv=save
3.4 通过 tftp 进行文件下载(CRT 下面操作)
  #setenv ipaddr 192.168.2.1 (开发板 ip)
  #setenv serverip 192.168.2.3(tftp 服务器的地址)

  #save 进行保存

  #ping 192.168.2.3 测试网络是否畅通
  #tftp 0xc0008000 zImage (这里使用tftp下载程序需要在pc机上搭建tftp服务器)
  为 ok6410 下载内核映像(不同的开发板地址不一样)

3.5 执行程序

  bootm {addr} {arg}

  执行固定格式的 2 进制程序

  例: bootm 0xc0008000

3.6 查看内存内容

  md 显示内存区的内容

  md 采用十六进制和 ASCII 码两种形式来显示存储单元的内容。

  这条命令还可以采用长度标识符.l, .w 和.b :

  md [.b, .w, .l] address

  范例:

  md.w 100000

3.7修改内存内容

  mm 修改内存,地址自动递增。

  mm [.b, .w, .l] address

  mm 提供了一种互动修改存储器内容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值将会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了一下回车,那么该地址的内容保持不变。如果想结束输入,则输入空格,然后回车。

  => mm 100000

8.擦除 nand flash

  nand erase 起始地址 start 长度 len

  擦除 start 处开始的,长度为 len 的区域

  范例:
  #nand erase 0x400000 0x500000

3.9写/读 nand flash

  nand   write  内存起始地址  flash  起始地址    长度 len

  将内存起始地址处,长度为 len 的数据,写入 flash 起始地址处。

  范例:

  #nand write c0008000 400000 500000

  nand read 内存起始地址 flash 起始地址 长度 len

  将 flash 起始地址处,长度为 len 的数据,读到内存起始地址处。

  范例:

  #nand read c0008000 400000 500000

3.10设置自启动

  A. 设置从 nand flash 自动启动

    #setenv bootcmd nand read c0008000 400000 500000 \; bootm c0008000

  B. 设置自动下载内核到内存后启动

    #setenv bootcmd tftp c0008000 uImage \; bootm c0008000

1.ok6410移植bootloader,移植u-boot,学习u-boot命令的更多相关文章

  1. Spring Boot学习——Spring Boot简介

    最近工作中需要使用到Spring Boot,但是以前工作中没有用到过Spring Boot,所以需要学习下Spring Boot.本系列笔记是笔者学习Spring Boot的笔记,有错误和不足之处,请 ...

  2. Spring Boot学习——Spring Boot配置文件application

    Spring Boot配置文件有两种格式: application.properties 和 application.yml.两种配置文件只需要使用一个. 这两种配置文件的语法有些区别,如下 1. a ...

  3. 转载:spring boot学习

    Spring Boot学习 Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提 ...

  4. Spring Boot学习随记

    由于早年在管理领域耕耘了一段时间,完美错过了Spring的活跃期, 多少对这个经典的技术带有一种遗憾的心态在里面的, 从下面的我的生涯手绘图中大概可以看出来我的经历. 最近由于新介入到了工业数字化领域 ...

  5. Spring Boot学习大全(入门)

    Spring Boot学习(入门) 1.了解Spring boot Spring boot的官网(https://spring.io),我们需要的一些jar包,配置文件都可以在下载.添置书签后,我自己 ...

  6. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  7. 学习Spring Boot:(一)入门

    微服务 现在微服务越来越火了,Spring Boot热度蹭蹭直升,自学下. 微服务其实是服务化思路的一种最佳实践方向,遵循SOA(面向服务的架构)的思路,各个企业在服务化治理上面的道路已经走得很远了, ...

  8. 学习Spring Boot:(二十六)使用 RabbitMQ 消息队列

    前言 前面学习了 RabbitMQ 基础,现在主要记录下学习 Spring Boot 整合 RabbitMQ ,调用它的 API ,以及中间使用的相关功能的记录. 相关的可以去我的博客/RabbitM ...

  9. 学习Spring Boot:(二十五)使用 Redis 实现数据缓存

    前言 由于 Ehcache 存在于单个 java 程序的进程中,无法满足多个程序分布式的情况,需要将多个服务器的缓存集中起来进行管理,需要一个缓存的寄存器,这里使用的是 Redis. 正文 当应用程序 ...

随机推荐

  1. JAVA 回调机制(callback)

    序言 最近学习java,接触到了回调机制(CallBack).初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义.当然了,我在理解了回 ...

  2. Java集合中Comparator和Comparable接口的使用

    在Java集合中,如果要比较引用类型泛型的List,我们使用Comparator和Comparable两个接口. Comparable接口 -- 默认比较规则,可比较的 实现该接口表示:这个类的实例可 ...

  3. hibernate xx(tableName) is not mapped

    数据库中表名是:book,数据库表名不区分大小写的 之后我在hibernate 使用book, String sql="from book"; Query query=sessio ...

  4. SQL Server的“错误:9004”

    客户的一台现场采集电脑崩溃,无法启动.用PE引导后,将MDF和LDF数据复制出来,往正常的数据库附加时,报如下错误: 处理数据库 'databasename' 的日志时出错.如果可能,请从备份还原.如 ...

  5. Python初识

    Python第一天   一.为什么学Python        作为一名linux运维工程师现在越来越感觉不好干了.没有地位,还待背黑锅,并且运维自动化发展的这么快,普通运维岗位的路也越来越窄(因为我 ...

  6. Linux/Unix命令

    MAC 中自定义环境变量 打开:nano .bash_profile 查看:cat text 保存退出:Ctrl+C,Y #在.bash_profile 中添加tree alias tree=&quo ...

  7. Maven 安装

    简单记录maven的安装步骤: 在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量. 下载maven3,最新版本是Maven3.2.3 ,下载地址:http://maven ...

  8. hihocoder 1061.Beautiful String

    题目链接:http://hihocoder.com/problemset/problem/1061 题目意思:给出一个不超过10MB长度的字符串,判断是否里面含有一个beautiful strings ...

  9. 打开VS2012的创建单元测试功能

    在VS2010中,在类中点击右键,有一个创建创建单元测试命令,可以很方便的生成单元测试项目和代码.但不知道为什么VS2012反而没有这个功能. 网上搜了一下,好在这个功能是可以通过配置打来的. 传送门 ...

  10. 【QT】C++ GUI Qt4 学习笔记2

    Go To Cell 利用QT Desinger做好界面后加入的代码有 gotocelldialog.h #ifndef GOTOCELLDIALOG_H #define GOTOCELLDIALOG ...