1.ok6410移植bootloader,移植u-boot,学习u-boot命令
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命令的更多相关文章
- Spring Boot学习——Spring Boot简介
最近工作中需要使用到Spring Boot,但是以前工作中没有用到过Spring Boot,所以需要学习下Spring Boot.本系列笔记是笔者学习Spring Boot的笔记,有错误和不足之处,请 ...
- Spring Boot学习——Spring Boot配置文件application
Spring Boot配置文件有两种格式: application.properties 和 application.yml.两种配置文件只需要使用一个. 这两种配置文件的语法有些区别,如下 1. a ...
- 转载:spring boot学习
Spring Boot学习 Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提 ...
- Spring Boot学习随记
由于早年在管理领域耕耘了一段时间,完美错过了Spring的活跃期, 多少对这个经典的技术带有一种遗憾的心态在里面的, 从下面的我的生涯手绘图中大概可以看出来我的经历. 最近由于新介入到了工业数字化领域 ...
- Spring Boot学习大全(入门)
Spring Boot学习(入门) 1.了解Spring boot Spring boot的官网(https://spring.io),我们需要的一些jar包,配置文件都可以在下载.添置书签后,我自己 ...
- Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客
==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...
- 学习Spring Boot:(一)入门
微服务 现在微服务越来越火了,Spring Boot热度蹭蹭直升,自学下. 微服务其实是服务化思路的一种最佳实践方向,遵循SOA(面向服务的架构)的思路,各个企业在服务化治理上面的道路已经走得很远了, ...
- 学习Spring Boot:(二十六)使用 RabbitMQ 消息队列
前言 前面学习了 RabbitMQ 基础,现在主要记录下学习 Spring Boot 整合 RabbitMQ ,调用它的 API ,以及中间使用的相关功能的记录. 相关的可以去我的博客/RabbitM ...
- 学习Spring Boot:(二十五)使用 Redis 实现数据缓存
前言 由于 Ehcache 存在于单个 java 程序的进程中,无法满足多个程序分布式的情况,需要将多个服务器的缓存集中起来进行管理,需要一个缓存的寄存器,这里使用的是 Redis. 正文 当应用程序 ...
随机推荐
- ubuntu hash sum mismatch error
$ sudo rm -rf /var/lib/apt/lists/* $ sudo apt-get update from: askubuntu.com
- TCP的几个状态
转自: TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG) http://www.cnblogs.com/lidabo/p/5713569.html
- (转)高性能网站架构之缓存篇—Redis集群搭建
看过 高性能网站架构之缓存篇--Redis安装配置和高性能网站架构之缓存篇--Redis使用配置端口转发 这两篇文章的,相信你已经对redis有一定的了解,并能够安装上,进行简单的使用了,但是在咱们的 ...
- C++复制控制
1.复制构造函数可用于: (1)根据另一个同类型的对象显示或隐式初始化一个对象 string str1="test"; //隐式 string str2=str1; //显示 ...
- QL Server 实用脚本
use MyFirstDB; -- 主要内容 -- SQL Server 实用脚本 -- 1.case语句 -- 2.子查询 -- 3.连接查询 -- 4.脚本变量与流程控制(选择与循环等) -- 5 ...
- myEclipse中改了项目名,出现的问题 和 错误java.io.IOException: tmpFile.renameTo(classFile) failed
今天遇到一个很头疼的问题,建的一个新项目,后来因为一些原因把项目名改了,之后就做了一些业务,但运行时总是没有反应,后来在myEclipse工作空间下的webapps文件中发现, 部署的文件名和项目名称 ...
- 在Eclipse中手动安装pydev插件,eclipse开发python环境配置
最近在学习Python,因为我是做java的,用惯了eclipse,所以就想用eclipse开发python,但是配置开发环境的时候发现按照网上的配置大多不行,而且都是用的在线安装,很垃圾,没办法,自 ...
- rsync错误日志
问题一: @ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(152 ...
- SQL Server之存储过程基础知
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。
前言 上一篇讲解了如何自定义右键菜单,都是前端的内容,本篇内容就一个:查询.聊天历史纪录查询,在之前介绍查找好友的那篇博客里已经提到过 Elasticsearch,今天它又要上场了.对于Elastic ...