一、uboot指令

hisilicon # help
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
ddr     - ddr training function
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
getinfo - print hardware information
Go      - start application at address 'addr'
help    - print command description/usage
loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
tftp    - tftp  - download or upload image via network using TFTP protocol
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
hisilicon # 
详细查看各个指令用法可使用 help+指令名 来查看。举个栗子:
x210 # help erase
erase start end- erase FLASH from addr 'start' to addr 'end'
erase start +len- erase FLASH from addr 'start' to the end of sect w/addr 'start'+'len'-1
erase N:SF[-SL]- erase sectors SF-SL in FLASH bank # N
erase bank N- erase FLASH bank # N
erase all

二、uboot 环境变量

参看:U-Boot Usage
参看:uboot环境变量实现分析
bootdelay    执行自动启动的等候秒数
baudrate     串口控制台的波特率
netmask     以太网接口的掩码
ethaddr       以太网卡的网卡物理地址
bootfile        缺省的下载文件
bootargs     传递给内核的启动参数
bootcmd     自动启动时执行的命令
serverip       服务器端的ip地址
ipaddr         本地ip 地址
stdin           标准输入设备
stdout        标准输出设备
stderr         标准出错设备

三、uboot 传参机制

参看:uboot向kernel的传参机制——bootm与tags

四、bootargs

参看:U-Boot Usage
参看:GSG: DM365 DVEVM Additional Procedures
例如:
setenv bootargs 'console=ttyS0,115200n8 ip=dhcp root=/dev/mtdblock3 rw rootfstype=yaffs2
mem=76M  video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0
davinci_capture.device_type=4'
setenv bootcmd 'nand read 0x80700000 0x400000 0x400000;bootm 0x80700000';

root=

它告诉内核使用什么设备作为根文件系统。例如,要通过NFS引导,请设置
    root=/dev/nfs
要通过MMC / SD启动,请执行类似操作

    root=/dev/mmcblk0p2

rw

这告诉内核将根文件系统挂载为读/写。

rootstype=

指明文件系统的类型

nfsroot=

它告诉内核哪个机器和目录用于NFS挂载,以及根文件系统的选项。 更多细节可以在 linux/Documentation/ nfsroot.txt 文件中找到。 这也必须与 root = /dev/nfs 参数一起使用。例如:
    nfsroot=192.168.1.100:/home/workdir/filesystem,nolock (192.168.1.100 为虚拟机 IP)

ip=

通过 NFS 安装时,内核必须直接配置网络接口。 这个的典型用法是:
    ip=dhcp

例如:ip=192.168.32.128:192.168.32.122:192.168.32.1:255.255.255.0 
“ip=”后面: 
    第一项(192.168.32.128)是开发板的临时IP(注意不要和局域网内其他 IP 冲突); 
    第二项(192.168.32.122)是我的 PC 的 IP; 
    第三项(192.168.32.1)是开发板上网关(GW)的设置; 
    第四项(255.255.255.0)是子网掩码;

noinitrd

当指定时,这将允许通过 /dev /initrd 访问初始 RAM 磁盘。否则使用 initrd

init

init指定的是内核启起来后,进入系统中运行的第一个脚本,一般init=/linuxrc, 或者init=/etc/preinit,preinit的内容一般是创建console,null设备节点,运行init程序,挂载一些文件系统等等操作。请注意,很多初学者以为init=/linuxrc 是固定写法,其实不然,/linuxrc指的是/目录下面的linuxrc脚本,一般是一个连接罢了。

mem=

这指定了可用于Linux的内存量。

console=

这告诉内核在哪里发送引导消息。 典型用法是使用第一个串行端口,115200波特,8位数据,无奇偶校验。 例如:
    console=ttyS0,115200n8

mtdparts

Flash分区描述,格式为 mtdparts=hi_sfc:256K(boot),3M(kernel),1M(rootfs),5M(data) 
表示有4个分区,分区0大小为256用于bootloader启动,分区1大小为3M用于内核启动,分区2大小为1M用于根文件系统启动,5M为用户数据。

video=

这将告诉内核有关如何配置视频设备的信息。 这里给出了与TI EVM具体相关的一些常见值。

    davincifb | omap24xxfb

这具体说明要使用的framebuffer驱动程序的名称。 (对于DaVinci零件选择davincifb和OMAP3零件的omap24xxfb)。

    vid[0-1]=[width x height x bpp,mem]

