博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.ok6410移植bootloader,移植u-boot,学习u-boot命令
阅读量:4981 次
发布时间:2019-06-12

本文共 2086 字,大约阅读时间需要 6 分钟。

            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

 

转载于:https://www.cnblogs.com/wmx-learn/p/5321360.html

你可能感兴趣的文章
Atom
查看>>
Jenkins-在windows上配置自动化部署(Jenkins+Gitblit)
查看>>
Marvel – 将图像和源文件转换成互动,共享的原型
查看>>
如何给网站瘦身?图文并茂的前端性能优化指南
查看>>
codeforce 6D-6E(dp,线段树)
查看>>
python学习笔记(六)循环
查看>>
[置顶] myEclipse8.5或者eclipse手工安装jd插件(myEclipse8.5或eclipse内直接查看.class文件,jd反编译工具)...
查看>>
MST最小生成树及Prim普鲁姆算法
查看>>
Access连接数据源配置(新手必知)
查看>>
(3)排序之直接插入排序
查看>>
知识图谱技术分享会----有关知识图谱构建的部分关键技术简介及思考
查看>>
TCP/IP、Http、Socket的区别
查看>>
c#数字图像处理算法(最终版)
查看>>
(原创)robotium自学笔记
查看>>
搭建SSI开发框架原理
查看>>
原版的WEB认证客户端,提供源代码,让用户自行编译
查看>>
小程序弹出框
查看>>
Scrapy框架基本使用
查看>>
RabbitMQ基础介绍
查看>>
关于过滤器,拦截器,监听器
查看>>