这指定了对应于vid0或vid1的帧缓冲区的大小,每像素的位数和内存量。 如果使用v4l2驱动程序(而不是davincifb),请将其指定为vid0 = OFF:vid1 = OFF。 如果使用davincifb驱动程序,您可以分配一个720x480 vid0窗口,每个像素16位,内存2500KB
    vid0=720x480x16,2500K

    osd[0-1][width x height x bpp,mem]

这指定了对应于osd0或osd1的帧缓冲区的大小,每像素的位数和分配的内存量。 例如,您可以分配一个720x480的osd0窗口,每个像素16位,内存2500KB
    osd0=720x480x16,2500K

    rotation=n (for use with omap24xxfb only)

这指定了帧缓冲区的旋转量。 n的有效值为{0,90,180,270}。
video =参数的所有值部分应该用逗号分隔。 例如,在达芬奇设备上,要使用v4l2驱动程序进行视频窗口并设置OSD窗口,请使用:
    video=davincifb:vid0=OFF:vid1=OFF:osd0=720x480x16,2500K

dm365_imp.oper_mode=

这将设置IPIPE调整器的模式。 连续模式为0,单拍模式为1。

davinci_capture.device_type=

这定义要使用哪个驱动程序。 使用以下设置:

    davinci_capture.device_type=0 for MT9T001
    davinci_capture.device_type=1 for TVP5146
    davinci_capture.device_type=2 for MT9T031
    davinci_capture.device_type=3 for MT9P031
    davinci_capture.device_type=4 for TVP7002
    davinci_enc_mngr.ch0_output=

有效值为:
   COMPOSITE
   COMPOSITE1
   SVIDEO
   SVIDEO1
   COMPONENT
   COMPONENT1
   LCD
   LCD1

davinci_enc_mngr.ch0_mode=

达芬奇的有效值为:
   NTSC
   ntsc
   NTSC-RGB
   PAL
   pal
   PAL-RGB
   720P-24
   720P-25
   720P-30
   720P-50
   720P-60
   1080I-25
   1080I-30
   1080P-25
   1080P-30
   1080P-50
   1080P-60
   480P-60
   576P-50
   640x480
   640x400
   640x350
   800x480

DaVinciHD(DM6467)的有效值为:

   NTSC
   NTSC-RGB
   PAL
   PAL-RGB
   720P-25
   720P-30
   720P-50
   720P-60
   1080I-25
   1080I-30
   1080P-24
   1080P-25
   1080P-30
   1080P-50
   1080P-60
   480P-60
   576P-50
   640x480
   640x400
   640x350

五、nand flash/nor flash烧写指令

1、nand flash

例如:烧写内核
mw.b 82000000 ff 400000
tftp 82000000 uImage
nand erase 800000 400000
nand write 82000000 800000 400000

nand info :  查看nandflash芯片信息包括数据线位宽一般8或者是16等

nand erase:  nandflash使用之前必须先擦除,遇到坏块会标记以下是使用实例

nand erase 0x00280000 0x300000
    作用:擦除nandflash上起始地址为0x00280000,长度为0x300000的flash空间

nand scrub: 作用和nand erase差不多,但是会将坏块信息也擦除掉

    nand scrub 400000 1000000 表示从 0x400000 开始清理 64M。
    如果最后一个参数不传,则表示从此地址开始清理至 nand flash 结束,比如:
    nand scrub 400000 表示清理从 0x400000 开始的所有 flash 空间。

nand write:  将数据从ddr上的某个地址写入flash中间比如

nand write 0x81000000 0x00280000 0x300000
    作用:将DDR地址为0x81000000上的数据写入到nandflash 地址0x00280000上,写入长度为0x30000

nandecc  : 在读写flash之前需要先设置好该flash的ecc校验方法,否则可能导致很严重的错误,

以下是设置ecc校验的命令:
    nandecc hw 2设置nandflash的ecc校验是硬件校验具体为BCH8(4位校验码)
    nandecc hw 0设置nandflash的校验方法是硬件校验具体是汉明码(1位校验码)
    nandecc sw 设置nandflash的校验方法是软件校验

2、nor flash

例如:烧写 uboot
sf probe 0
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000

【mw.b】

mw.b表示按字节显示,内存初始化,填充内存。把内存 0x82000000 开始的 0x10000 字节设为 0xFF。

【sf probe 0】

探测并初始化SPI FLASH;

【0x82000000】

内存地址

【erase】

表示从地址0擦除了1M的文件

【write】

表示从内存地址0x82000000写入1M文件

DM368开发 -- uboot 使用相关推荐

  1. DM368开发 -- uboot、内核移植(转)

    参看:DAVINCI DM365-DM368开发攻略--U-BOOT-2010.12及UBL的移植 参看:DAVINCI DM365-DM368开发攻略--linux-2.6.32的移植 一.介绍u- ...

  2. DM368开发 -- 文件烧写

    参看:UG: DaVinci PSP Installation on DM36x EVM 参看:DM368 NAND Flash启动揭秘 参看:DM36x的UBL分析以及串口启动 UBL 是 RBL ...

  3. linux用户环境下进入uboot,嵌入式linux开发uboot移植(一)——uboot项目简介

    嵌入式linux开发uboot移植(一)--uboot项目简介 一.uboot简介 U-Boot,全称 Universal Boot Loader,是遵循GPL条款的从FADSROM.8xxROM.P ...

  4. DM368开发 -- 编码并实时播放

    最近正好又用到 DM368 开发板,就将之前做的编解码的项目总结一下.话说一年多没碰,之前做的笔记全忘记是个什么鬼了.还好整理了一下出图像了.不过再看看做的这个东西,真是够渣的,只能作为参考了. 项目 ...

  5. 从零开始搭建DM368开发环境,安装DVSDK4_02_00_06并编译生成uboot、rootfs和kernel镜像

    目录 〇.前言 一.Ubuntu10.04的安装 1.VMWare15的安装 2.Ubuntu10.04的镜像获取 3.Ubuntu10.04中需要做的修改 更改apt-get源 更新apt-get ...

  6. DM368开发 --IPNC 设置过程

    参看:Appro DM36x IPNC 4.0 开发环境配置 第一步: IPNC 安装: 安装软件包,解压后包含以下组件: 1. IPNC_RDK_DM36x_Version3.1.0.tar.gz: ...

  7. DM368开发 -- Bootloader 开发(转毕设)

    参看:基于 DM368 的高清视频监控系统设计与实现 -- 文波 DM368 的启动过程大致如下: 首先进行启动代码的加载与执行, 主要是指 Bootloader启动阶段,其次启动系统内核并挂载文件系 ...

  8. DM368开发 -- 华为3G/4G模块移植

    一.模块介绍 用的是华为 ME909s-821 Mini PCIe. 模块介绍,参看: ME909s-821 Mini PCIe 规格参数 其他模块,参看:华为全系列模块 产品介绍 ME909s-82 ...

  9. DM368开发 -- 环境搭建

    参看:Getting Started Guide for DM368 DM365 LeopardBoard 参看:DAVINCI DM365-DM368开发攻略--开发环境搭建(DVSDK4.02) ...

最新文章

  1. java 基础---继承
  2. mysql sycho_Java面试题 - osc_p1rj1z8j的个人空间 - OSCHINA - 中文开源技术交流社区
  3. IDFA的值什么时候会发生改变
  4. eclipse export jar file 和 runnable jar file 的区别
  5. DVI和HDMI中的TMDS接口协议
  6. Atitit 图像处理的摩西五经attilax总结
  7. 更改stata外部命令存放位置
  8. Web前端开发技术实验与实践(第3版)储久良编著实训3
  9. PC常见故障及解决思路汇总(系统方面)
  10. 程序员3年工资从7千到2万2,晒出跳槽经历!网友:厉害
  11. java+poodle漏洞修复_如何修复 POODLE SSLv3 安全漏洞 (CVE-2014-3566)
  12. Spring Boot的启动流程
  13. python求1到n的奇数和_编写程序。输入任意整数n,计算1到n的奇数和。C语言编写程序 输入整数N 显...
  14. STRATEGY模式(冒泡算法为例)
  15. 软考高级 真题 2016年下半年 信息系统项目管理师 论文
  16. Lenovo Y50 (1080P) 安装 黑苹果 hackintosh macOS High Sierra 10.13.5 (17F77) 不适合双系统
  17. 回溯法解决力扣79题单词搜索
  18. 为什么要学网络爬虫?我来告诉你!
  19. 北京2008奥运会门票到手
  20. DO、DTO、BO、AO、VO、POJO

热门文章

  1. php打印负载函数、Linux awk打印负载
  2. 【codeforces 765F】 Souvenirs
  3. todo:过几天熟悉下Github
  4. Spring 事情具体详尽的解释
  5. Win7中修改Chrome浏览器缓存文件目录
  6. 使用sprc097的DSP281x_usDelay.asm
  7. 利用线程下载网页中的程序并另存到本地
  8. Golang库学习笔记 Gin(一)
  9. Python学习笔记:Day 6 配置文件
  10. CUDA: GPU高性能运算